This file just lists the more notable headline features. For more detailed info\r
about minor changes and bugfixes, please see the git log!
+Version 4.3.0
+ - Added API and examples for ROLI Blocks
+ - Multiple Projucer live-build UI and diagnostics improvements
+ - JUCE now supports hosting multi-bus plug-ins
+ - BufferingAudioSource now supports pre-buffering (useful for offline processing)
+ - Added microphone permissions switch to Projucer for iOS targets
+ - Standalone wrappers now correctly save and restore midi settings
+ - Various performance improvements to BigInteger
+ - Fixed various FlexBox bugs
+ - Added a workaround for the broken “Open Recent…” menu on os x
+ - Various minor improvements and bug fixes
+ - Various documentation improvements
+
Version 4.2.4
- Pre-release of live build engine on Windows
- Added FlexBox layout engine
buildVST="1" buildVST3="1" buildAU="0" buildAUv3="1" buildRTAS="0"\r
buildAAX="0" pluginName="AUv3 Synth" pluginDesc="AUv3 Synth"\r
pluginManufacturer="ROLI Ltd." pluginManufacturerCode="ROLI"\r
- pluginCode="AUv3" pluginChannelConfigs="{0,2}" pluginIsSynth="1"\r
- pluginWantsMidiIn="1" pluginProducesMidiOut="0" pluginIsMidiEffectPlugin="0"\r
- pluginEditorRequiresKeys="0" pluginAUExportPrefix="AUv3SynthAU"\r
- pluginRTASCategory="" aaxIdentifier="com.roli.development.AUv3Synth"\r
- pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.2.4"\r
+ pluginCode="AUv3" pluginChannelConfigs="" pluginIsSynth="1" pluginWantsMidiIn="1"\r
+ pluginProducesMidiOut="0" pluginIsMidiEffectPlugin="0" pluginEditorRequiresKeys="0"\r
+ pluginAUExportPrefix="AUv3SynthAU" pluginRTASCategory="" aaxIdentifier="com.roli.development.AUv3Synth"\r
+ pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.3.0"\r
buildStandalone="1">\r
<MAINGROUP id="h0gx6L" name="AUv3Synth">\r
<GROUP id="{9DC59668-E6DF-876C-EB58-DDA88D152162}" name="Source">\r
0470F8A85B927F530A374CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
04AD581DA72D441C50F4D53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
04CDFCB4FF06CA7E1B0CC260 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
- 05206E536544288B1DFC3EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
0527F8D9C84F850B9E2F794C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; };
053838409E82E7D7722F7404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
0589532FD9A73AE783AEAFF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
05C14DEEE0E3BDC4049484B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode1.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp"; sourceTree = "SOURCE_ROOT"; };
06580FB07A43DEC6C8295BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; };
066F37651C7F3792917C2F8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
- 068109EA4981DB342942D174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; };
0737F61AF723FA62458B92BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
0762DCD2200EC064A17AC77F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; };
07731AE3B779E9D7B560C394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
0F423E99E9C1741395CC5CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; };
0F4A16CC370A9921C1CDB847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; };
0F74F021243AF898305447F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0F89D49F6AF8416F06CB6AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
0FB29BBC0B65633627478BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
0FBF33EFF911E926019DA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
0FD0A1A31985ABBBF0ABACA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
120DA52B14963529AF23E4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
121DD39EAA6066F411B049A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
1238631934643787E27DDC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; };
- 12395B6A3CDDE856FC5BFD75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
124B7F7DCCBA4A3800DC1D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
1262858B812AF94882629B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; };
1267F1B5D02A74861F4F135C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; };
16F4A8C0228D84216A33B9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
170409D99808EC4EADC66EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
1770847B9C9E2A0FD1D9A9E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.h"; sourceTree = "SOURCE_ROOT"; };
- 17968A543385166D4392F171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
17D44D834820845D7F4BCB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
17EE88F0A67B5FD24182345A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
185A5E99EFDAB0E1ED5467F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
1D38916035F0926B751035DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
1D41BDC83BEC3BE9E70582B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
1D772DFC77232B7D46E3C8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ 1DA68AA42A4166023C607212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
1DE41A53AABA7D76432B567F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
1E13310D81E44B4523CA8DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; };
1E81FFB8798BCB6C6E8C82C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; };
2848850DAEB041C2F46DFD3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
287FEF430637D5D41AE18E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
289018CF30BEAFA4668549AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 28E0606391F590E92822C05D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
294C4939CFE14D6AC97FFB13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
296CD54575ED27C23A2F13F3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; };
297BC989416D63FB30AE4C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
30CDFDC04232575AE7A491F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; };
3109815D5D597AE3707A13EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
315EF8CC3690B1426EB92087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 317411201FD523F473526AC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
317A2F549752C6765A3675CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
31A18092A539E3763FBAEC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
323F56F4C398D57CA7910CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
3CA7CE7F3D18ED267686C692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; sourceTree = "SOURCE_ROOT"; };
3CCBF30007C57491CF649D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
3CF1BFA42E09BA635804012C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3CFA00267B569DE2C24D38C6 = {isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = "../../../../modules/juce_audio_plugin_client/AUResources.r"; sourceTree = "SOURCE_ROOT"; };
3D850D7C81C79515EA35D833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
3D99E812E5A31F89576AFD48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
3DAF5957533C9C8011332F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3E76A3788CAAB12560CB4517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
3EBDB41A4AA8C71BB089DD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
3EF9DAAD65875B7A36AE3144 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
3F0F5BDD3B7B6493257DBE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; };
41597045D1A6BBFA3575385A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.h"; sourceTree = "SOURCE_ROOT"; };
41B060EA2FB09001DC1C31C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
42398E999B0A850DFF901952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
- 42EB20660BAF846855D9EF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
42FBFC4A0B7FBAF97377A64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
4350481545B0B7094C507415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
43913D411C0ACFCA2E8B8CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; };
5BD489426A79208B9CE6F3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
5BEC401034FECC5A84CF911C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
5CD7B7469B5384EA47491D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 5CE9D568B99FBD7774D02709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
5D27245879F65DC9C3DB15FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; };
5D4C79A914D3D6297D605D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; };
5DAB08505A14E46FF7BF3B1D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
5FE4811A1F224B9DC3F0751D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
600E363997E4D34382349626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
602803D62DD249B1F47FC0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 60939C019D9E16BCC7466059 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
60F11ABAC12D373D4BFEA447 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
614288645B28D868DD5CEC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
620C6E08CB86054EDC64784F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
6318EF76B203CDAE12E81206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; };
6319F4BF677E067041B5467C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
631CF9C6700114D898AEC1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ 6322FAB136AA0CC688F44ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
63626AB59BC4BD66A0A6482B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; };
63AAC659ED6461E93DE1C15D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
63AFF514CAE6FB89A3503CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
70953E41B294DDA5B34B4E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
70C59918BAE3E3379AA1A53C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; };
7179ABD196CCA6EF524FAA44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; };
- 7195EEB1FB735453359D1893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
71A5014C5547E43A0EE58252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
71D1D8E256A7FD110F7EAC6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
71D26F219C2EE5B5F92F3962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
79FF0A4C4E7239DBDC350A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; };
7A172478B945BDF97AFFBA0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
7A3E22B63496806947FC10A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A53F57CC60CF2CD4CA2D534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
7A73BDB9B30EB6AA268882EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; };
7A772485103B4848CD67493D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
7A7DC1C99D232DAD43C01146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; };
7D1F7E9BADEA63755327DAE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
7D2FEE652DDC90049F523828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
7D67149A7BE6BBB85FCB2CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
- 7DAEE56A9F7ABD354CABEAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
7E46D4C045D1A7060C7DE3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; };
7E53C9E87A3F9EBE4D454BA8 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; };
7E838C96F00848B2EE6E2F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
8905DE78626372768938A4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RTAS_DigiCode_Header.h"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h"; sourceTree = "SOURCE_ROOT"; };
89291F4775B82AD585F02515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; };
894DE965F10168F149FBE8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
- 8956FF8EFD34579BBCFD9B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
896386672033108CFE54FC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
8969D907950F902E7ACD9D6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
898C1353D8363C36C931ED62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
8C097DF0606C8FF6B60BEA38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
8C401B7DC61CF17EFD2F05D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
8C4B3098D7965AB352DD51F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
+ 8C6B5AE0A2215FC3F89A412C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
8C94129D8EEFEBD6B451F78F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; };
8CE01872FF8B37355E63991C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
8D030B4C002B429D9A9CF05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
8E29909B5886662F2EC3F5CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
8E61D5E0D6068F247E70219C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
8E7535A598BEC0FDFD346359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 8EBF4C1D0C0DA52F702618B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
8F3941CB0EBB70B37B7DB6DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
8F3C3474E9EB852A40B3A25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.h"; sourceTree = "SOURCE_ROOT"; };
8F3FC2A8E965AA4E83259DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8F401D45467D951DD3E3F810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
8FAE0E215D1E95E6CA7C58E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
8FC88FE9250C7A25AC724BEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
8FE4D93D82016AE0E952662F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; };
9146F18918C954121E932A8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; };
9198593E2E34D16752B90CD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
91D10BF1909D2B9C169E4493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
- 91F32F326BD577CD67AE20D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; };
92529B06E070A28F0C3C4914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; };
92723EFA7826236908D48AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.cpp"; sourceTree = "SOURCE_ROOT"; };
92BFAF31B51618764234C779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
A1CFD76549B8E9EB1C360ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
A1FA95A0AA37CD773ACBCE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; };
A2129507609CE7130FBA1340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; };
- A236B01D70F55D3570330B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
A29CEAB6F2F844C410B2F014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; };
A35BCEE1A423BE734BB3EC80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; };
A36C4D27B63C7395BBF9E1D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; };
A53855C517AD1588DBF87CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; };
A56060E773F77B3CA7DC3743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
A58103D78876730190F3BC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; };
+ A5CF02831B57F9C2AA254FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A6610B06B712DDE6F2A27290 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
A666509292D7F4C3B7F5B0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
A67C1F56AE76AD426797537F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; };
A7399999B1C3CE46C66268C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
ABEAE8C8B69A71C532DF770B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; };
ABF137A60BDB5810DCDD1E22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; };
AC223785E50A0284BAC9C879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; };
- AC36AEF9A7D94B5F50725E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; };
AC3D1C939D60CBB9F06E5195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; };
ACDA8668B39A102D419BD481 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; };
+ ACDCFB7C5CE966089DF7665E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AD228AE61929A94FFBE55CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.h"; sourceTree = "SOURCE_ROOT"; };
+ AD49758CCCDB81F781160518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; };
AD748818ED49AF2A6BF7AF0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMath.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMath.h"; sourceTree = "SOURCE_ROOT"; };
ADA10B57D3CACBF7CA3E7058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
ADEFBF282F9FF39E37862A73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; };
AE0F66472A7765041DD5F722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
AE1DD722E80713D6A2C820C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AU_Wrapper.mm"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AU_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; };
AE8270C49E4D0C9109CF8499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AE9CA003C4D379CB43E9CDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; sourceTree = "SOURCE_ROOT"; };
AF02093447674A2DBEFB7B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; };
AF575F9303D3AA5E410C274A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
B0015C46815CEB6E15236944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; };
- B1972B63AC71C03527E02534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; };
- B2CF7DCAD1C8871201A6CE26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
- B2F8C1DFA6A765EDB034399D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; };
- B3CA6447C345EE05F8B98195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
- B442A76A84E1800D10EE5954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
- B46C496B84C02A7F7D49B44F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlexBox.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp"; sourceTree = "SOURCE_ROOT"; };
- B48471A74A3A2BDA248931F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; };
- B5029BFA56B6E1BB5FB43BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- B58CC7A93DBB3706A60E9E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
- B5CD08BC33A8414D48F4CD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
- B6ABAD2ACC048C4DAB31CA27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
- B774AC9A00BFF63E24EA0646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
- B77F4A6EA1005BE4683A0DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
- B8622807DB0688A98F8C75E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; };
- BAA373F740C171EB1219D9B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; };
- BBD06432CC4155521050CD2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; };
- C12C3BDF0D24260675D88C04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
- E04216439C3A2AD69B69B520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
- F5E81FD99EFCB226D2486603 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AUv3Synth.vst; sourceTree = "BUILT_PRODUCTS_DIR"; };
- E4AB099F3E7A853F90FBFEEB = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AUv3Synth.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 746B19364297E7D489749B70 = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = AUv3Synth.appex; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 7CBEB55B80E78C9DE16A713A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
- 872D05BD56490FD7B375C11B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
- 8C9C38D32DB4D8BD543CA892 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
- A6610B06B712DDE6F2A27290 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
- AC3356631ED2AC043BC67B79 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
- ACDCFB7C5CE966089DF7665E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
- AD228AE61929A94FFBE55CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAtomicStack.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAtomicStack.h"; sourceTree = "SOURCE_ROOT"; };
- AD49758CCCDB81F781160518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; };
- AE9CA003C4D379CB43E9CDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAException.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAException.h"; sourceTree = "SOURCE_ROOT"; };
B032D869039A2B845AAD274E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; };
B054CDFF33B17777FD1855BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
B05EC8A81DA162236663A8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
B0B4FAE3EA49CE2AE0074204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
B0E5392688FD05700AFA0569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; };
B19103A5C4E54D5ABB50F27F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; };
- B2A30D3171F293ECE50DC06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B1972B63AC71C03527E02534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; };
B2C885D79DF233E10656633A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ B2CF7DCAD1C8871201A6CE26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ B2F8C1DFA6A765EDB034399D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; };
B33097C6BA7E4793E7536BBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
B33E3A1B455B48F251A4EFEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
B3425236EBB43087A2C4AA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; };
B389D5350378076E0DF5DA6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; };
B3AED660CB964056A7063CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; };
+ B3CA6447C345EE05F8B98195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
+ B442A76A84E1800D10EE5954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
+ B46C496B84C02A7F7D49B44F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlexBox.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp"; sourceTree = "SOURCE_ROOT"; };
B4C32A6592E159751BD10360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; };
+ B5029BFA56B6E1BB5FB43BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
B585667FC1E99FE5C1E3F799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; };
+ B58CC7A93DBB3706A60E9E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
B5C3356C447E60F512C5E8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
B5CA4FEE0ADFDACCAF2FB017 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
+ B5CD08BC33A8414D48F4CD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
+ B6ABAD2ACC048C4DAB31CA27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
B6B3AF7688EF55A4FC61D5D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
B6EA3B412C6E73478C4D36AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
B77C48286D446F5C7BD4B76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ B77F4A6EA1005BE4683A0DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
B79F6D7A104EF67978CFFC4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; sourceTree = "SOURCE_ROOT"; };
B801E3F5A1C2992F592A0FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; };
B812C4A2809BB37D45F54A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
B8133580F67C0B95E1F36D4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
B85C9F9BF94FA8926EB9ACB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; };
- B986157ED5B0414CDF696C62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.h"; sourceTree = "SOURCE_ROOT"; };
B98F443DC0CE94BC13CC3D44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BAA373F740C171EB1219D9B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; };
BABAE6EE994D5EBDC4013AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ BB8432AE150D5AEB38808FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BBD06432CC4155521050CD2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; };
+ BD283419247CBA6C6DD2ADD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
+ BDDC593699182D1603163238 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BDEE5F6548D2980373C45F5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BF6BA28F41BA2A03D9325E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; };
+ BF764E314E4F6DD434BA711A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C12C3BDF0D24260675D88C04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C7BED13E38A3138A9D851FAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C9B7C5BD09A1486B2A10DA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; };
+ E04216439C3A2AD69B69B520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ F5AC725E091D3D7F8DD13F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
+ F5E81FD99EFCB226D2486603 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AUv3Synth.vst; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ E4AB099F3E7A853F90FBFEEB = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AUv3Synth.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 746B19364297E7D489749B70 = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = AUv3Synth.appex; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 7CBEB55B80E78C9DE16A713A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ 872D05BD56490FD7B375C11B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+ 8C9C38D32DB4D8BD543CA892 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
+ 91F32F326BD577CD67AE20D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ A236B01D70F55D3570330B44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
+ AC3356631ED2AC043BC67B79 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ AC36AEF9A7D94B5F50725E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ B2A30D3171F293ECE50DC06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B48471A74A3A2BDA248931F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; };
+ B774AC9A00BFF63E24EA0646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ B8622807DB0688A98F8C75E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; };
+ B986157ED5B0414CDF696C62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAHostTimeBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAHostTimeBase.h"; sourceTree = "SOURCE_ROOT"; };
BB1D6E0B0982D0590E8EC99F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
BB525259297D31B45CC624C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; };
- BB8432AE150D5AEB38808FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; };
BBB323B5DE53878F445064D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
BC2068C5203B2AA39EAE0C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
BCC48160464BC0DFCAD33792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; };
- BD283419247CBA6C6DD2ADD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
BD58CC09BA9FED0E9CACC97B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
BD95E66B6A4CDADCF0631707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.cpp"; sourceTree = "SOURCE_ROOT"; };
- BDDC593699182D1603163238 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
- BDEE5F6548D2980373C45F5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
BED2521A9CE66A6F1A5AE7F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
BED2D02D5F333084E058D678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- BF6BA28F41BA2A03D9325E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; };
BF6DA9258B6994A918D3EC38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
- BF764E314E4F6DD434BA711A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
C002FF4D43F9C779CB5B2B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
C0467549EAF92B8F6871EBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
C0B3C8CFE6B70EE5C8C483F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
C14EFFF60594E0BC2421DC0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
C1983ED4284CBEF3B5A427E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
C1D83773976CEDB413DB5E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; };
+ C1E4A7F5418639D70CB51F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
C1EFF2064480889DAC74D2D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
- C25203A01A84B7032A7774CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
C2DF4936EF95E5A32E71B755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
C3006C283C6F75269CE6295D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C33B60A01247DEBB6031E044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
C33E07D130FCBEF580F65F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
C383A0AB2662F2FCB802D61D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
C3ADBEBC9062404FEB0FB411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; };
C4BBB0A36D8C8E7D180247DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
C4FED4C2640C8615AB415884 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
C5075702583930AA69562983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexItem.h"; path = "../../../../modules/juce_gui_basics/layout/juce_FlexItem.h"; sourceTree = "SOURCE_ROOT"; };
- C50B7EF31D44D3B5E03CB4A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
C5A11A2A1F932F48A0D23E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; };
C5A2FC7A4569F1C242016136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
C5B2DDCFB6FEA46E4F97BBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
C5B66A2F03D08FC9CF0B9678 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
- C61EEED69EE6C34E5C64B729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
C639338DD5AF077DF5BF8361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
- C68283C8A9FA7CEC6AA6975C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
C6846316837E7D4578428945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; };
- C7BED13E38A3138A9D851FAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
C80FFBB5F1E2674B9DBC054B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
- C87B625D4AD4826BF9301E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
- C9407CAAB91ABCB83CD3F80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
C9494DFECDCD27C0815A6F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
- C9B7C5BD09A1486B2A10DA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; };
CA633B8B756E9E7826C8D173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
- CB23F9E24266013856B53BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
- CC32EDCC4709790EBBA55941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
+ CC155101953B89262C8B633C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CD44BCDC60998F9B56D816C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
+ CDE81ADB14F09742FBBA28E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CF344C62ABCBA9BAAB6ACFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
CFAFC86F4D25AB5A31DF3BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
D06C2B85E02F13F9B57DB1A9 = {isa = PBXFileReference; lastKnownFileType = image.png; name = power.png; path = ../../Source/BinaryData/power.png; sourceTree = "SOURCE_ROOT"; };
+ D34BDE3AF93D8CCE91C331AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D6979B0DD8E310EA2512B147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ D9D833D2912CC83006BD9FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
EC3DE1F504C76EEDDA7F2216 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AUv3Synth.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
9536B5A780A03F6BACB24144 = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAUv3Synth.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
- C1E4A7F5418639D70CB51F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ C25203A01A84B7032A7774CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
C61D176AAECFBC9A277EF2E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C61EEED69EE6C34E5C64B729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
C63541C14D518046922DF60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C68283C8A9FA7CEC6AA6975C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
+ C87B625D4AD4826BF9301E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
+ C9407CAAB91ABCB83CD3F80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ CB23F9E24266013856B53BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
CBA22CAB6770979BCCD18EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
CC14A34F66FDF9E12523CABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; };
- CC155101953B89262C8B633C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CC32EDCC4709790EBBA55941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
CD3ABE20AE524B92B9B6A6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
CD41042388657A558C93AD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
- CD44BCDC60998F9B56D816C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
- CDE81ADB14F09742FBBA28E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
CE491063B3EF486A263519F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
CE517EF86B0776BA9B27F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; sourceTree = "SOURCE_ROOT"; };
+ CE7E28DA6360B3B4BBCBFD04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
CF02DA80A8A515CE41B0C8F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; };
CF2F576CE0F6A185597C8D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
- CF344C62ABCBA9BAAB6ACFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
CF51659EBB00003E6CB20B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; };
CF6FA9D2F39F03FE2858F11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
CF7ECFB4AA9A00E103525840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
D19E20CCCD4790B2347D5B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D2436FFFE291F08409B1EEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; };
D264387115074C98CF251072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; };
- D34BDE3AF93D8CCE91C331AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
D36CD153A79988DA706EC9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
D399047CE27AA5B33FE37AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.cpp"; sourceTree = "SOURCE_ROOT"; };
D3D5C9CD534AB3AE61D7B09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.cpp"; sourceTree = "SOURCE_ROOT"; };
D5816478E1FBC9D296E78CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; };
D636983E7D4B5897EF493708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; };
D6670F0F52C7A439715B706F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
- D6979B0DD8E310EA2512B147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
D72A2819C390689ED5A58197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
D776C107490A52D250B8327B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
D7AD93F3A8FAFDBFDF1B5DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; };
D9B635DD89ED59E04DF326E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; };
D9B9854449877DBFC0C1CC3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; };
D9D057AE4FE642513602611B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
- D9D833D2912CC83006BD9FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
D9ED0926381D40DA1A66C26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
DA1AD416DB2E990AD25806AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; };
DA42AACD549E6C214EE09CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
F6EE58DFEF8FCDB46EF05A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
F720563676D4C9E4DE103144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
F7486AE29930A5D4019895BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp"; sourceTree = "SOURCE_ROOT"; };
- F7676EB62802B31B15689B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
F77C93B319FB7E23D69C8371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; };
F7B0BEEDF640444239AE37A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
F7B8C6AA3AEF025B6BFE5678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
8E3C833F5CCC3BD43C061796 = {isa = PBXGroup; children = (
DB89B006F28EC7A4ADDFE800, ); name = AUv3Synth; sourceTree = "<group>"; };
80EEC7BDC5E94E232E8EEF4D = {isa = PBXGroup; children = (
+ 8F401D45467D951DD3E3F810,
+ F5AC725E091D3D7F8DD13F08,
13DD37B2F314596BBC25A47D,
4D4252EF0D8D9BD4AFBB830A,
E04216439C3A2AD69B69B520,
7023A03BF8EE3F09E00C3B58,
0F09D4ED02A7966E01340C52,
7023A03BF8EE3F09E00C3B58, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- DB91C895CECA3D2809BA4C86 = {isa = PBXGroup; children = (
- C50B7EF31D44D3B5E03CB4A8,
- 42EB20660BAF846855D9EF4F,
- 7195EEB1FB735453359D1893, ); name = "audio_cd"; sourceTree = "<group>"; };
- 872B5416851318AB31A28A6C = {isa = PBXGroup; children = (
+ 950CF01E343EA200FEF40831 = {isa = PBXGroup; children = (
1A470B745FCC0020078807C0,
4350481545B0B7094C507415,
9B995FF1F1FD413ECBEA5F2C,
7ABF11ED9BB6CD5850ABF47A,
89291F4775B82AD585F02515,
5B56147E8E94C3969471E21F, ); name = "audio_io"; sourceTree = "<group>"; };
- ED621181CAE468EC6017188F = {isa = PBXGroup; children = (
+ B8B874433DFE010272536AF4 = {isa = PBXGroup; children = (
87181526B9C99144CBE4F8A8,
DFF6A93D460B71379FE3EAA2,
596DAF8986D6982B928C689C,
791714395C654D0B51DE22F8,
DF42DB861DD40B3EA519F49F,
FCCBE4511F7E02F7B995E179,
- 8956FF8EFD34579BBCFD9B88,
DEC3BDE099A6E8517815F464,
39B377C2D00BF8A2E9626DAA,
- 5CE9D568B99FBD7774D02709,
- 7DAEE56A9F7ABD354CABEAF1,
FE76EBBA1B01CCFB9341F30F,
38DEF9E87D9BE2944553DE14,
D1683E32F1EB634904CD7DE1,
13B17EB9291B9E5C95408C47,
- 12395B6A3CDDE856FC5BFD75,
- F7676EB62802B31B15689B14,
1A0498CEB99BA9719C85F11E,
A74FEFA1532B6951A0309828,
340A18A11EA701353DB28503, ); name = native; sourceTree = "<group>"; };
- 403F3699EAC8D74A2DDE3ECD = {isa = PBXGroup; children = (
+ EEDDB6F9479DA16C14625949 = {isa = PBXGroup; children = (
33D05902E14966A2708B7F61,
71D1D8E256A7FD110F7EAC6C,
9F91E161DF777F050B61B6BE,
D515546E71BD92C742D67905, ); name = sources; sourceTree = "<group>"; };
596BD0AE10AA6B1E7AC01F15 = {isa = PBXGroup; children = (
- DB91C895CECA3D2809BA4C86,
- 872B5416851318AB31A28A6C,
- ED621181CAE468EC6017188F,
+ 950CF01E343EA200FEF40831,
+ B8B874433DFE010272536AF4,
4E9F8390B66A81E234883BC0,
- 403F3699EAC8D74A2DDE3ECD,
+ EEDDB6F9479DA16C14625949,
BDDC593699182D1603163238,
2284A4597CF7AA4D2EFA7AC4,
58807388296D065DA8778E8A,
2CC92DEE105B69921A4BD036,
9329788543F0C6DA2B50BD72,
2CC92DEE105B69921A4BD036, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 988670913C41D72F28DFE34E = {isa = PBXGroup; children = (
+ BC8CB37BFD39D59EF5309301 = {isa = PBXGroup; children = (
98135B5CED6D00B04F8AD56C,
DC8F10CCAC55F7216F0304F9, ); name = AAX; sourceTree = "<group>"; };
FE2338066D80D87950BB4358 = {isa = PBXGroup; children = (
F8952FD62C839E34EBB043F6, ); name = CoreAudioUtilityClasses; sourceTree = "<group>"; };
A2BBDDDA694235612BDE9BD0 = {isa = PBXGroup; children = (
FE2338066D80D87950BB4358,
- 3E76A3788CAAB12560CB4517,
AE1DD722E80713D6A2C820C9,
2220D1078A2681D8AAF3563E, ); name = AU; sourceTree = "<group>"; };
- 618CCB6A21E8C032AF1D2BEB = {isa = PBXGroup; children = (
+ CCA0C52CA51321AE5F2F7788 = {isa = PBXGroup; children = (
8905DE78626372768938A4C0,
05C14DEEE0E3BDC4049484B5,
2FA12F7EBB9AC99A08FC1025,
DBA0B8703ED6A2CFF6E952A8,
2D4E5D168D18704BCB317DD8,
CF51659EBB00003E6CB20B66, ); name = RTAS; sourceTree = "<group>"; };
- E57F8E0940E0C2FB651C1534 = {isa = PBXGroup; children = (
+ EE2839CD585A070804E364C2 = {isa = PBXGroup; children = (
33B2FD7C625F65B132945522,
44E613EE8E541E69E6B8A449, ); name = Standalone; sourceTree = "<group>"; };
- 6E32D1C853DB168862215AF5 = {isa = PBXGroup; children = (
+ 6417F3B89043CAB29033BAEB = {isa = PBXGroup; children = (
30CDFDC04232575AE7A491F3,
F96C31890AED2B62C4E0E20A,
00A950F33C21C6688103E667,
676EBCF8F03E1FA1DD0694B0,
1A3355000573E6A083028E9A,
- 068109EA4981DB342942D174,
99AC2D0C2304F21B912FEC5B,
2F9011C34B50B11B6FFEDA7F,
EA8B1437F945AFED7BDF11DB, ); name = utility; sourceTree = "<group>"; };
- 666ACBAA58DBC0AD514A3CF9 = {isa = PBXGroup; children = (
+ FDD4EEDC39B2B0254F7FDC9D = {isa = PBXGroup; children = (
78DD966E73DF076A83FC1F2C,
6FA729EAB8A64447D81B36E9, ); name = VST; sourceTree = "<group>"; };
- 47BE374539E9FEBFEFDAD7E3 = {isa = PBXGroup; children = (
+ AC5EC0DFE9C8D133DD863F06 = {isa = PBXGroup; children = (
08D38FFAFF41735F36FD4BF9, ); name = VST3; sourceTree = "<group>"; };
E4D31720EE240DC9A75C9459 = {isa = PBXGroup; children = (
- 988670913C41D72F28DFE34E,
+ BC8CB37BFD39D59EF5309301,
A2BBDDDA694235612BDE9BD0,
- 618CCB6A21E8C032AF1D2BEB,
- E57F8E0940E0C2FB651C1534,
- 6E32D1C853DB168862215AF5,
- 666ACBAA58DBC0AD514A3CF9,
- 47BE374539E9FEBFEFDAD7E3,
+ CCA0C52CA51321AE5F2F7788,
+ EE2839CD585A070804E364C2,
+ 6417F3B89043CAB29033BAEB,
+ FDD4EEDC39B2B0254F7FDC9D,
+ AC5EC0DFE9C8D133DD863F06,
9EDB40D557C3BBB1CC63CF65,
26AE9472CE02F176A9513852,
03DE1C983B7DECDCC451C8F8,
9AA36A7E6CCDA68D308E0721,
683BC92E095F56916A11944D,
9EDB40D557C3BBB1CC63CF65, ); name = "juce_audio_plugin_client"; sourceTree = "<group>"; };
- EFF01DA4D6A309E350D8817E = {isa = PBXGroup; children = (
+ 8DFE4590E4A5D0428CBED51E = {isa = PBXGroup; children = (
257F4247EC175CCBFE996E55,
CF9EEC4A087AA9010D5D21A5,
212425D8E8CD86B224E3CC5A,
F04800D7F1A1E012E9A4AD15, ); name = format; sourceTree = "<group>"; };
- D3F4EA0C20451C8CCC107ADD = {isa = PBXGroup; children = (
+ 3BA765D45CF86B29DAD0A0A8 = {isa = PBXGroup; children = (
+ 7A53F57CC60CF2CD4CA2D534,
2010BCF7EE1A761168968EEF,
F5DC35A024D665725204B375,
3D850D7C81C79515EA35D833,
5F6BB197FA13DEB1F2260CC0,
387D55482BBDCBC351F2BECE,
B774AC9A00BFF63E24EA0646,
+ CE7E28DA6360B3B4BBCBFD04,
CFAF04B0DF40F2C81026ACD2,
87FC5378F4B65DBD11E62015,
E0FD3183237BAB53F14A4B92,
58461A95ADF95E35EE92161D, ); name = "format_types"; sourceTree = "<group>"; };
- 892DDB700F7596FA63D35453 = {isa = PBXGroup; children = (
- 17968A543385166D4392F171,
- 05206E536544288B1DFC3EC7,
+ FA53E57AB1B932AAECAE8BCF = {isa = PBXGroup; children = (
B0015C46815CEB6E15236944,
65980EFA3678AD71581BE381,
1BD4D7258F644BC3B343432E,
DC6A702F738F41B34B329097,
F7DD5C27835C2B5ECA00A7D2, ); name = utilities; sourceTree = "<group>"; };
0117D11B67D779E61A4F5529 = {isa = PBXGroup; children = (
- EFF01DA4D6A309E350D8817E,
- D3F4EA0C20451C8CCC107ADD,
- 892DDB700F7596FA63D35453,
+ 8DFE4590E4A5D0428CBED51E,
+ 3BA765D45CF86B29DAD0A0A8,
+ FA53E57AB1B932AAECAE8BCF,
A182EB609A9D088F6F00CE02,
93E4D725A79B28831619716C,
D5816478E1FBC9D296E78CFA,
D43BFA7F052E625E90F77C89,
BC2068C5203B2AA39EAE0C6A,
D43BFA7F052E625E90F77C89, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ BCC06570285BF222AE53F066 = {isa = PBXGroup; children = (
+ 8EBF4C1D0C0DA52F702618B8,
+ 6322FAB136AA0CC688F44ECF,
+ 60939C019D9E16BCC7466059, ); name = "audio_cd"; sourceTree = "<group>"; };
D520A1249F01164E2F9B5B33 = {isa = PBXGroup; children = (
6BD961F96723E92BFC0263D3,
8524CF106D2B7B1E08D312C8,
46770CCB22F02D7A094B6A5F = {isa = PBXGroup; children = (
7D2FEE652DDC90049F523828,
1AF82B1F138DE2C506FBBDAC,
+ A5CF02831B57F9C2AA254FBC,
E755606E63BE2C5558FFB353,
+ 8C6B5AE0A2215FC3F89A412C,
+ 28E0606391F590E92822C05D,
5019F297F4FE95D4F264E95D,
- B6EA3B412C6E73478C4D36AD, ); name = native; sourceTree = "<group>"; };
- C04506631EDC6C6706A8DDA8 = {isa = PBXGroup; children = (
+ B6EA3B412C6E73478C4D36AD,
+ 317411201FD523F473526AC6,
+ 0F89D49F6AF8416F06CB6AF7, ); name = native; sourceTree = "<group>"; };
+ EEA41425BF7D951F6810F9B5 = {isa = PBXGroup; children = (
F8662ECB8187DDFDB200B2A2,
- AC3D1C939D60CBB9F06E5195, ); name = players; sourceTree = "<group>"; };
+ AC3D1C939D60CBB9F06E5195,
+ 1DA68AA42A4166023C607212,
+ C33B60A01247DEBB6031E044, ); name = players; sourceTree = "<group>"; };
FBF7568E0A1FB934691CFB9B = {isa = PBXGroup; children = (
+ BCC06570285BF222AE53F066,
D520A1249F01164E2F9B5B33,
46770CCB22F02D7A094B6A5F,
- C04506631EDC6C6706A8DDA8,
+ EEA41425BF7D951F6810F9B5,
315EF8CC3690B1426EB92087,
63626AB59BC4BD66A0A6482B,
1F2B719F048195E9EE5372D0,
0470F8A85B927F530A374CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
04AD581DA72D441C50F4D53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
04CDFCB4FF06CA7E1B0CC260 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
- 05206E536544288B1DFC3EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
0527F8D9C84F850B9E2F794C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; };
053838409E82E7D7722F7404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
0589532FD9A73AE783AEAFF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
05C14DEEE0E3BDC4049484B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode1.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp"; sourceTree = "SOURCE_ROOT"; };
06580FB07A43DEC6C8295BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; };
066F37651C7F3792917C2F8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
- 068109EA4981DB342942D174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; };
0737F61AF723FA62458B92BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
0762DCD2200EC064A17AC77F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; };
07731AE3B779E9D7B560C394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
0F423E99E9C1741395CC5CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; };
0F4A16CC370A9921C1CDB847 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; };
0F74F021243AF898305447F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0F89D49F6AF8416F06CB6AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
0FB29BBC0B65633627478BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
0FBF33EFF911E926019DA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
0FD0A1A31985ABBBF0ABACA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
120DA52B14963529AF23E4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
121DD39EAA6066F411B049A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
1238631934643787E27DDC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; };
- 12395B6A3CDDE856FC5BFD75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
124B7F7DCCBA4A3800DC1D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
1262858B812AF94882629B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.cpp"; sourceTree = "SOURCE_ROOT"; };
1267F1B5D02A74861F4F135C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; };
16F4A8C0228D84216A33B9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
170409D99808EC4EADC66EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
1770847B9C9E2A0FD1D9A9E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CADebugMacros.h"; sourceTree = "SOURCE_ROOT"; };
- 17968A543385166D4392F171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
17D44D834820845D7F4BCB79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
17EE88F0A67B5FD24182345A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
185A5E99EFDAB0E1ED5467F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
1D38916035F0926B751035DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
1D41BDC83BEC3BE9E70582B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
1D772DFC77232B7D46E3C8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ 1DA68AA42A4166023C607212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
1DE41A53AABA7D76432B567F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
1E13310D81E44B4523CA8DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; };
1E81FFB8798BCB6C6E8C82C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; };
2848850DAEB041C2F46DFD3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
287FEF430637D5D41AE18E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
289018CF30BEAFA4668549AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 28E0606391F590E92822C05D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
294C4939CFE14D6AC97FFB13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
296CD54575ED27C23A2F13F3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; };
297BC989416D63FB30AE4C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
30CDFDC04232575AE7A491F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; };
3109815D5D597AE3707A13EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
315EF8CC3690B1426EB92087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 317411201FD523F473526AC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
317A2F549752C6765A3675CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
31A18092A539E3763FBAEC65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
323F56F4C398D57CA7910CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
3CA7CE7F3D18ED267686C692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; sourceTree = "SOURCE_ROOT"; };
3CCBF30007C57491CF649D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
3CF1BFA42E09BA635804012C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3CFA00267B569DE2C24D38C6 = {isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = "../../../../modules/juce_audio_plugin_client/AUResources.r"; sourceTree = "SOURCE_ROOT"; };
3D850D7C81C79515EA35D833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
3D99E812E5A31F89576AFD48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
3DAF5957533C9C8011332F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3E76A3788CAAB12560CB4517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
3EBDB41A4AA8C71BB089DD65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
3EF9DAAD65875B7A36AE3144 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
3F0F5BDD3B7B6493257DBE72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; };
41597045D1A6BBFA3575385A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.h"; sourceTree = "SOURCE_ROOT"; };
41B060EA2FB09001DC1C31C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
42398E999B0A850DFF901952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
- 42EB20660BAF846855D9EF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
42FBFC4A0B7FBAF97377A64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
4350481545B0B7094C507415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
43913D411C0ACFCA2E8B8CFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; };
5BD489426A79208B9CE6F3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
5BEC401034FECC5A84CF911C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
5CD7B7469B5384EA47491D9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 5CE9D568B99FBD7774D02709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
5D27245879F65DC9C3DB15FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; };
5D4C79A914D3D6297D605D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; };
5DC8D5FAFEC3E8BA40B3D440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
5FE4811A1F224B9DC3F0751D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
600E363997E4D34382349626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
602803D62DD249B1F47FC0DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 60939C019D9E16BCC7466059 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
60F11ABAC12D373D4BFEA447 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
614288645B28D868DD5CEC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
620C6E08CB86054EDC64784F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
6318EF76B203CDAE12E81206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; };
6319F4BF677E067041B5467C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
631CF9C6700114D898AEC1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ 6322FAB136AA0CC688F44ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
63626AB59BC4BD66A0A6482B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; };
63AAC659ED6461E93DE1C15D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
63AFF514CAE6FB89A3503CEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
70953E41B294DDA5B34B4E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
70C59918BAE3E3379AA1A53C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; };
7179ABD196CCA6EF524FAA44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; };
- 7195EEB1FB735453359D1893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
71A5014C5547E43A0EE58252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
71D1D8E256A7FD110F7EAC6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
71D26F219C2EE5B5F92F3962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
79FF0A4C4E7239DBDC350A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; };
7A172478B945BDF97AFFBA0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
7A3E22B63496806947FC10A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A53F57CC60CF2CD4CA2D534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
7A73BDB9B30EB6AA268882EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; };
7A772485103B4848CD67493D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
7A7DC1C99D232DAD43C01146 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; };
7D1F7E9BADEA63755327DAE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
7D2FEE652DDC90049F523828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
7D67149A7BE6BBB85FCB2CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
- 7DAEE56A9F7ABD354CABEAF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
7E46D4C045D1A7060C7DE3D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; };
7E838C96F00848B2EE6E2F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
7F1746052D09CD80BDB28BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; };
8905DE78626372768938A4C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RTAS_DigiCode_Header.h"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h"; sourceTree = "SOURCE_ROOT"; };
89291F4775B82AD585F02515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; };
894DE965F10168F149FBE8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
- 8956FF8EFD34579BBCFD9B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
896386672033108CFE54FC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
8969D907950F902E7ACD9D6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
898C1353D8363C36C931ED62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
8C097DF0606C8FF6B60BEA38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
8C401B7DC61CF17EFD2F05D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
8C4B3098D7965AB352DD51F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
+ 8C6B5AE0A2215FC3F89A412C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
8C94129D8EEFEBD6B451F78F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; };
8CE01872FF8B37355E63991C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
8D030B4C002B429D9A9CF05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
8E29909B5886662F2EC3F5CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
8E61D5E0D6068F247E70219C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
8E7535A598BEC0FDFD346359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 8EBF4C1D0C0DA52F702618B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
8F3941CB0EBB70B37B7DB6DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
8F3C3474E9EB852A40B3A25B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.h"; sourceTree = "SOURCE_ROOT"; };
8F3FC2A8E965AA4E83259DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8F401D45467D951DD3E3F810 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
8FAE0E215D1E95E6CA7C58E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
8FC88FE9250C7A25AC724BEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
8FE4D93D82016AE0E952662F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; };
A53855C517AD1588DBF87CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; };
A56060E773F77B3CA7DC3743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
A58103D78876730190F3BC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; };
+ A5CF02831B57F9C2AA254FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
A6610B06B712DDE6F2A27290 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
A666509292D7F4C3B7F5B0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
A67C1F56AE76AD426797537F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; };
C14EFFF60594E0BC2421DC0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
C1983ED4284CBEF3B5A427E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
C1D83773976CEDB413DB5E5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; };
+ C1E4A7F5418639D70CB51F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
C1EFF2064480889DAC74D2D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
C25203A01A84B7032A7774CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
C2DF4936EF95E5A32E71B755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
C3006C283C6F75269CE6295D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C33B60A01247DEBB6031E044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
C33E07D130FCBEF580F65F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
C383A0AB2662F2FCB802D61D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
C3ADBEBC9062404FEB0FB411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; };
C478ECA66D2FDB2303FDC140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; };
C4BBB0A36D8C8E7D180247DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
C5075702583930AA69562983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexItem.h"; path = "../../../../modules/juce_gui_basics/layout/juce_FlexItem.h"; sourceTree = "SOURCE_ROOT"; };
- C50B7EF31D44D3B5E03CB4A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
C5A11A2A1F932F48A0D23E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterBool.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterBool.h"; sourceTree = "SOURCE_ROOT"; };
C5A2FC7A4569F1C242016136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
C5B2DDCFB6FEA46E4F97BBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
C61D176AAECFBC9A277EF2E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C61EEED69EE6C34E5C64B729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
+ C63541C14D518046922DF60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
C639338DD5AF077DF5BF8361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
C68283C8A9FA7CEC6AA6975C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
C6846316837E7D4578428945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; };
C9494DFECDCD27C0815A6F17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
C9B7C5BD09A1486B2A10DA8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; };
CA633B8B756E9E7826C8D173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ CB23F9E24266013856B53BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ CBA22CAB6770979BCCD18EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
CC14A34F66FDF9E12523CABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AUv3.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AUv3.mm"; sourceTree = "SOURCE_ROOT"; };
CC155101953B89262C8B633C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CC32EDCC4709790EBBA55941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
CD3ABE20AE524B92B9B6A6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
CD41042388657A558C93AD86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
CD44BCDC60998F9B56D816C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
+ CDE81ADB14F09742FBBA28E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CE491063B3EF486A263519F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
+ CE517EF86B0776BA9B27F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; sourceTree = "SOURCE_ROOT"; };
+ CE7E28DA6360B3B4BBCBFD04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
CF02DA80A8A515CE41B0C8F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; };
CF2F576CE0F6A185597C8D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
CF344C62ABCBA9BAAB6ACFA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
CF51659EBB00003E6CB20B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; };
- D03583C1CA01284B5781955E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; };
- D06C2B85E02F13F9B57DB1A9 = {isa = PBXFileReference; lastKnownFileType = image.png; name = power.png; path = ../../Source/BinaryData/power.png; sourceTree = "SOURCE_ROOT"; };
- D0A4E2C5F2B21172DE13DE0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
- D1683E32F1EB634904CD7DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; };
- D515546E71BD92C742D67905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
- DAF78E342ACF24B5A83E0605 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
- EC3DE1F504C76EEDDA7F2216 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AUv3Synth.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 9536B5A780A03F6BACB24144 = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAUv3Synth.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
- C1E4A7F5418639D70CB51F0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
- C61EEED69EE6C34E5C64B729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
- C63541C14D518046922DF60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
- CB23F9E24266013856B53BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
- CBA22CAB6770979BCCD18EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
- CC32EDCC4709790EBBA55941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
- CDE81ADB14F09742FBBA28E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- CE491063B3EF486A263519F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
- CE517EF86B0776BA9B27F3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUTimestampGenerator.h"; sourceTree = "SOURCE_ROOT"; };
CF6FA9D2F39F03FE2858F11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
CF7ECFB4AA9A00E103525840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
CF9EEC4A087AA9010D5D21A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
CFAF04B0DF40F2C81026ACD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTInterface.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTInterface.h"; sourceTree = "SOURCE_ROOT"; };
CFAFC86F4D25AB5A31DF3BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
CFFC609186B1EE226ACEBD2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D03583C1CA01284B5781955E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; };
D0584D8F725E0D7E61F830F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; };
+ D06C2B85E02F13F9B57DB1A9 = {isa = PBXFileReference; lastKnownFileType = image.png; name = power.png; path = ../../Source/BinaryData/power.png; sourceTree = "SOURCE_ROOT"; };
+ D0A4E2C5F2B21172DE13DE0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
D0ECDC7390CA390D69946652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; };
+ D1683E32F1EB634904CD7DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; };
D19E20CCCD4790B2347D5B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D2436FFFE291F08409B1EEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; };
D264387115074C98CF251072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; };
D48932C6554B443ECB71DC87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
D4A4555171F923D744B1FDF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; };
D4C0852C1C54EDA5D4F82EB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
+ D515546E71BD92C742D67905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
D557AAD12557BF1706441B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
D5797410CEE0E8D2E03D98F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
D57DF4F024A84881420586E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
D776C107490A52D250B8327B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
D7AD93F3A8FAFDBFDF1B5DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; };
D7CDE24FD157D0DF359E9D8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
- D7F0DF2B23660D1E12432C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; };
D8064ADD700D012E11CE5FE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
D8377F0256B80E157C3A6563 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
D87ED789DA527A749E7310E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; };
DA4E0EA3EB80BE34F9047E72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
DACA6E5A3CE684EC649F31B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
DAEE812EF95F96E7D65D875F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
+ DAF78E342ACF24B5A83E0605 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
DB216D8107F0BBBBD3F2B0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; };
DB3A7C49C8444BD2F57B6689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
- DB43ED26DBABD0BC17385E6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; };
DBA0B8703ED6A2CFF6E952A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_RTAS_MacUtilities.mm"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm"; sourceTree = "SOURCE_ROOT"; };
DBC04DFB6E9667DCA1BC83E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
DC12C0A592BCA7A9FCE348BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; };
DC18200A3CD14E988426420C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DC6A702F738F41B34B329097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DC6E859FF89B5A3C9BAFE19F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; };
+ DCEA692A420A94DE110CC07D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
+ DE76DD99A5E06C01C57957A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; };
+ DEC24A286A1DEF26BE35CC20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; };
+ DEC3BDE099A6E8517815F464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DF42DB861DD40B3EA519F49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E04216439C3A2AD69B69B520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ EC3DE1F504C76EEDDA7F2216 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AUv3Synth.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 9536B5A780A03F6BACB24144 = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libAUv3Synth.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ D7F0DF2B23660D1E12432C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ DB43ED26DBABD0BC17385E6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; };
DC1C558103B4D458A6CA037C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; };
DC235ECDD76E245939C49092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
DC60BA9AC2BA5D2C3B5C3001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; };
- DC6A702F738F41B34B329097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; };
- DC6E859FF89B5A3C9BAFE19F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; };
DC8F10CCAC55F7216F0304F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AAX_Wrapper.cpp"; path = "../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; };
DCAE9F130E3E70FA100BEE16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
- DCEA692A420A94DE110CC07D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
DCF51EBC4D12F196EEB28FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; };
DD0F106B173A73C954D57AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewBase.h"; sourceTree = "SOURCE_ROOT"; };
DD9FC19B24786726D89345A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; };
DDAFBE2B2CD98044F75A248F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; sourceTree = "SOURCE_ROOT"; };
DE4E9ED582AC16303C8C72EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; };
- DE76DD99A5E06C01C57957A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; };
DEAD87726738781A25EBCFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
- DEC24A286A1DEF26BE35CC20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; };
- DEC3BDE099A6E8517815F464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
DEC63BC653D0F918D0721CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
DF2A14735E2EC0F986E3ED6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
- DF42DB861DD40B3EA519F49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
DF851414C38482D7EF5C63D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
DFA88B30E3041E9BC8150FCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
DFE5FACFB131FF766CE6DEEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
DFF6A93D460B71379FE3EAA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; };
E0260479B3C2CAF8477026FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; };
E03AA585A375A39A9BFF3DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; };
- E04216439C3A2AD69B69B520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
E0484E5F0994D64013F4EEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
E09404F45899AA1E82CFC21C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
E0B49BAB1C8D7341A6E142B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; };
F568A91391DB3F0F2412E8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; };
F573DFC580053C77E74FA042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
F577D0F9FA7DA3AB114E69F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; };
+ F5AC725E091D3D7F8DD13F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
F5DC35A024D665725204B375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; };
F5E8E9C083E0933E6FB6CC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
F60276DF99D86FCE8A565BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; };
F6EE58DFEF8FCDB46EF05A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
F720563676D4C9E4DE103144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
F7486AE29930A5D4019895BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp"; sourceTree = "SOURCE_ROOT"; };
- F7676EB62802B31B15689B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
F77C93B319FB7E23D69C8371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; };
F7B0BEEDF640444239AE37A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
F7B8C6AA3AEF025B6BFE5678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
8E3C833F5CCC3BD43C061796 = {isa = PBXGroup; children = (
DB89B006F28EC7A4ADDFE800, ); name = AUv3Synth; sourceTree = "<group>"; };
80EEC7BDC5E94E232E8EEF4D = {isa = PBXGroup; children = (
+ 8F401D45467D951DD3E3F810,
+ F5AC725E091D3D7F8DD13F08,
13DD37B2F314596BBC25A47D,
4D4252EF0D8D9BD4AFBB830A,
E04216439C3A2AD69B69B520,
7023A03BF8EE3F09E00C3B58,
0F09D4ED02A7966E01340C52,
7023A03BF8EE3F09E00C3B58, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- DB91C895CECA3D2809BA4C86 = {isa = PBXGroup; children = (
- C50B7EF31D44D3B5E03CB4A8,
- 42EB20660BAF846855D9EF4F,
- 7195EEB1FB735453359D1893, ); name = "audio_cd"; sourceTree = "<group>"; };
- 872B5416851318AB31A28A6C = {isa = PBXGroup; children = (
+ 950CF01E343EA200FEF40831 = {isa = PBXGroup; children = (
1A470B745FCC0020078807C0,
4350481545B0B7094C507415,
9B995FF1F1FD413ECBEA5F2C,
7ABF11ED9BB6CD5850ABF47A,
89291F4775B82AD585F02515,
5B56147E8E94C3969471E21F, ); name = "audio_io"; sourceTree = "<group>"; };
- ED621181CAE468EC6017188F = {isa = PBXGroup; children = (
+ B8B874433DFE010272536AF4 = {isa = PBXGroup; children = (
87181526B9C99144CBE4F8A8,
DFF6A93D460B71379FE3EAA2,
596DAF8986D6982B928C689C,
791714395C654D0B51DE22F8,
DF42DB861DD40B3EA519F49F,
FCCBE4511F7E02F7B995E179,
- 8956FF8EFD34579BBCFD9B88,
DEC3BDE099A6E8517815F464,
39B377C2D00BF8A2E9626DAA,
- 5CE9D568B99FBD7774D02709,
- 7DAEE56A9F7ABD354CABEAF1,
FE76EBBA1B01CCFB9341F30F,
38DEF9E87D9BE2944553DE14,
D1683E32F1EB634904CD7DE1,
13B17EB9291B9E5C95408C47,
- 12395B6A3CDDE856FC5BFD75,
- F7676EB62802B31B15689B14,
1A0498CEB99BA9719C85F11E,
A74FEFA1532B6951A0309828,
340A18A11EA701353DB28503, ); name = native; sourceTree = "<group>"; };
- 403F3699EAC8D74A2DDE3ECD = {isa = PBXGroup; children = (
+ EEDDB6F9479DA16C14625949 = {isa = PBXGroup; children = (
33D05902E14966A2708B7F61,
71D1D8E256A7FD110F7EAC6C,
9F91E161DF777F050B61B6BE,
D515546E71BD92C742D67905, ); name = sources; sourceTree = "<group>"; };
596BD0AE10AA6B1E7AC01F15 = {isa = PBXGroup; children = (
- DB91C895CECA3D2809BA4C86,
- 872B5416851318AB31A28A6C,
- ED621181CAE468EC6017188F,
+ 950CF01E343EA200FEF40831,
+ B8B874433DFE010272536AF4,
4E9F8390B66A81E234883BC0,
- 403F3699EAC8D74A2DDE3ECD,
+ EEDDB6F9479DA16C14625949,
BDDC593699182D1603163238,
2284A4597CF7AA4D2EFA7AC4,
58807388296D065DA8778E8A,
2CC92DEE105B69921A4BD036,
9329788543F0C6DA2B50BD72,
2CC92DEE105B69921A4BD036, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 988670913C41D72F28DFE34E = {isa = PBXGroup; children = (
+ BC8CB37BFD39D59EF5309301 = {isa = PBXGroup; children = (
98135B5CED6D00B04F8AD56C,
DC8F10CCAC55F7216F0304F9, ); name = AAX; sourceTree = "<group>"; };
FE2338066D80D87950BB4358 = {isa = PBXGroup; children = (
F8952FD62C839E34EBB043F6, ); name = CoreAudioUtilityClasses; sourceTree = "<group>"; };
A2BBDDDA694235612BDE9BD0 = {isa = PBXGroup; children = (
FE2338066D80D87950BB4358,
- 3E76A3788CAAB12560CB4517,
AE1DD722E80713D6A2C820C9,
2220D1078A2681D8AAF3563E, ); name = AU; sourceTree = "<group>"; };
- 618CCB6A21E8C032AF1D2BEB = {isa = PBXGroup; children = (
+ CCA0C52CA51321AE5F2F7788 = {isa = PBXGroup; children = (
8905DE78626372768938A4C0,
05C14DEEE0E3BDC4049484B5,
2FA12F7EBB9AC99A08FC1025,
DBA0B8703ED6A2CFF6E952A8,
2D4E5D168D18704BCB317DD8,
CF51659EBB00003E6CB20B66, ); name = RTAS; sourceTree = "<group>"; };
- E57F8E0940E0C2FB651C1534 = {isa = PBXGroup; children = (
+ EE2839CD585A070804E364C2 = {isa = PBXGroup; children = (
33B2FD7C625F65B132945522,
44E613EE8E541E69E6B8A449, ); name = Standalone; sourceTree = "<group>"; };
- 6E32D1C853DB168862215AF5 = {isa = PBXGroup; children = (
+ 6417F3B89043CAB29033BAEB = {isa = PBXGroup; children = (
30CDFDC04232575AE7A491F3,
F96C31890AED2B62C4E0E20A,
00A950F33C21C6688103E667,
676EBCF8F03E1FA1DD0694B0,
1A3355000573E6A083028E9A,
- 068109EA4981DB342942D174,
99AC2D0C2304F21B912FEC5B,
2F9011C34B50B11B6FFEDA7F,
EA8B1437F945AFED7BDF11DB, ); name = utility; sourceTree = "<group>"; };
- 666ACBAA58DBC0AD514A3CF9 = {isa = PBXGroup; children = (
+ FDD4EEDC39B2B0254F7FDC9D = {isa = PBXGroup; children = (
78DD966E73DF076A83FC1F2C,
6FA729EAB8A64447D81B36E9, ); name = VST; sourceTree = "<group>"; };
- 47BE374539E9FEBFEFDAD7E3 = {isa = PBXGroup; children = (
+ AC5EC0DFE9C8D133DD863F06 = {isa = PBXGroup; children = (
08D38FFAFF41735F36FD4BF9, ); name = VST3; sourceTree = "<group>"; };
E4D31720EE240DC9A75C9459 = {isa = PBXGroup; children = (
- 988670913C41D72F28DFE34E,
+ BC8CB37BFD39D59EF5309301,
A2BBDDDA694235612BDE9BD0,
- 618CCB6A21E8C032AF1D2BEB,
- E57F8E0940E0C2FB651C1534,
- 6E32D1C853DB168862215AF5,
- 666ACBAA58DBC0AD514A3CF9,
- 47BE374539E9FEBFEFDAD7E3,
+ CCA0C52CA51321AE5F2F7788,
+ EE2839CD585A070804E364C2,
+ 6417F3B89043CAB29033BAEB,
+ FDD4EEDC39B2B0254F7FDC9D,
+ AC5EC0DFE9C8D133DD863F06,
9EDB40D557C3BBB1CC63CF65,
26AE9472CE02F176A9513852,
03DE1C983B7DECDCC451C8F8,
9AA36A7E6CCDA68D308E0721,
683BC92E095F56916A11944D,
9EDB40D557C3BBB1CC63CF65, ); name = "juce_audio_plugin_client"; sourceTree = "<group>"; };
- EFF01DA4D6A309E350D8817E = {isa = PBXGroup; children = (
+ 8DFE4590E4A5D0428CBED51E = {isa = PBXGroup; children = (
257F4247EC175CCBFE996E55,
CF9EEC4A087AA9010D5D21A5,
212425D8E8CD86B224E3CC5A,
F04800D7F1A1E012E9A4AD15, ); name = format; sourceTree = "<group>"; };
- D3F4EA0C20451C8CCC107ADD = {isa = PBXGroup; children = (
+ 3BA765D45CF86B29DAD0A0A8 = {isa = PBXGroup; children = (
+ 7A53F57CC60CF2CD4CA2D534,
2010BCF7EE1A761168968EEF,
F5DC35A024D665725204B375,
3D850D7C81C79515EA35D833,
5F6BB197FA13DEB1F2260CC0,
387D55482BBDCBC351F2BECE,
B774AC9A00BFF63E24EA0646,
+ CE7E28DA6360B3B4BBCBFD04,
CFAF04B0DF40F2C81026ACD2,
87FC5378F4B65DBD11E62015,
E0FD3183237BAB53F14A4B92,
58461A95ADF95E35EE92161D, ); name = "format_types"; sourceTree = "<group>"; };
- 892DDB700F7596FA63D35453 = {isa = PBXGroup; children = (
- 17968A543385166D4392F171,
- 05206E536544288B1DFC3EC7,
+ FA53E57AB1B932AAECAE8BCF = {isa = PBXGroup; children = (
B0015C46815CEB6E15236944,
65980EFA3678AD71581BE381,
1BD4D7258F644BC3B343432E,
DC6A702F738F41B34B329097,
F7DD5C27835C2B5ECA00A7D2, ); name = utilities; sourceTree = "<group>"; };
0117D11B67D779E61A4F5529 = {isa = PBXGroup; children = (
- EFF01DA4D6A309E350D8817E,
- D3F4EA0C20451C8CCC107ADD,
- 892DDB700F7596FA63D35453,
+ 8DFE4590E4A5D0428CBED51E,
+ 3BA765D45CF86B29DAD0A0A8,
+ FA53E57AB1B932AAECAE8BCF,
A182EB609A9D088F6F00CE02,
93E4D725A79B28831619716C,
D5816478E1FBC9D296E78CFA,
D43BFA7F052E625E90F77C89,
BC2068C5203B2AA39EAE0C6A,
D43BFA7F052E625E90F77C89, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ BCC06570285BF222AE53F066 = {isa = PBXGroup; children = (
+ 8EBF4C1D0C0DA52F702618B8,
+ 6322FAB136AA0CC688F44ECF,
+ 60939C019D9E16BCC7466059, ); name = "audio_cd"; sourceTree = "<group>"; };
D520A1249F01164E2F9B5B33 = {isa = PBXGroup; children = (
6BD961F96723E92BFC0263D3,
8524CF106D2B7B1E08D312C8,
46770CCB22F02D7A094B6A5F = {isa = PBXGroup; children = (
7D2FEE652DDC90049F523828,
1AF82B1F138DE2C506FBBDAC,
+ A5CF02831B57F9C2AA254FBC,
E755606E63BE2C5558FFB353,
+ 8C6B5AE0A2215FC3F89A412C,
+ 28E0606391F590E92822C05D,
5019F297F4FE95D4F264E95D,
- B6EA3B412C6E73478C4D36AD, ); name = native; sourceTree = "<group>"; };
- C04506631EDC6C6706A8DDA8 = {isa = PBXGroup; children = (
+ B6EA3B412C6E73478C4D36AD,
+ 317411201FD523F473526AC6,
+ 0F89D49F6AF8416F06CB6AF7, ); name = native; sourceTree = "<group>"; };
+ EEA41425BF7D951F6810F9B5 = {isa = PBXGroup; children = (
F8662ECB8187DDFDB200B2A2,
- AC3D1C939D60CBB9F06E5195, ); name = players; sourceTree = "<group>"; };
+ AC3D1C939D60CBB9F06E5195,
+ 1DA68AA42A4166023C607212,
+ C33B60A01247DEBB6031E044, ); name = players; sourceTree = "<group>"; };
FBF7568E0A1FB934691CFB9B = {isa = PBXGroup; children = (
+ BCC06570285BF222AE53F066,
D520A1249F01164E2F9B5B33,
46770CCB22F02D7A094B6A5F,
- C04506631EDC6C6706A8DDA8,
+ EEA41425BF7D951F6810F9B5,
315EF8CC3690B1426EB92087,
63626AB59BC4BD66A0A6482B,
1F2B719F048195E9EE5372D0,
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
#ifndef JucePlugin_AAXDisableMultiMono\r
#define JucePlugin_AAXDisableMultiMono 0\r
#endif\r
-#ifndef JucePlugin_MaxNumInputChannels\r
- #define JucePlugin_MaxNumInputChannels 0\r
-#endif\r
-#ifndef JucePlugin_MaxNumOutputChannels\r
- #define JucePlugin_MaxNumOutputChannels 2\r
-#endif\r
-#ifndef JucePlugin_PreferredChannelConfigurations\r
- #define JucePlugin_PreferredChannelConfigurations {0,2}\r
-#endif\r
\r
#endif // __JUCE_APPCONFIG_NAPIAV__\r
{\r
public:\r
AUv3SynthProcessor ()\r
- : currentRecording (1, 1), currentProgram (0)\r
+ : AudioProcessor (BusesProperties().withOutput ("Output", AudioChannelSet::stereo(), true)),\r
+ currentRecording (1, 1), currentProgram (0)\r
{\r
// initialize parameters\r
addParameter (isRecordingParam = new AudioParameterBool ("isRecording", "Is Recording", false));\r
}\r
\r
//==============================================================================\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override\r
+ {\r
+ return (layouts.getMainInputChannels() == 2);\r
+ }\r
+\r
void prepareToPlay (double sampleRate, int estimatedMaxSizeOfBuffer) override\r
{\r
ignoreUnused (estimatedMaxSizeOfBuffer);\r
\r
<JUCERPROJECT id="LrATE6" name="AnimationAppExample" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.AnimationAppExample" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="F3keCY" name="AnimationAppExample">\r
<GROUP id="{5E4132EA-C4A0-CBDE-BEDA-FD6772DA79D5}" name="Source">\r
<FILE id="n1FmZc" name="MainComponent.cpp" compile="1" resource="0"\r
2CDBA22DB877B521681B03C3 = {isa = PBXBuildFile; fileRef = 7DF561FC0400DD7E678CD690; };
3B937846DB65393DE597ABDE = {isa = PBXBuildFile; fileRef = C9F7ABDA09635BC3FAB0B008; };
139AEB224F22582CF606327F = {isa = PBXBuildFile; fileRef = 732EEC584A4CE3ED07C5BEFB; };
- 833059FCE7601E2EC15CDBF4 = {isa = PBXBuildFile; fileRef = 4D755C765B26C765D11BFFC8; };
579B22B362186BFEA27C44D9 = {isa = PBXBuildFile; fileRef = D32C3176FB914F189E0139AF; };
4FE4858AB45C67767169F6BC = {isa = PBXBuildFile; fileRef = 34227B39C3D697D0DBAC7017; };
60DF684A573F3D6E67C085EE = {isa = PBXBuildFile; fileRef = CBECD9165897602A506BC41E; };
0A821F49B23F52A887F9510A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
0AD4B355DBB0AED4C90E5657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
0AE6516868244378D09124A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0AF6574433E7459D64A55C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
0B4CE49EB3CFD33ACBC91518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
0B7637C0030C06BE612E41E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
0B7E069D09A7E46448EAE230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
29685DC8679DB5024B747D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
29710D5E6C3372E4480BF746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
29D35A5AB22E9443E0ED8F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; };
- 29F5A84EE715DA5BCED467A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
2A08FD4A8C44BB4D5993C4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
2A098563977566E9A9E8CD7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
2A274C78A4BC2FD805C2A87D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
341945AF95DB1B16D532098A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
34227B39C3D697D0DBAC7017 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
34A6FFC298D12BF9E4D55AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
- 35A7FD6EFDE29D2EBD7DFCB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
35AAFB158E16D03C4D977713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
35E6F6325AF8463C076BA594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
36738E65C45A4D2A81C1C6F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
4105B30D7A5108B98918EB09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
412D5D6AA4018C8DF59AB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
414AAB7000E7FDE7683BE72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 41C74B59D9B392117441DA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
420050F896FAA3A70C66B746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; };
4228B8952E3FBCDA69C1948B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; };
422D4036A107045528872CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; };
46885692CC5FDE30FC3649F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
46B0C80A50F637DEF7364C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
46D8BC7303C892ED3F90E4DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4745FEBF644DA8C8E5F71538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
47E5FB5735D2EC8B039D2691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
47E70AF805B1C5C57566C4CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
481E7AABBC1ECB45F5A6ECE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
4C87C8EC24CE0EB64640238A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; };
4CF92825BE7B97AC268C2AA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
4D5901626201478A459CE46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; };
- 4D755C765B26C765D11BFFC8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
4DB2143B264FC1AE54490BF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
4DB48F6BAEFA120A31259EAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
4E3C26EE8C6F996F207F0C32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
53E9183A7D2C19D8E8DA7EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
54503A34758AE7FF5DA79E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
553655CA0122E128BC368AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
- 55417F6D23E7075E5E27BECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
55A4B5CF98FAC1CC23E49C82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
55CEFA60FA0CBA0E6CB71F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
55D04DC4EA2F037CCD5DF9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
5D43D909CB26D4A07A62A4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
5D4A62D4893C16D7B17C6A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
5E4173ECA316E90CD7DE4378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
- 5EB144BD6AC4D4DE96ABFCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
5FF5374AB0A2ABCD55C5C0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
6018A3A37F34AE52B39A14D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
604EC12730E93902B59C16BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
73CA6BCA313B0239842F298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
73FF82BCB568578396E88C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
74302B51B991EA1775AEFC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
+ 7457F728BEC1C292995D4ED6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
749854CD2D13BBBA500F353F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
74AB51B6E97964B27B1CD019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
74B477DE4CFC95E20DBB0D91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; };
AF98DFE375127F293E949D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
AFEC177C21FC9D36695F4750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
B004D25E0DC1AA2C4CD3788A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; };
- B0286AC6D04C5D080A299A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B0589203065E4CF2C002B0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; };
B0626D2C611D9E3DF1408BEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
B15DC22CA1E52983F4F57A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
BD588F8D5FD1E6FE88E9D3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
BD7B0136829554046A511588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
BDA5B0C014F6DCC188465060 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
- BDE0C2D342D03C389560501F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
BE61994F6993AE76CBBF1EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
BE64EDA4F7260D2D5B7E0410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
BEC8EC4C23F9AA5C8DFEA15A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; };
D6ECAF8B2A4E8B6C97B89FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
D71A9A6C9DF92980ADD5DF79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTInterface.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTInterface.h"; sourceTree = "SOURCE_ROOT"; };
D74DEEE99CFE7B2FFD474A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
- D763221FDA235D75039D4C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D77B700B6C68C6055C26376E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; };
D77F2823246C592B8524B444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; };
D7C8F6360C455C0F76E35978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
DE4C0926D2EFA7649BD3AAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
DE4DC23FAE4C420D489ABD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; };
DEBD2C71B20E4E508BD03F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ DEE54192C6C8D4025085A028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
DEEA654926310D5B37A191C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; };
DF6D66D2FE017EE82E86C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; };
DFAD61F886BEAAAE535BBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
EBC4E11E36D206EDF01E6EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
EBD6F8CE3122B2AA015A62BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; };
EBDC0E12D4ED20F5DB90BC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
- EC0DC30DBDE17808F8F213DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
EC11D53A4118E15738CC70BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; };
EC9898734E8AFE5215705476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; };
ECBB04DDF8EF80E2F7B1C858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
F831631700830F81994D9980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; };
F83392D9825422AF0DB638D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; };
F838183EDFF5937C2879EE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
- F84B68CA477E76A5C737EEB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
F8EB370470B7928A80032F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; };
F95533D725E548643CA584D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
F9609B0A0387932B86A6FABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
C69760E59D600CF000D468E8 = {isa = PBXGroup; children = (
9F41B5C4D3F9CE9C17373AB3, ); name = AnimationAppExample; sourceTree = "<group>"; };
504C5FD980086802734876A7 = {isa = PBXGroup; children = (
+ 0AF6574433E7459D64A55C66,
+ 7457F728BEC1C292995D4ED6,
AC2AE970951E20A199938AFB,
7A46778023CF61B3F417F9AC,
6D0D0EC5B978695152A0B84F,
3B9903B0A0252D106C92CAA9,
C1070E62B763F1CCE0BB18F0,
3B9903B0A0252D106C92CAA9, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- BB0698B6AAC3B36A1E841F8C = {isa = PBXGroup; children = (
- 41C74B59D9B392117441DA2D,
- 35A7FD6EFDE29D2EBD7DFCB8,
- BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = "<group>"; };
- 99E4137D71D7430705B059BF = {isa = PBXGroup; children = (
+ 6C667ADABEFD3E6CB43A94DA = {isa = PBXGroup; children = (
884AA1209A726AEAF76E31B0,
3D24784AEA7726A64A340625,
4A1671B78E589A865FEA3CB1,
B6173E37D15602163B7C0441,
4BF9949E0C30EA64B16004BE,
04C105672DA409FE8593DB04, ); name = "audio_io"; sourceTree = "<group>"; };
- E0E57524E1B7296B6BEB77A1 = {isa = PBXGroup; children = (
+ EA97A98A7DDF8BCD0D91ABFF = {isa = PBXGroup; children = (
BC02503FFF515269351DF89B,
A789D75FEFFFB7E8E835FBAB,
B004D25E0DC1AA2C4CD3788A,
2A098563977566E9A9E8CD7E,
F30876EE30580650FD17B801,
95412F7C12937CC7AC22ADCF,
- B0286AC6D04C5D080A299A1C,
32C683CBA18109949D53149A,
EFA1E7B282EF67800F4766AE,
- 55417F6D23E7075E5E27BECB,
- 5EB144BD6AC4D4DE96ABFCA2,
25B41C0851C004C9D410B7C8,
56545F3F893C3D8CC9215051,
7AC4D7A22EE9E1F4FBD407C7,
805F27CEEC53F4E659884D7A,
- 29F5A84EE715DA5BCED467A1,
- D763221FDA235D75039D4C46,
B2D42B884600CE62E3253DA3,
5719A93B0F6AFE95FC49B673,
73FF82BCB568578396E88C92, ); name = native; sourceTree = "<group>"; };
- 68279D6145F0510F350AE746 = {isa = PBXGroup; children = (
+ BE6013E002CFDF3CFB235C78 = {isa = PBXGroup; children = (
814E0D982BC2A18B9BAF3E38,
B6411B03A6D0185B11DBDA15,
911B308D5222BDFD954DBB32,
DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = "<group>"; };
270A86F6A3CE512F0B3EA8DC = {isa = PBXGroup; children = (
- BB0698B6AAC3B36A1E841F8C,
- 99E4137D71D7430705B059BF,
- E0E57524E1B7296B6BEB77A1,
+ 6C667ADABEFD3E6CB43A94DA,
+ EA97A98A7DDF8BCD0D91ABFF,
92DE9B76516065C8553CF754,
- 68279D6145F0510F350AE746,
+ BE6013E002CFDF3CFB235C78,
141A0AD892E37D2DB6416E6D,
B1A41C6141726A390E2182A2,
DD19124F0A7FD43F31BDEB87,
62B6E8B6269ADEF23D85FA3E,
987AD2821B6419D5FEDCBD7A,
62B6E8B6269ADEF23D85FA3E, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 88F9AB2FA45B206B2A4483AC = {isa = PBXGroup; children = (
+ CCB061B1E92EAC3CC62B56BF = {isa = PBXGroup; children = (
8741126A9694372E46E3FD32,
381B8B8A9D5203E73FED79E9,
83325A69170997E33D73770A,
F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = "<group>"; };
- 1FAD7DB997878A6172656F05 = {isa = PBXGroup; children = (
+ D48EDE0D5B1826EDB84FAE75 = {isa = PBXGroup; children = (
+ 4745FEBF644DA8C8E5F71538,
A50AF1519D78428A8DCD91BF,
E587838C598E06E7959F2A31,
E6E99E6E9BB715D12B35AB4A,
2B02634F8DA8660ED42B0AEF,
F79ADEBA7B305354085FFB8D,
66E854431C2BBDEE56EA43C8,
+ DEE54192C6C8D4025085A028,
D71A9A6C9DF92980ADD5DF79,
0F67C59CB48583941B8656EF,
BB144FF841A99B08D5479777,
E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = "<group>"; };
- 17A57F61E7109806E3BDDCED = {isa = PBXGroup; children = (
- EC0DC30DBDE17808F8F213DD,
- F84B68CA477E76A5C737EEB7,
+ 66DB5D1D07311C2755DD11FD = {isa = PBXGroup; children = (
A61AD5378601F9DDEB8DED03,
E323EAC836E3B5BB29B6AE06,
E2E3FA0BA7B7C8EB3C47B642,
8096923FA40246283C31519E,
2C06A730EBB9E2A7F0F2AA14, ); name = utilities; sourceTree = "<group>"; };
BA9B6357DA1BF8D6E3120176 = {isa = PBXGroup; children = (
- 88F9AB2FA45B206B2A4483AC,
- 1FAD7DB997878A6172656F05,
- 17A57F61E7109806E3BDDCED,
+ CCB061B1E92EAC3CC62B56BF,
+ D48EDE0D5B1826EDB84FAE75,
+ 66DB5D1D07311C2755DD11FD,
6D5517B20EB3DE007D177B03,
202EE05322E0C4E9476F8135,
302B824D60552827656F93AC,
7DF561FC0400DD7E678CD690,
C9F7ABDA09635BC3FAB0B008,
732EEC584A4CE3ED07C5BEFB,
- 4D755C765B26C765D11BFFC8,
D32C3176FB914F189E0139AF,
34227B39C3D697D0DBAC7017,
CBECD9165897602A506BC41E,
2CDBA22DB877B521681B03C3,
3B937846DB65393DE597ABDE,
139AEB224F22582CF606327F,
- 833059FCE7601E2EC15CDBF4,
579B22B362186BFEA27C44D9,
4FE4858AB45C67767169F6BC,
60DF684A573F3D6E67C085EE,
<ItemGroup>\r
<ClCompile Include="..\..\Source\MainComponent.cpp"/>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>AnimationAppExample\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
0A821F49B23F52A887F9510A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
0AD4B355DBB0AED4C90E5657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
0AE6516868244378D09124A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0AF6574433E7459D64A55C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
0B4CE49EB3CFD33ACBC91518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
0B7637C0030C06BE612E41E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
0B7E069D09A7E46448EAE230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
29685DC8679DB5024B747D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
29710D5E6C3372E4480BF746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
29D35A5AB22E9443E0ED8F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; };
- 29F5A84EE715DA5BCED467A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
2A08FD4A8C44BB4D5993C4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
2A098563977566E9A9E8CD7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
2A274C78A4BC2FD805C2A87D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
33E449DEA1FC0CD4CAA3A829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
341945AF95DB1B16D532098A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
34A6FFC298D12BF9E4D55AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
- 35A7FD6EFDE29D2EBD7DFCB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
35AAFB158E16D03C4D977713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
35E6F6325AF8463C076BA594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
36738E65C45A4D2A81C1C6F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
4105B30D7A5108B98918EB09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
412D5D6AA4018C8DF59AB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
414AAB7000E7FDE7683BE72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 41C74B59D9B392117441DA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
420050F896FAA3A70C66B746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Whirlpool.h"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.h"; sourceTree = "SOURCE_ROOT"; };
4228B8952E3FBCDA69C1948B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; };
422D4036A107045528872CB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; };
46885692CC5FDE30FC3649F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
46B0C80A50F637DEF7364C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
46D8BC7303C892ED3F90E4DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4745FEBF644DA8C8E5F71538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
47E5FB5735D2EC8B039D2691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
47E70AF805B1C5C57566C4CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
481E7AABBC1ECB45F5A6ECE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
53E9183A7D2C19D8E8DA7EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
54503A34758AE7FF5DA79E4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
553655CA0122E128BC368AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
- 55417F6D23E7075E5E27BECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
55A4B5CF98FAC1CC23E49C82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
55CEFA60FA0CBA0E6CB71F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
55D04DC4EA2F037CCD5DF9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
5D43D909CB26D4A07A62A4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
5D4A62D4893C16D7B17C6A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
5E4173ECA316E90CD7DE4378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
- 5EB144BD6AC4D4DE96ABFCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
5FF5374AB0A2ABCD55C5C0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
6018A3A37F34AE52B39A14D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
604EC12730E93902B59C16BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
73CA6BCA313B0239842F298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
73FF82BCB568578396E88C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
74302B51B991EA1775AEFC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
+ 7457F728BEC1C292995D4ED6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
749854CD2D13BBBA500F353F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
74AB51B6E97964B27B1CD019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
74B477DE4CFC95E20DBB0D91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; };
AF98DFE375127F293E949D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
AFEC177C21FC9D36695F4750 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
B004D25E0DC1AA2C4CD3788A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; };
- B0286AC6D04C5D080A299A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B0589203065E4CF2C002B0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; };
B0626D2C611D9E3DF1408BEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
B15DC22CA1E52983F4F57A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
BD588F8D5FD1E6FE88E9D3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
BD7B0136829554046A511588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
BDA5B0C014F6DCC188465060 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
- BDE0C2D342D03C389560501F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
BE61994F6993AE76CBBF1EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
BE64EDA4F7260D2D5B7E0410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
BEC8EC4C23F9AA5C8DFEA15A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; };
D6ECAF8B2A4E8B6C97B89FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
D71A9A6C9DF92980ADD5DF79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTInterface.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTInterface.h"; sourceTree = "SOURCE_ROOT"; };
D74DEEE99CFE7B2FFD474A5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
- D763221FDA235D75039D4C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D77B700B6C68C6055C26376E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; };
D77F2823246C592B8524B444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; };
D7C8F6360C455C0F76E35978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
DE4C0926D2EFA7649BD3AAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
DE4DC23FAE4C420D489ABD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; };
DEBD2C71B20E4E508BD03F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ DEE54192C6C8D4025085A028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
DEEA654926310D5B37A191C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; };
DF6D66D2FE017EE82E86C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; };
DFAD61F886BEAAAE535BBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
EBC4E11E36D206EDF01E6EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
EBD6F8CE3122B2AA015A62BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; };
EBDC0E12D4ED20F5DB90BC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
- EC0DC30DBDE17808F8F213DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
EC11D53A4118E15738CC70BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; };
EC9898734E8AFE5215705476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; };
ECBB04DDF8EF80E2F7B1C858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
F831631700830F81994D9980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; };
F83392D9825422AF0DB638D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; };
F838183EDFF5937C2879EE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
- F84B68CA477E76A5C737EEB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
F8EB370470B7928A80032F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; };
F95533D725E548643CA584D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
F9609B0A0387932B86A6FABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
C69760E59D600CF000D468E8 = {isa = PBXGroup; children = (
9F41B5C4D3F9CE9C17373AB3, ); name = AnimationAppExample; sourceTree = "<group>"; };
504C5FD980086802734876A7 = {isa = PBXGroup; children = (
+ 0AF6574433E7459D64A55C66,
+ 7457F728BEC1C292995D4ED6,
AC2AE970951E20A199938AFB,
7A46778023CF61B3F417F9AC,
6D0D0EC5B978695152A0B84F,
3B9903B0A0252D106C92CAA9,
C1070E62B763F1CCE0BB18F0,
3B9903B0A0252D106C92CAA9, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- BB0698B6AAC3B36A1E841F8C = {isa = PBXGroup; children = (
- 41C74B59D9B392117441DA2D,
- 35A7FD6EFDE29D2EBD7DFCB8,
- BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = "<group>"; };
- 99E4137D71D7430705B059BF = {isa = PBXGroup; children = (
+ 6C667ADABEFD3E6CB43A94DA = {isa = PBXGroup; children = (
884AA1209A726AEAF76E31B0,
3D24784AEA7726A64A340625,
4A1671B78E589A865FEA3CB1,
B6173E37D15602163B7C0441,
4BF9949E0C30EA64B16004BE,
04C105672DA409FE8593DB04, ); name = "audio_io"; sourceTree = "<group>"; };
- E0E57524E1B7296B6BEB77A1 = {isa = PBXGroup; children = (
+ EA97A98A7DDF8BCD0D91ABFF = {isa = PBXGroup; children = (
BC02503FFF515269351DF89B,
A789D75FEFFFB7E8E835FBAB,
B004D25E0DC1AA2C4CD3788A,
2A098563977566E9A9E8CD7E,
F30876EE30580650FD17B801,
95412F7C12937CC7AC22ADCF,
- B0286AC6D04C5D080A299A1C,
32C683CBA18109949D53149A,
EFA1E7B282EF67800F4766AE,
- 55417F6D23E7075E5E27BECB,
- 5EB144BD6AC4D4DE96ABFCA2,
25B41C0851C004C9D410B7C8,
56545F3F893C3D8CC9215051,
7AC4D7A22EE9E1F4FBD407C7,
805F27CEEC53F4E659884D7A,
- 29F5A84EE715DA5BCED467A1,
- D763221FDA235D75039D4C46,
B2D42B884600CE62E3253DA3,
5719A93B0F6AFE95FC49B673,
73FF82BCB568578396E88C92, ); name = native; sourceTree = "<group>"; };
- 68279D6145F0510F350AE746 = {isa = PBXGroup; children = (
+ BE6013E002CFDF3CFB235C78 = {isa = PBXGroup; children = (
814E0D982BC2A18B9BAF3E38,
B6411B03A6D0185B11DBDA15,
911B308D5222BDFD954DBB32,
DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = "<group>"; };
270A86F6A3CE512F0B3EA8DC = {isa = PBXGroup; children = (
- BB0698B6AAC3B36A1E841F8C,
- 99E4137D71D7430705B059BF,
- E0E57524E1B7296B6BEB77A1,
+ 6C667ADABEFD3E6CB43A94DA,
+ EA97A98A7DDF8BCD0D91ABFF,
92DE9B76516065C8553CF754,
- 68279D6145F0510F350AE746,
+ BE6013E002CFDF3CFB235C78,
141A0AD892E37D2DB6416E6D,
B1A41C6141726A390E2182A2,
DD19124F0A7FD43F31BDEB87,
62B6E8B6269ADEF23D85FA3E,
987AD2821B6419D5FEDCBD7A,
62B6E8B6269ADEF23D85FA3E, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 88F9AB2FA45B206B2A4483AC = {isa = PBXGroup; children = (
+ CCB061B1E92EAC3CC62B56BF = {isa = PBXGroup; children = (
8741126A9694372E46E3FD32,
381B8B8A9D5203E73FED79E9,
83325A69170997E33D73770A,
F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = "<group>"; };
- 1FAD7DB997878A6172656F05 = {isa = PBXGroup; children = (
+ D48EDE0D5B1826EDB84FAE75 = {isa = PBXGroup; children = (
+ 4745FEBF644DA8C8E5F71538,
A50AF1519D78428A8DCD91BF,
E587838C598E06E7959F2A31,
E6E99E6E9BB715D12B35AB4A,
2B02634F8DA8660ED42B0AEF,
F79ADEBA7B305354085FFB8D,
66E854431C2BBDEE56EA43C8,
+ DEE54192C6C8D4025085A028,
D71A9A6C9DF92980ADD5DF79,
0F67C59CB48583941B8656EF,
BB144FF841A99B08D5479777,
E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = "<group>"; };
- 17A57F61E7109806E3BDDCED = {isa = PBXGroup; children = (
- EC0DC30DBDE17808F8F213DD,
- F84B68CA477E76A5C737EEB7,
+ 66DB5D1D07311C2755DD11FD = {isa = PBXGroup; children = (
A61AD5378601F9DDEB8DED03,
E323EAC836E3B5BB29B6AE06,
E2E3FA0BA7B7C8EB3C47B642,
8096923FA40246283C31519E,
2C06A730EBB9E2A7F0F2AA14, ); name = utilities; sourceTree = "<group>"; };
BA9B6357DA1BF8D6E3120176 = {isa = PBXGroup; children = (
- 88F9AB2FA45B206B2A4483AC,
- 1FAD7DB997878A6172656F05,
- 17A57F61E7109806E3BDDCED,
+ CCB061B1E92EAC3CC62B56BF,
+ D48EDE0D5B1826EDB84FAE75,
+ 66DB5D1D07311C2755DD11FD,
6D5517B20EB3DE007D177B03,
202EE05322E0C4E9476F8135,
302B824D60552827656F93AC,
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
\r
<JUCERPROJECT id="PAnJXP" name="AudioAppExample" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.AudioAppExample" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="GaJIge" name="AudioAppExample">\r
<GROUP id="{168FC5D4-FA65-8320-F83E-C14C416638E1}" name="Source">\r
<FILE id="aHvhJ2" name="MainComponent.cpp" compile="1" resource="0"\r
0A4F90598876FBE7A67A13D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
0A9D1C8737F68D63574FC517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
0AA4DFC6689DAC5C6C6D30B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
- 0ACC027581F750956F3DBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
0B17C68C630608414339685D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
0B1EFD1D3E909C010C495E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
0B35461B91EE6372D40C26E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
32AA8C09B7A39118E3A4BFA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
332B664DD5F1E87D1BC77715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
33A7431EA11DA6EA2EB54B73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 33B19E484F16455FD74B803B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
33C4E091AF43E7CEA138F133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; };
33E0CFDAD6BD866CAF23EC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
33FEAF50967CEB5800BF72BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
46FBF3438B506BBBA1C08BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
4832B29659F5D97A106B5D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; };
48348E65A2D505CD55F894CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 4847080DD7A171480276608E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
48AEBE2829B0A312E3B598BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
49067AE0E1C2121ACBEE2374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
490FFC3A7899AA8FBE8E2D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
5E489080FFCF538C3170739B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
5F1A204298557C9CDCBB4C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; };
5F1FD7697F7FB42EA6E9CDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5FBBEE473676A0883327FFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
5FEA66532C18871947DA95A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
5FEF4DC42947B82D016071A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; };
602F2E014E4796C2DA29CDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
7852F468318493D3FAEC9089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
789920BB98BF607E690B01BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
79703B85F426FD4DF5C0AC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 79938763D24E03C2A476F417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
79C2499E9591E2C028D11EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; };
7A32476DF07EE4C33512F01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; };
7A356CCD42F455D41990C69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
7ED25F696D0B9B0F935B188B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
7F55584DFEF4BEF0B1DC8DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; };
7F5C171BA5EA9E83295B7498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7F69D6A112028BA117BA7F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
7F9D7EC0BE80A6DA54A9805D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
7FC679066DAC1C23188A46ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; };
7FCEC7C5C54AB90A7709406F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
81505916961455538E9B1A7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
8161691C20EA2C09978908B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
81B5028748B2F81CA1F4F9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; };
- 81C9752ED058D6AAAE40E021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
81E9F11630D26DFBD0A93618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
8202E36EB5B777BA3F00A181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
820C05ED738EB5A0B1D48AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; };
8AD5C1E90DE18441407D769D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
8AF7405E7AF18A44BF24811B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; };
8B01626CE8C886F18BEC9178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 8B572C8BD4106047C3A46EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
8BA6EF260D361C1FC16E338E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
8BD3E08A5A6D32150E703D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; };
8BFB376F26710685A2BFDE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
8BFEC7409742F768017FC3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
8C15F9D395DC823C0DD7AE6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
+ 8C240DA21A58D5A93B3AE2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
8C2C8AC9268D21F2BB82D60A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
8C55F3C3E8ADABF3E2B72A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
8C7A9D19E4BF794F25112C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; };
A1B654DD3057E3897E5C20A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
A1CC4DCD28D612221D9B445C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
A1EFE173102C316855A3E277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
+ A1F0097DBA818D7EA40C3D1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
A20A2F639F28E15631EEEA35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; };
A311FDC490ED65A08E3B8B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
A3784CA5E1195E1792E617F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
A9B5EEEAFA441F850358281B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
A9B7641B8DC31EB20DA18BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; };
A9BC04CDBB89B5C69F451DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
- A9C0D755D2D644AB9B9EE13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
A9C31C52F36697E74384B83A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
A9E584C98134D88F8317056E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
A9E6F251933166D931848C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; };
B06A9120276E8875161CFC7D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
B06BCB5D9CE908831C7E81D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
B0C8BABB5E59C2F7FAA37689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
- B0F79D18A4A523D01E05A940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B0DEEE2822801AE5611DEDA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
B0FFC533F760AED1CE7B2BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; };
B13EA4B367C04B6CC907A653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
B1BF44D54337520D281A4471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
B5FF1E4CC8E4177744F0833D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; };
B663B0FD7F2FEDCE59A40373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
B6FF0E28C1E186DD9E97F838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
- B7485EC80869B5EAE869B552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
B7C588B87E09F887C6CB73C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
B7EF396405CB14D1ABDF709D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; };
B804B9C7C6CA696B7410A629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B8225C23468E409DDBB64449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B82AD0CA59B47AB8FEE8015F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
B84ADDD01BAB1B1E21DDFF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
B87C42BDAE89E73E982EF85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
D57B55B2B9CE6B6D9D6EFFCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; };
D583ED6D9DF5CADB3AE660C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
D59DF1631592A9A9955A5278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; };
- D5A52E8FCFD2A574B140050F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D5C975D1C3B065AC14FB6311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; };
D5E118687F94A7A960E7EC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
- D5ECF9579C0C6725ECC5654B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
D61678919BFC783EC4062605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; };
D64591D66210D08D4AA5DC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
D651F8F1F8E732F91907DA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
DC3B8C3F2BB86DEAD6987048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
DC52C218059FD576DD0937FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; };
DC63BD4245A44AA0E41382E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; };
- DCA045C3BF4FAC134D479F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
DCCDC8D852E777EF63078AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
DCCE4FD3F2077865C242A6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
DCE3EB6C3DF640697ADD3F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; };
F4DD9A24D4B78E8DA2558487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
F5037B67510FDA52C9A83829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
F5158122AABF8E950827F2CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F551F4D24F3088F26119C4A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
+ F65AE162CA0E576EF9B17883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
F68C761355C8BEF77C6E0D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
F7334FD3FBCADF7A5F3BAB8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; };
F75D109BD33B5C057C150155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; };
FAA94DDD935004D19E6BAFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
FAF3143A9CAF9ECAF81AB3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
FB21D85F25FF7C468331BAEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
+ FB37C27FE40A2D0B4BC77C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
FB4B0B7CB3B7693E633DF85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FB4D68D66125EB95173322AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
FB9D900CA19E8894F1F05F4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; };
FBABB528D9CB9FCA127D3702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
FC43C9F152FA300C417AD510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
FECAF9513A9D6D717508DCB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; };
FEEE17569A737C486258BC9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
FF46CABD4A7C29380D4CAD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
- FF68B4C1DF411EED5E88DBAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
FF8A2AE20EED8687EA5D2A00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
FF8C6075F2D81FC3EF7588FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FF9B5AAE4E0C08161E30F2DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
C366FD2226833583ECDE68D2 = {isa = PBXGroup; children = (
2545022A0EE088A0C46EBD13,
D78365C74082A1253E12AF17, ); name = Source; sourceTree = "<group>"; };
24BF2D05D134C386864C4C7D = {isa = PBXGroup; children = (
C366FD2226833583ECDE68D2, ); name = AudioAppExample; sourceTree = "<group>"; };
9827D1759F7D4C6C17CA1F73 = {isa = PBXGroup; children = (
+ 33B19E484F16455FD74B803B,
+ 4847080DD7A171480276608E,
C2015BA8A41561F8A723C50F,
9E67899F08C1CB65A37C728F,
9169D30719C69B4CF1EB6061,
886CA18FAF31B80A3604C5B3,
19DBF218B50AA295AED50CC2,
886CA18FAF31B80A3604C5B3, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 3E84E4C7BECC9CBA1261BFD9 = {isa = PBXGroup; children = (
- 81C9752ED058D6AAAE40E021,
- FF68B4C1DF411EED5E88DBAD,
- A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = "<group>"; };
- 49EAE50D648F855C75230204 = {isa = PBXGroup; children = (
+ B17D23F84E819AE911872FED = {isa = PBXGroup; children = (
ECD6FDB8D99D661E23915E85,
448B223113A96B6D7C026E0E,
782C982DE17D3619F58453B3,
37DDE4779BEE726B73257328,
B043471A2BE93BA496CA44C9,
1E02091AE0A7BB79608FCC0D, ); name = "audio_io"; sourceTree = "<group>"; };
- FFC332F3B408919CF7E5D42B = {isa = PBXGroup; children = (
+ 6A93C013E525119715B5BBF6 = {isa = PBXGroup; children = (
0F7E54460D000A212BA37807,
A9B7641B8DC31EB20DA18BB6,
77C55D5A6C29BB84028BF4C9,
FB4B0B7CB3B7693E633DF85D,
A535408525D77AD8CD01315D,
28E18ED64628E325B734F817,
- D5A52E8FCFD2A574B140050F,
434777F5069C5A1EBFD0ECFB,
C0F2634964D63D63A8A9E892,
- B7485EC80869B5EAE869B552,
- 0ACC027581F750956F3DBF81,
EC41E20B845B695675761614,
4302CD9CA740EBE5891DC3BF,
902E481701585587D0AF4735,
8A10539F3D428C2836A5178E,
- B0F79D18A4A523D01E05A940,
- 8B572C8BD4106047C3A46EFF,
4E81FC636E217976041F8FD0,
0C28072364B08528A9AD5B85,
A3E8C954C194E24AE1907AE2, ); name = native; sourceTree = "<group>"; };
- 54C2976F1C8239E23DEA679D = {isa = PBXGroup; children = (
+ 1CEE7C3D1A5041755F1B1826 = {isa = PBXGroup; children = (
550A729142AB16A20BB99123,
9E8979F0765D76FDC54E0FA3,
7DDA47BB9CE313C8AE917F40,
FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = "<group>"; };
C1CFAF0419BB789AA0E38629 = {isa = PBXGroup; children = (
- 3E84E4C7BECC9CBA1261BFD9,
- 49EAE50D648F855C75230204,
- FFC332F3B408919CF7E5D42B,
+ B17D23F84E819AE911872FED,
+ 6A93C013E525119715B5BBF6,
90ABF4F46983014ECB8AA7FB,
- 54C2976F1C8239E23DEA679D,
+ 1CEE7C3D1A5041755F1B1826,
04BAFE2FB1BAAF033BC699E8,
41DC9C31FE8A27E721AC95C6,
D08758C4B60AE0ECD82D8EF6,
B28EBA2EDF0E543EA1ED374B,
C987F7105C386F9799C74AE5,
B28EBA2EDF0E543EA1ED374B, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- DEDC52AF030382BB5EE916EF = {isa = PBXGroup; children = (
+ 45E0840819129354AC37A657 = {isa = PBXGroup; children = (
21ED255865DBE1B9B27CE0CE,
A9B5EEEAFA441F850358281B,
BC77947BDED20C022DE3D8B8,
D45FA51540441FC7D57E016A, ); name = format; sourceTree = "<group>"; };
- 4346DB4FF08B3FB0AA3D9C26 = {isa = PBXGroup; children = (
+ 0C13081C03297CBDD4C38E77 = {isa = PBXGroup; children = (
+ F551F4D24F3088F26119C4A0,
7FCEC7C5C54AB90A7709406F,
B905BFB6C174B284D84339A2,
973257D8FB62DAE78ACE85DD,
6C32FCD6B87189C1F43BD462,
DB6C3F30A7B477AA3A695B2D,
6D869E6ED7DF080A9FAF162C,
+ FB4D68D66125EB95173322AC,
DEB4C3647DCB3A2D1DDDEEF1,
6C4F8F17F78FE9C8B45941D3,
DD7C6F9CAF5CBA11B6024A83,
5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = "<group>"; };
- E3B1FB08635B63FE110F2D04 = {isa = PBXGroup; children = (
- D5ECF9579C0C6725ECC5654B,
- DCA045C3BF4FAC134D479F0B,
+ 8A48703F400C9874723B5106 = {isa = PBXGroup; children = (
E9AFEB90653FD6CBE935D29D,
C771A511AA82C6C652D4FC70,
7F5C171BA5EA9E83295B7498,
10F35EB3267D17EB21EE9EEF,
1859D1550F703A8B0E2E9678, ); name = utilities; sourceTree = "<group>"; };
0F1330B9E634C8C1D2A19EAD = {isa = PBXGroup; children = (
- DEDC52AF030382BB5EE916EF,
- 4346DB4FF08B3FB0AA3D9C26,
- E3B1FB08635B63FE110F2D04,
+ 45E0840819129354AC37A657,
+ 0C13081C03297CBDD4C38E77,
+ 8A48703F400C9874723B5106,
B15BA9691F55085AEA9F9476,
D74F542E998B0A51BAB9D571,
05205756F23E4CB8A2A2CEA5,
5E151D89199CE9D3E7C3F0B8,
768E5A86B7E84A146818B866,
5E151D89199CE9D3E7C3F0B8, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ 03492DFFA579755F0026B787 = {isa = PBXGroup; children = (
+ B0DEEE2822801AE5611DEDA6,
+ 79938763D24E03C2A476F417,
+ 8C240DA21A58D5A93B3AE2A3, ); name = "audio_cd"; sourceTree = "<group>"; };
A4DB99A85C6106C5D535CDFA = {isa = PBXGroup; children = (
9CC7A321D4B4323FF06A03B9,
6D9E97482246DAD163EE58DB,
811C70C42F8696F982B7C891 = {isa = PBXGroup; children = (
449FB9CD81DD670CE4A577CA,
377814D716769899D3050668,
+ B8225C23468E409DDBB64449,
29C93739F97FE9FCA3AC4CF5,
+ 5FBBEE473676A0883327FFFB,
+ FB37C27FE40A2D0B4BC77C94,
BA4496257844A6CA50995840,
- 36CCF902426491CC248117BD, ); name = native; sourceTree = "<group>"; };
- 7CF196B147341997E63C0B10 = {isa = PBXGroup; children = (
+ 36CCF902426491CC248117BD,
+ F65AE162CA0E576EF9B17883,
+ 7F69D6A112028BA117BA7F44, ); name = native; sourceTree = "<group>"; };
+ F8E6B15248200F6E7A1235C9 = {isa = PBXGroup; children = (
4DA82F4EA6B042B411DB20A7,
- 59D6E450E7823A809631B85A, ); name = players; sourceTree = "<group>"; };
+ 59D6E450E7823A809631B85A,
+ A1F0097DBA818D7EA40C3D1E,
+ FF9B5AAE4E0C08161E30F2DB, ); name = players; sourceTree = "<group>"; };
DCA2C59535A97CCC2E7E5D5B = {isa = PBXGroup; children = (
+ 03492DFFA579755F0026B787,
A4DB99A85C6106C5D535CDFA,
811C70C42F8696F982B7C891,
- 7CF196B147341997E63C0B10,
+ F8E6B15248200F6E7A1235C9,
70461AEAF24C0B949814DD79,
5736EEAD19F704D8BC0D63CB,
0D72F29AB05E80E6D8A57578,
<ItemGroup>\r
<ClCompile Include="..\..\Source\MainComponent.cpp"/>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>AudioAppExample\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
0A4F90598876FBE7A67A13D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
0A9D1C8737F68D63574FC517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
0AA4DFC6689DAC5C6C6D30B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
- 0ACC027581F750956F3DBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
0B17C68C630608414339685D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
0B1EFD1D3E909C010C495E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
0B35461B91EE6372D40C26E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
32AA8C09B7A39118E3A4BFA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
332B664DD5F1E87D1BC77715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
33A7431EA11DA6EA2EB54B73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 33B19E484F16455FD74B803B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
33C4E091AF43E7CEA138F133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; };
33E0CFDAD6BD866CAF23EC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
33FEAF50967CEB5800BF72BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
46FBF3438B506BBBA1C08BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
4832B29659F5D97A106B5D48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; };
48348E65A2D505CD55F894CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 4847080DD7A171480276608E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
48AEBE2829B0A312E3B598BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
49067AE0E1C2121ACBEE2374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
490FFC3A7899AA8FBE8E2D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
5E489080FFCF538C3170739B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
5F1A204298557C9CDCBB4C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; };
5F1FD7697F7FB42EA6E9CDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5FBBEE473676A0883327FFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
5FEA66532C18871947DA95A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
5FEF4DC42947B82D016071A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; };
602F2E014E4796C2DA29CDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
7852F468318493D3FAEC9089 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
789920BB98BF607E690B01BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
79703B85F426FD4DF5C0AC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 79938763D24E03C2A476F417 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
79C2499E9591E2C028D11EE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; };
7A32476DF07EE4C33512F01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; };
7A356CCD42F455D41990C69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
7ED25F696D0B9B0F935B188B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
7F55584DFEF4BEF0B1DC8DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; };
7F5C171BA5EA9E83295B7498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7F69D6A112028BA117BA7F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
7F9D7EC0BE80A6DA54A9805D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
7FC679066DAC1C23188A46ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; };
7FCEC7C5C54AB90A7709406F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
81505916961455538E9B1A7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
8161691C20EA2C09978908B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
81B5028748B2F81CA1F4F9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; };
- 81C9752ED058D6AAAE40E021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
81E9F11630D26DFBD0A93618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
8202E36EB5B777BA3F00A181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
820C05ED738EB5A0B1D48AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; };
8AD5C1E90DE18441407D769D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
8AF7405E7AF18A44BF24811B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; };
8B01626CE8C886F18BEC9178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 8B572C8BD4106047C3A46EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
8BA6EF260D361C1FC16E338E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
8BD3E08A5A6D32150E703D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; };
8BFB376F26710685A2BFDE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
8BFEC7409742F768017FC3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
8C15F9D395DC823C0DD7AE6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
+ 8C240DA21A58D5A93B3AE2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
8C2C8AC9268D21F2BB82D60A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
8C55F3C3E8ADABF3E2B72A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
8C7A9D19E4BF794F25112C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; };
A1B654DD3057E3897E5C20A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
A1CC4DCD28D612221D9B445C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
A1EFE173102C316855A3E277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
+ A1F0097DBA818D7EA40C3D1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
A20A2F639F28E15631EEEA35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; };
A311FDC490ED65A08E3B8B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
A3784CA5E1195E1792E617F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
A9B5EEEAFA441F850358281B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
A9B7641B8DC31EB20DA18BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; };
A9BC04CDBB89B5C69F451DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
- A9C0D755D2D644AB9B9EE13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
A9C31C52F36697E74384B83A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
A9E584C98134D88F8317056E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
A9E6F251933166D931848C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; };
B06A9120276E8875161CFC7D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
B06BCB5D9CE908831C7E81D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
B0C8BABB5E59C2F7FAA37689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
- B0F79D18A4A523D01E05A940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B0DEEE2822801AE5611DEDA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
B0FFC533F760AED1CE7B2BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; };
B13EA4B367C04B6CC907A653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
B1BF44D54337520D281A4471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
B5FF1E4CC8E4177744F0833D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; };
B663B0FD7F2FEDCE59A40373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
B6FF0E28C1E186DD9E97F838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
- B7485EC80869B5EAE869B552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
B7C588B87E09F887C6CB73C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
B7EF396405CB14D1ABDF709D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; };
B804B9C7C6CA696B7410A629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B8225C23468E409DDBB64449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B82AD0CA59B47AB8FEE8015F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
B84ADDD01BAB1B1E21DDFF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
B87C42BDAE89E73E982EF85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
D57B55B2B9CE6B6D9D6EFFCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; };
D583ED6D9DF5CADB3AE660C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
D59DF1631592A9A9955A5278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; };
- D5A52E8FCFD2A574B140050F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D5C975D1C3B065AC14FB6311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; };
D5E118687F94A7A960E7EC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
- D5ECF9579C0C6725ECC5654B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
D61678919BFC783EC4062605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; };
D64591D66210D08D4AA5DC05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
D651F8F1F8E732F91907DA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
DC3B8C3F2BB86DEAD6987048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
DC52C218059FD576DD0937FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; };
DC63BD4245A44AA0E41382E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; };
- DCA045C3BF4FAC134D479F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
DCCDC8D852E777EF63078AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
DCCE4FD3F2077865C242A6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
DCE3EB6C3DF640697ADD3F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; };
F4DD9A24D4B78E8DA2558487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
F5037B67510FDA52C9A83829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
F5158122AABF8E950827F2CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F551F4D24F3088F26119C4A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
F5B5D441C4AB1D01509ACC8D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
+ F65AE162CA0E576EF9B17883 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
F68C761355C8BEF77C6E0D07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
F7334FD3FBCADF7A5F3BAB8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; };
F75D109BD33B5C057C150155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; };
FAA94DDD935004D19E6BAFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
FAF3143A9CAF9ECAF81AB3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
FB21D85F25FF7C468331BAEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
+ FB37C27FE40A2D0B4BC77C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
FB4B0B7CB3B7693E633DF85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FB4D68D66125EB95173322AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
FB9D900CA19E8894F1F05F4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; };
FBABB528D9CB9FCA127D3702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
FC43C9F152FA300C417AD510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
FECAF9513A9D6D717508DCB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; };
FEEE17569A737C486258BC9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
FF46CABD4A7C29380D4CAD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
- FF68B4C1DF411EED5E88DBAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
FF8A2AE20EED8687EA5D2A00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
FF8C6075F2D81FC3EF7588FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FF9B5AAE4E0C08161E30F2DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
C366FD2226833583ECDE68D2 = {isa = PBXGroup; children = (
2545022A0EE088A0C46EBD13,
D78365C74082A1253E12AF17, ); name = Source; sourceTree = "<group>"; };
24BF2D05D134C386864C4C7D = {isa = PBXGroup; children = (
C366FD2226833583ECDE68D2, ); name = AudioAppExample; sourceTree = "<group>"; };
9827D1759F7D4C6C17CA1F73 = {isa = PBXGroup; children = (
+ 33B19E484F16455FD74B803B,
+ 4847080DD7A171480276608E,
C2015BA8A41561F8A723C50F,
9E67899F08C1CB65A37C728F,
9169D30719C69B4CF1EB6061,
886CA18FAF31B80A3604C5B3,
19DBF218B50AA295AED50CC2,
886CA18FAF31B80A3604C5B3, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 3E84E4C7BECC9CBA1261BFD9 = {isa = PBXGroup; children = (
- 81C9752ED058D6AAAE40E021,
- FF68B4C1DF411EED5E88DBAD,
- A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = "<group>"; };
- 49EAE50D648F855C75230204 = {isa = PBXGroup; children = (
+ B17D23F84E819AE911872FED = {isa = PBXGroup; children = (
ECD6FDB8D99D661E23915E85,
448B223113A96B6D7C026E0E,
782C982DE17D3619F58453B3,
37DDE4779BEE726B73257328,
B043471A2BE93BA496CA44C9,
1E02091AE0A7BB79608FCC0D, ); name = "audio_io"; sourceTree = "<group>"; };
- FFC332F3B408919CF7E5D42B = {isa = PBXGroup; children = (
+ 6A93C013E525119715B5BBF6 = {isa = PBXGroup; children = (
0F7E54460D000A212BA37807,
A9B7641B8DC31EB20DA18BB6,
77C55D5A6C29BB84028BF4C9,
FB4B0B7CB3B7693E633DF85D,
A535408525D77AD8CD01315D,
28E18ED64628E325B734F817,
- D5A52E8FCFD2A574B140050F,
434777F5069C5A1EBFD0ECFB,
C0F2634964D63D63A8A9E892,
- B7485EC80869B5EAE869B552,
- 0ACC027581F750956F3DBF81,
EC41E20B845B695675761614,
4302CD9CA740EBE5891DC3BF,
902E481701585587D0AF4735,
8A10539F3D428C2836A5178E,
- B0F79D18A4A523D01E05A940,
- 8B572C8BD4106047C3A46EFF,
4E81FC636E217976041F8FD0,
0C28072364B08528A9AD5B85,
A3E8C954C194E24AE1907AE2, ); name = native; sourceTree = "<group>"; };
- 54C2976F1C8239E23DEA679D = {isa = PBXGroup; children = (
+ 1CEE7C3D1A5041755F1B1826 = {isa = PBXGroup; children = (
550A729142AB16A20BB99123,
9E8979F0765D76FDC54E0FA3,
7DDA47BB9CE313C8AE917F40,
FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = "<group>"; };
C1CFAF0419BB789AA0E38629 = {isa = PBXGroup; children = (
- 3E84E4C7BECC9CBA1261BFD9,
- 49EAE50D648F855C75230204,
- FFC332F3B408919CF7E5D42B,
+ B17D23F84E819AE911872FED,
+ 6A93C013E525119715B5BBF6,
90ABF4F46983014ECB8AA7FB,
- 54C2976F1C8239E23DEA679D,
+ 1CEE7C3D1A5041755F1B1826,
04BAFE2FB1BAAF033BC699E8,
41DC9C31FE8A27E721AC95C6,
D08758C4B60AE0ECD82D8EF6,
B28EBA2EDF0E543EA1ED374B,
C987F7105C386F9799C74AE5,
B28EBA2EDF0E543EA1ED374B, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- DEDC52AF030382BB5EE916EF = {isa = PBXGroup; children = (
+ 45E0840819129354AC37A657 = {isa = PBXGroup; children = (
21ED255865DBE1B9B27CE0CE,
A9B5EEEAFA441F850358281B,
BC77947BDED20C022DE3D8B8,
D45FA51540441FC7D57E016A, ); name = format; sourceTree = "<group>"; };
- 4346DB4FF08B3FB0AA3D9C26 = {isa = PBXGroup; children = (
+ 0C13081C03297CBDD4C38E77 = {isa = PBXGroup; children = (
+ F551F4D24F3088F26119C4A0,
7FCEC7C5C54AB90A7709406F,
B905BFB6C174B284D84339A2,
973257D8FB62DAE78ACE85DD,
6C32FCD6B87189C1F43BD462,
DB6C3F30A7B477AA3A695B2D,
6D869E6ED7DF080A9FAF162C,
+ FB4D68D66125EB95173322AC,
DEB4C3647DCB3A2D1DDDEEF1,
6C4F8F17F78FE9C8B45941D3,
DD7C6F9CAF5CBA11B6024A83,
5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = "<group>"; };
- E3B1FB08635B63FE110F2D04 = {isa = PBXGroup; children = (
- D5ECF9579C0C6725ECC5654B,
- DCA045C3BF4FAC134D479F0B,
+ 8A48703F400C9874723B5106 = {isa = PBXGroup; children = (
E9AFEB90653FD6CBE935D29D,
C771A511AA82C6C652D4FC70,
7F5C171BA5EA9E83295B7498,
10F35EB3267D17EB21EE9EEF,
1859D1550F703A8B0E2E9678, ); name = utilities; sourceTree = "<group>"; };
0F1330B9E634C8C1D2A19EAD = {isa = PBXGroup; children = (
- DEDC52AF030382BB5EE916EF,
- 4346DB4FF08B3FB0AA3D9C26,
- E3B1FB08635B63FE110F2D04,
+ 45E0840819129354AC37A657,
+ 0C13081C03297CBDD4C38E77,
+ 8A48703F400C9874723B5106,
B15BA9691F55085AEA9F9476,
D74F542E998B0A51BAB9D571,
05205756F23E4CB8A2A2CEA5,
5E151D89199CE9D3E7C3F0B8,
768E5A86B7E84A146818B866,
5E151D89199CE9D3E7C3F0B8, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ 03492DFFA579755F0026B787 = {isa = PBXGroup; children = (
+ B0DEEE2822801AE5611DEDA6,
+ 79938763D24E03C2A476F417,
+ 8C240DA21A58D5A93B3AE2A3, ); name = "audio_cd"; sourceTree = "<group>"; };
A4DB99A85C6106C5D535CDFA = {isa = PBXGroup; children = (
9CC7A321D4B4323FF06A03B9,
6D9E97482246DAD163EE58DB,
811C70C42F8696F982B7C891 = {isa = PBXGroup; children = (
449FB9CD81DD670CE4A577CA,
377814D716769899D3050668,
+ B8225C23468E409DDBB64449,
29C93739F97FE9FCA3AC4CF5,
+ 5FBBEE473676A0883327FFFB,
+ FB37C27FE40A2D0B4BC77C94,
BA4496257844A6CA50995840,
- 36CCF902426491CC248117BD, ); name = native; sourceTree = "<group>"; };
- 7CF196B147341997E63C0B10 = {isa = PBXGroup; children = (
+ 36CCF902426491CC248117BD,
+ F65AE162CA0E576EF9B17883,
+ 7F69D6A112028BA117BA7F44, ); name = native; sourceTree = "<group>"; };
+ F8E6B15248200F6E7A1235C9 = {isa = PBXGroup; children = (
4DA82F4EA6B042B411DB20A7,
- 59D6E450E7823A809631B85A, ); name = players; sourceTree = "<group>"; };
+ 59D6E450E7823A809631B85A,
+ A1F0097DBA818D7EA40C3D1E,
+ FF9B5AAE4E0C08161E30F2DB, ); name = players; sourceTree = "<group>"; };
DCA2C59535A97CCC2E7E5D5B = {isa = PBXGroup; children = (
+ 03492DFFA579755F0026B787,
A4DB99A85C6106C5D535CDFA,
811C70C42F8696F982B7C891,
- 7CF196B147341997E63C0B10,
+ F8E6B15248200F6E7A1235C9,
70461AEAF24C0B949814DD79,
5736EEAD19F704D8BC0D63CB,
0D72F29AB05E80E6D8A57578,
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
{\r
setSize (800, 600);\r
\r
- // specify the number of input and output channels that we want to open\r
- setAudioChannels (2, 2);\r
+ // Specify the number of input and output channels that we want to open.\r
+ setAudioChannels (0, 2);\r
}\r
\r
~MainContentComponent()\r
lastMousePosition.y - radius / 2.0f,\r
radius, radius);\r
\r
- // draw a representative sinewave\r
+ // Draw a representative sine wave.\r
Path wavePath;\r
wavePath.startNewSubPath (0, centreY);\r
\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<JUCERPROJECT id="aa4reI" name="BlocksDrawing" projectType="guiapp" version="1.0.0"\r
+ bundleIdentifier="com.yourcompany.BlocksDrawing" includeBinaryInAppConfig="1"\r
+ jucerVersion="4.3.0">\r
+ <MAINGROUP id="yXiPIx" name="BlocksDrawing">\r
+ <GROUP id="{092A4D5B-31E2-5D03-9B41-81C10EC447E8}" name="Source">\r
+ <FILE id="yiP4mu" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>\r
+ <FILE id="RyfWDq" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>\r
+ </GROUP>\r
+ </MAINGROUP>\r
+ <EXPORTFORMATS>\r
+ <XCODE_MAC targetFolder="Builds/MacOSX" extraCompilerFlags="">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksDrawing"/>\r
+ <CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksDrawing"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </XCODE_MAC>\r
+ <VS2015 targetFolder="Builds/VisualStudio2015">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="1" optimisation="1" targetName="BlocksDrawing"/>\r
+ <CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="0" optimisation="3" targetName="BlocksDrawing"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </VS2015>\r
+ <VS2013 targetFolder="Builds/VisualStudio2013">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="1" optimisation="1" targetName="BlocksDrawing"/>\r
+ <CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="0" optimisation="3" targetName="BlocksDrawing"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </VS2013>\r
+ <LINUX_MAKE targetFolder="Builds/LinuxMakefile">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksDrawing"/>\r
+ <CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksDrawing"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </LINUX_MAKE>\r
+ </EXPORTFORMATS>\r
+ <MODULES>\r
+ <MODULE id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_blocks_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_core" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_events" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_gui_extra" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_opengl" showAllCode="1" useLocalCopy="0"/>\r
+ </MODULES>\r
+ <JUCEOPTIONS/>\r
+</JUCERPROJECT>\r
--- /dev/null
+# Automatically generated makefile, created by the Projucer\r
+# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!\r
+\r
+# (this disables dependency generation if multiple architectures are set)\r
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)\r
+\r
+ifndef STRIP\r
+ STRIP=strip\r
+endif\r
+\r
+ifndef AR\r
+ AR=ar\r
+endif\r
+\r
+ifndef CONFIG\r
+ CONFIG=Debug\r
+endif\r
+\r
+ifeq ($(CONFIG),Debug)\r
+ JUCE_BINDIR := build\r
+ JUCE_LIBDIR := build\r
+ JUCE_OBJDIR := build/intermediate/Debug\r
+ JUCE_OUTDIR := build\r
+\r
+ ifeq ($(TARGET_ARCH),)\r
+ TARGET_ARCH := -march=native\r
+ endif\r
+\r
+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules\r
+ JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0\r
+ JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11\r
+ JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt \r
+\r
+ TARGET := BlocksDrawing\r
+ BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)\r
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)\r
+endif\r
+\r
+ifeq ($(CONFIG),Release)\r
+ JUCE_BINDIR := build\r
+ JUCE_LIBDIR := build\r
+ JUCE_OBJDIR := build/intermediate/Release\r
+ JUCE_OUTDIR := build\r
+\r
+ ifeq ($(TARGET_ARCH),)\r
+ TARGET_ARCH := -march=native\r
+ endif\r
+\r
+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules\r
+ JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3\r
+ JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11\r
+ JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt \r
+\r
+ TARGET := BlocksDrawing\r
+ BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)\r
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)\r
+endif\r
+\r
+OBJECTS := \\r
+ $(JUCE_OBJDIR)/Main_90ebc5c2.o \\r
+ $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \\r
+ $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \\r
+ $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \\r
+ $(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o \\r
+ $(JUCE_OBJDIR)/juce_core_75b14332.o \\r
+ $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \\r
+ $(JUCE_OBJDIR)/juce_events_d2be882c.o \\r
+ $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \\r
+ $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \\r
+ $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \\r
+ $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \\r
+\r
+.PHONY: clean\r
+\r
+$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES)\r
+ @echo Linking BlocksDrawing\r
+ -@mkdir -p $(JUCE_BINDIR)\r
+ -@mkdir -p $(JUCE_LIBDIR)\r
+ -@mkdir -p $(JUCE_OUTDIR)\r
+ @$(BLDCMD)\r
+\r
+check-pkg-config:\r
+ @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }\r
+ @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama\r
+\r
+clean:\r
+ @echo Cleaning BlocksDrawing\r
+ @$(CLEANCMD)\r
+\r
+strip:\r
+ @echo Stripping BlocksDrawing\r
+ -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)\r
+\r
+$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling Main.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_devices.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_formats.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o: ../../JuceLibraryCode/juce_blocks_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_blocks_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_core.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_data_structures.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_events.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_graphics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_gui_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_gui_extra.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_opengl.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+-include $(OBJECTS:%.o=%.d)\r
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+ 86AB9D29771B67849184732F = {isa = PBXBuildFile; fileRef = 7A425A86C84D843976582BAF; };
+ DC3B31CFC2AD4291556EC0C5 = {isa = PBXBuildFile; fileRef = 2C5EEC55C1DCC5A3372873C8; };
+ BBE14F0993C20E2D963EB167 = {isa = PBXBuildFile; fileRef = 5BFC1DE795FB9081364BFC41; };
+ 5B42DF91D2934C85ECF514FA = {isa = PBXBuildFile; fileRef = F5829E69ECD68EF59600F48C; };
+ 8852261A4E917CD1AED7E45E = {isa = PBXBuildFile; fileRef = 8E8E9DC0DD1905D43E295D8A; };
+ 23D2896D495239FEA26A3255 = {isa = PBXBuildFile; fileRef = 11AEC78B996D849B2EA9C96F; };
+ E759B32B9B193C5530B5728D = {isa = PBXBuildFile; fileRef = A2D1D8C580DFDB5C8E011C80; };
+ A616212899B39931D525663E = {isa = PBXBuildFile; fileRef = 25D249E24CF8513F7B245F8C; };
+ A6DD612C38EE8DBFD4011BCF = {isa = PBXBuildFile; fileRef = BEBF18621B604A4DE3180F89; };
+ 3517782FB58BA6883F7A9D6F = {isa = PBXBuildFile; fileRef = D2E3DCE1B8C06CB72C0E7E1E; };
+ C5B65EEA10D40B2770FE8937 = {isa = PBXBuildFile; fileRef = ABA9D69C67D0234528DEB39B; };
+ 19DBB78B919C4774330FCED5 = {isa = PBXBuildFile; fileRef = BA174BBB2231F7A8D1621BE9; };
+ F1C1D8F4BDE85067F5E61D08 = {isa = PBXBuildFile; fileRef = 49F51637C89080A76F65E9F7; };
+ 24C420997F20D0A7722D42F4 = {isa = PBXBuildFile; fileRef = DA8A4007E66A5DAF6714958C; };
+ 049EFBDC407E74FEFD6B5BC4 = {isa = PBXBuildFile; fileRef = 95CF46398870352FCFC6060A; };
+ 14F7090DA7E5514C84EDEAEC = {isa = PBXBuildFile; fileRef = 6897FB6E71DC9317E49C7878; };
+ 6A180703D5E1FF08436F86BD = {isa = PBXBuildFile; fileRef = F6846615852B68E9AC653C15; };
+ 778865742AAC536B855F7811 = {isa = PBXBuildFile; fileRef = 1ACBA85AD353C8C85A01F6A4; };
+ 3605BE75533AB0654207D383 = {isa = PBXBuildFile; fileRef = 78246E70C7F9C5C5FE05D6D3; };
+ 28112EC95408B63449B78115 = {isa = PBXBuildFile; fileRef = 051FF93BB3EA12E38D1FBA70; };
+ 24904A3173013B4EDA6F3C5C = {isa = PBXBuildFile; fileRef = 34210DF6FF04098CE9FDF1D7; };
+ D0BFD385DEAF6A175C6DFD65 = {isa = PBXBuildFile; fileRef = 58368BBE74C33205BA7031C6; };
+ 30A9BAE82518913F1E845471 = {isa = PBXBuildFile; fileRef = C8340D5843D5D25231C0F1C0; };
+ E5F0AAB587D9B91BD29F8FB5 = {isa = PBXBuildFile; fileRef = C6F80D596083F77D6657CFAF; };
+ 002081401EB031560B2EC23D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ 004F22C36FC01D6FDFF1DA3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0066F77648F3BDE61FA586D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 00761EB1B52F84D5D8A980F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0134541F88473B067DD0FC3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0146ADA6A37B56C2B80B664B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 023F49CCDC1E02B09597C66E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 02C1D8DDC7431B47680C884D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; };
+ 0353E7FB538930065FE42F3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LEDRow.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h"; sourceTree = "SOURCE_ROOT"; };
+ 037F0FA4D8A2AF9C315C4043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0390D1AA08150791B9C14A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 04014274CF6B6AE9CA5C7E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; };
+ 044AE3BD6F938CFD4D9D8D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
+ 0470B740800E2B92D64815BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0486A2838E9CF6A08E2CDB4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 04C4492E9BFB187B49F04779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 04C9F35AD0D14A85D3757A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 051FF93BB3EA12E38D1FBA70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
+ 0533F95FEC48FA0ED4AA9411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; };
+ 05506138681C0203DA643FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 0557CD748B7EF8B3565B5C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 056DBA62F34F5450839B7FC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 05FDDC9D91284C827AB9499E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 062EB42B4D0132456274B1C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ 06848FA37A00867F19726ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 0691070A0EAF64964CCCBCB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 06CAD3E58038C492162890BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
+ 06CAEFF83FB934B4F5A5C1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; };
+ 06E163868146117AB3D4CB5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; };
+ 0715D437CBE3222794DDA264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 074F22919B41B0BA14AA4CCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
+ 0776A47DB06C6E9BCEB00E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; };
+ 07B31BAEA3EE6A3568B208E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; };
+ 07C1FAD1C77BD6A3DDA9FA4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 07E433FAF925C1A96D65CF75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0862E0316A22E94B2D6D2857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 0894BFE1740F84AA20C30B76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; };
+ 08DD52B8C183D2B128C0D179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 094C556F8D0AE8CC6CEED9FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; };
+ 098ED263E040117E51894F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
+ 098F2AE5656DAD86654071F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A230681CA56D1F24FEC0D58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
+ 0A28A390A6643E33040EDB3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A424FE157B5B3B881DBD947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A4A8668A6C39539E9353BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 0A526E1279C058ECEB5D72E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A98DFE44610565EF648D538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0B0E6BBD74D806034228CD61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0BA1A36CC006BB5B35A09E06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0BB27BEFDC069EDBC8A863CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; };
+ 0BE109C233090B72CC415748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
+ 0C012D29026F8ED248922AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0CBF3B6DB61DEBB13ACA5C08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; };
+ 0CD3B19FFE35170797E44D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 0CFA9E39AC23A4599C9C48CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0CFB9AD4E90B7C8A18E45EBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D01598931DB3987F905858C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D6AF3E024957A409531B0B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0D75C63F78F611EF265DDD00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 0DAA3726FC94F23E5A583A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0DC492C9812308493090CBD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 0E42B615AFEEDD7E91F69F3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0E4DBF54BA05AA884EA76D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
+ 0E90D8E7451AF40D3A29DF67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; };
+ 0F49043494C2D1C50D787795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; };
+ 0F939B5F2399CFD6C4B5225E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
+ 0F9867566F439625DCCD9E20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0FA78CA2930349913F5B6AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; };
+ 10C0A00B736989F933478B16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 10C405B7EC6821FEA0C19088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 10EF808AC938A441E7443840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
+ 111367FFC293098B75C802F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_blocks_basics.h"; path = "../../../../../modules/juce_blocks_basics/juce_blocks_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ 117B7E82A077413634C11084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 11A08A66A2A26A8DD64BD9F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; };
+ 11AEC78B996D849B2EA9C96F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+ 11B718FAF15A06E8A910207D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 11C9AF9C14B3A2D2DF1FD3C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
+ 11EDBFE1682FB3644DC34F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 12047DF1AFFBAEEE3F13B2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 12200964DE63BC34253234BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 123264F219D032A0058B6208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 126A72936BE02A55671DD395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1288968137D5024242866470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 12B17FE38D1A47D2558DC45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
+ 12C5696B0718F8EADE90B68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1322CA0A8EE358C0D34334ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; };
+ 139BF383AD50AB9D6048C0FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; };
+ 13F49EB3AE13CDD2331F0D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 141B5486B9DE5E175F54300E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 142DACDBB2E8CCDBC92AFA21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1446EB4219341EA5B6B0A500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; };
+ 14D6FADA9CE0607012BE74D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
+ 15084C7DDC789B403498C10B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; };
+ 1582CA65E7C557627CAA8F5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1607EFD478CD23076A9CBE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1639FF06D27B84F3842F4562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 16CB2435896E92B50CA98632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ 17A479D1C363ADB40C23A6DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; };
+ 17A75A5B2018AF3DD4CAEAE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
+ 17D697C3655E797A51607768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; };
+ 185F6931778F33EE877A4A72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; };
+ 189A025BB6D9FC4C5A23FBCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; };
+ 18F0BE846D182CD7D58ADDFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 192285B9EE21A90ED7F8E0C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 1940D822E35A6628F81E845A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1940FFAA55755E1B278A64E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 199EC45712172D113F029BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1A835D16C57651EB40C8A2FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; };
+ 1A8D73AA5A4FED553C046781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 1A9B604532F7CFF1D0EF3601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1ACBA85AD353C8C85A01F6A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1B33F92456804B396B860472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B44B5F73DAEC3C3DC9EA5C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B6526803945EC2E65A2003A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B7211B3FE22107FA247E052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
+ 1B95DFF730DC4AE8531E5508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1BCEE41B6DCEE197CABD276E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; };
+ 1BF823A1A7631546DF008D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
+ 1C284B833228440ECF8C19FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; };
+ 1C51E6A15595ECE194D61C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; };
+ 1C686568FEF37CE0C5924CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 1CA65E651664075BFF4A4A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1CF242F23BD22B44D7299E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 1CF7C7004E788245BE5FFF63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
+ 1D0631AE2D6F169182E62BAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; };
+ 1D59E459EEEDB9E5D454DF5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1DB6128ED112939DF6D08C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; };
+ 1DBC75BB007FC806B0AD27C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; };
+ 1DC4186072CFD272F5AAFF2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1E29FD9905ACC5F2FB124C4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; };
+ 1EA05B488621472B657800BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1EBDE46E356A339CD181E968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F5952CBE8D55B60F4321498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 1F63961FFD269C4B17EA03F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F8E318B3077BCC2B3619EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F90991691844766DEBB34EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F93660A522905B8BC5D5164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; };
+ 1FC96295DE9B2B7E4FC939E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; };
+ 1FFFFF4E5B8F6EE4F2654FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 200B85BD8C1DD5EB49C31EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 203A3979A7100D4DDDB2A141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; };
+ 20787DE99B3EB58014E2F3F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 209DF0D0D3C0BC4A7516409B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; };
+ 20A823D2665060E49780AB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; };
+ 20ACFF1C7D40C0262D9FA54E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 20B6868A9DD15D5B4D3174CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; };
+ 20BE42D96BA3A58DB9D3808F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
+ 213B4C6C828E14CDCEA7B8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
+ 21554FA46511039569EE00D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; };
+ 218311C48E20518B540D871F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 220785A2A29AC379FDD18B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; };
+ 225CC1842905214AED59DA4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 239FA9458853235C54921F5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23BAF64A603F0EB4AFCDCD5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 241601E7909618A7E44DA973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 24277D41079C536B0C6928CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ 246FAAA823101097F5BF571F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
+ 24751CDF3F22C8552B26475A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 247D1A676F993924931F2B11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 24AB7780B4E122BE96675243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 24D67156E1F4D111F2A7B66B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2523D5C265576DB518F93569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 259C02E224011BE7AA3DA3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; };
+ 25D249E24CF8513F7B245F8C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
+ 2609C83BFD2B75F9D2063825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 266692C15CCCF1337C225F33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; };
+ 270E251E092B56AE76BC03DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; };
+ 271FC8FF9535BA5B943803C4 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ 2748F246140E74AF34D2A8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 276090854E12816A7A35B3D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 277CD95799867DBC2DD130E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 277F888F37D8A11ABE37FA14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 279D761D2625F10B9527A035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; };
+ 27D256A43B9060335D1533E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; };
+ 27DA3CBF130A67C5E16A1997 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 27E7098028BE30F84E49D9B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; };
+ 27ED9C6A91E50785CFA8BA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 28092458C427E46CFC4D832D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ 2829B6FF07E693FF64CC5B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 28440D14791AF9B570AAD4BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2864478C42C226B34754D8DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 290A325171E1E397B3C4A9CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 290F124B244C09E6964234E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 295AD44153ADE7714563E352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 298C022C57704BDC157AA9C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 29BF54C26D1118B8618201CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; };
+ 29D582B81D48ACB55B82D3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; };
+ 2A0F270864162E316C58B149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; };
+ 2A1D8A60BC973056EAC9D44B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2A6913FDD4BD2C9238310B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2A8136A983CE21073E16D40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; };
+ 2AE6B05474C7AB5179544774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; };
+ 2AEEAC331F68F485DB7571A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TouchSurface.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h"; sourceTree = "SOURCE_ROOT"; };
+ 2AF40A5BA00C43D63CB33B4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2B1A206BFB17D26E59EAFA3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2B259B9BA313A92083472063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B3C0405AE9C2BD17690CB2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B4D1C6974F5316B8547C28B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B68FB010C7AF495E226C8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; };
+ 2BD8A54D90B0672EDA9F2316 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2C3519634AA5B8F12D781F41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; };
+ 2C4E2335436A0973B4D3963B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2C55D81A3E5D41505E7689BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
+ 2C5EEC55C1DCC5A3372873C8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ 2C75054FC9998542A3DF49BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 2CD956D8AC55456D758139BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2D04DCD5191030ECAC7A7066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; };
+ 2D09DB1F0F60421C24555BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2DA8268B68970ED28D8C6063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
+ 2DDAB967201CB1E26FB2016B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E0169C5F6520FDCBF0AD415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E1B7948B783544E70AF9866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2E4AEAE2102146D7213B8B52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 2EB3D45896B162CF084B45B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 2EDD997D7FC618ED3304605E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2F04A5D3853A1314F064956C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F05FC33C11271527B090E20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; };
+ 2F07F356B586297441C03FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F4B9232765C11AF743E173F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrumPadLEDProgram.h"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F9E0C26FE9DA472D2D7C2AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 2FD22509C8339B373DC63012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 300E4F29AA370E48EC0BE8DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
+ 30A6525A80C10CAB453C8649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; };
+ 30B31EE1B29FA4116F390154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
+ 3146322BAEB67344B4969CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; };
+ 325C094CD77DDDF596F68739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; };
+ 32CF5277357C6BF109C965E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 32D7799701743A4B29F6612F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 331AEFECC10C37E8E0735F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootRunner.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h"; sourceTree = "SOURCE_ROOT"; };
+ 331BC507B80F158CF52BD95C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3327CE380357EA5D43960E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
+ 333858A073AA2CF3EF807450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3339C81CCA49FF811D7CEB7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 333B552A05E9BF308C6ADD45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 33C57CA510B922FFF636FC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
+ 33CB13A430A6302290632827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; };
+ 33E1C399F2CA17A09EBB8D2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 34134A573DDF0D91487FFFE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 34210DF6FF04098CE9FDF1D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 344D18532509B867ECE196E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 356836FC63C553DE7E939438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 357E6A36AF5DEB7DAB77280B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; };
+ 35EB2AC6E224BFF79671F5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3626A7F4986882E314E193DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; };
+ 36402D3C84983BDC6A6C8EA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 367091F171F8B59F6C028662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 36C27C5BFCF651643A90FD30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; };
+ 37080D42462DABCF6250ABE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; };
+ 374284FAB08CABA8749926F4 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; };
+ 3766E76069E307005AC29A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3782D185E22EF45E19121FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 38180EF0EB0EF5A256F9284F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; };
+ 3839FAD677C474154D1EB001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3845F8554B1817B1D20ABFC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 38A27788CB801465A6398EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
+ 38BEC0B6AFAFA022B355CC1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; };
+ 39338FD8B8C695AE1A834CA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
+ 396D953F95B6F3476E790241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
+ 39786EE015E3BF240FD18221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; };
+ 397C67B8A5BEE04B873AEE21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; };
+ 39A8BA4E50401A7D579168F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 39B6D1044605C7418ACCA419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 39B8B06446BAB8D893095B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
+ 3A2314D17819BDF12A7EA07E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; };
+ 3A26E022C114766276A15799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 3A58806F1A210DB171E6FDD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3AADA20AD02A1052F80B2857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B3A0DE861C9D67CE502A7FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B4774F8B271C48F991A20BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B78CFAE2DBC0A8DACC832AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B87C21C53D89FE9F71AE8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3B94C5189858C02B00F9D486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlexBox.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3BBAB0E97622DB356777CC5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
+ 3BEA52C4079F6E4E014FBBD8 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ 3C53FF471FF3C7E737CA72DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
+ 3C6487063F6EE89907FC346B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3C6DEA1D9CF09ED6F08F8D97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3C71778B17054C9F858FA865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
+ 3CAD7F04BB8AC0A31D578AA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; };
+ 3D1F21B2DBFA9980BA10CC5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; };
+ 3DDA7C8BF74C996ABCB5E42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; };
+ 3E28690EA1B84705F43E3D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3E3AD57C396C694F715232F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3E482755EDFA44494FF023D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; };
+ 3E53AAF6A7C50B871CC2B84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3EAA7B2934AA9AF16F86BA43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3F4AD344A9B3A6B75BE3FFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3F50B376A0FED903BEF9D6E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
+ 40636EB94227E67A528D519B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4069912BB1035F584A985757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; };
+ 406F6D35C92A081783503504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; };
+ 4090EEAB1ADDDE82E77B5DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 4090F84100430A95257C056C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4096D9E72DE8958D26ACBBBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
+ 415582B6861C4D9335450BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; };
+ 427DAC6EAAA22DE235AE7ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 429AA59EA439AECCC1F9ECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
+ 437F1CE387FD226CA02A9454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 4398C562023B9F4EC288F057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 43A9DE0FFB1C5A5CA2CFF625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 43B541DE2AE988D5DF58776B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 43C6225F03FFB572BE6D67AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; };
+ 44232F9780A5411FCF2A8917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 444983159A76796F60409C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 4463E0EE235D2C829F6FDB1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 4483F159C5ACFFC36F93872F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 44D08244DA1B152854D77BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; };
+ 450C2C035F67A393EE398389 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45191F8C48FCE643824B67F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 453ACC771EC4B44D3D8461FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 454F697936B8D253DBE37652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45530FF0DF287CC439A75C68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45BC9079C10E9CE2545372E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45CBAFDFF44F281AC2F0B6BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
+ 4614B1629630EC59F40145A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatusLight.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h"; sourceTree = "SOURCE_ROOT"; };
+ 468B2C73407C4122B3EF31D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 470B0B0B081EDA873AF2B2B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 47D1A2ABF002436D022E4629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4807176892A793726C3030E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 4857997C4BBF4ABFFDAD0513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 48EA76CE620BBF4D6769E156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; };
+ 4908B3ECE012F00C883F7B33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4911478A57ED2366B40A794A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 49658D638C9D0B372021D4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 499BE80E8E2BD8DDAB5D59AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; };
+ 49DAD9D2B69437A26DAD5748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; };
+ 49DD9B8AC108D8DA6F3C9004 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 49F51637C89080A76F65E9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; };
+ 4A2443720BAB38D3E9C139CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
+ 4A455F78617CEB1A01BA6240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; };
+ 4ABD70F1E7F6F48AF857A965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
+ 4ACE92AA3EA20E9FF19A5EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 4B1711662ECE0954B9C568EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4B3B86DC08726E193EE0B57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
+ 4B407E6A73694445CF7D5822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; };
+ 4BA32E5F03049AB701E3ECE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4BEF56AF8ECCFB74306EC4CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; };
+ 4BF9A214E3239A725C95A0CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; };
+ 4C0AFE09AF33C80188A5B9A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4C3B17A607F33B34D02CE3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
+ 4CA0A983AF6B0E150F60103B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; };
+ 4CBA1C3B21C36425EC84F564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4CEE12CB5E78F95592D44E51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4D104280B481AFB44BF5E2E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 4D99FF33B0B3A9DCB92F5398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; };
+ 4D9F8630BD90770B6B0D6AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 4DD7EB80D3CB19DF56D1537A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 4DFBF53F97657E4EFDD52A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
+ 4E02E4AA74C4114212F7CFA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
+ 4E7AC87722BC21E24067C50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4EC1622A1F36D7683C929C35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
+ 4F7E64285CB12F5FBA614387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 503FF47860BD2E0B47D006CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; };
+ 504E881FDAE5D3ED5F44AD8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 519AD5862822EDEBAC0B90BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Block.cpp"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 51A72B6C930D8AF149FD2749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 522270278A659CBC622295F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 52BECDFDC5A1AB81350C3852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 531AF914074A371A2E23A32E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 536BC600CA34FB063F45C1E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 53737E956EE99C3D7259B31A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ 538CFEAD991A38E937468632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 539CD06A40CB5F62F60BEF11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 53EA0626B6F8E27469BAFF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5437AF65F42F7664B4CED35F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 544EC4BB6C544497553841F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 545B97A1511AF973F46E94B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 545E7B8B5CFDFB611D5A6B98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5478200B71A9A9A7BD4480A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 549CA3DE9B8537DB0E936173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 54FD746FB0C4F9AAE87255C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
+ 553A899730E4FED7F493AA03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; };
+ 556073348F35F6B6343EFDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5570A3AA41CD987CB8AF621F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 55AB9D614F2F56C565EC6A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 55D6BCF1EE93E7115FD25B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 55E100771C243BB2B46C1945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; };
+ 563EF4C72F8C339ACAD8B523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 567B029174A0A74AB7EAACB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; };
+ 56947856572E0773E89E983D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
+ 56E5943EC268C8ACB54703B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 56F7B561DABAD1E7162DABAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 56FF63000FDC0BC90E5A5A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 5715D8EB7B390BE9ED802636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 5718105921167286442E445B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
+ 574E29C4D824BEE95F94E7D6 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; };
+ 57825B50FC0B9D54AC6F5233 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
+ 57F32BA41566BECD1198F63E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 580E504DE6FCC999560F76A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 5818CD0223532F13C5422A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
+ 58235EEADEC6FAC59636CB96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; };
+ 58368BBE74C33205BA7031C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 584EDA6FA74C50574390206F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; };
+ 58535C354768ADAA4077E080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 586167D6EFD43337BEAAB7B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 58794430869AF8C92E6AED83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 593C779BB2853DA63333F24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; };
+ 597C4C555ECEA36CA936952E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; };
+ 59B47C8DF376CD937166C568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 59ED2CD34E9EE135DEF23CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; };
+ 59F0D2E146BEF01BD369BC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 5A0915C957A69EF3DBDE24CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 5A1807F25D0037008CA04820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 5B152A04D2196E20B100C945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5B4C1750EC6135B256ABE7DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
+ 5BA4327FBE2B4992AB7D470D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
+ 5BAC2DF04466FBE5A779B774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5BB58DB08E7DD4BA6CEC8C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 5BC7E933E7CD92D0A381B90D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; };
+ 5BF024E66E12CEFB6DC04E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5BFC1DE795FB9081364BFC41 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ 5C2EDB15A478BC999BC079FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5C4427398C7984C80C2CCB4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5C8D3EA6AD2DD7A4223CB76C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5D21C29E0BFBDBD6033ACD52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ 5D337272B18AD5BA989013E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
+ 5D3DE7592345CB26E453DD88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 5D9031A30530CE59A53E3958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
+ 5DA1AD2BAAAE47639F2CBF52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5DB18DB883B9C7D28EB5B3D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5DCEF8D12AF1DEF74E1A58F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E06F5051C1D854B2455CB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5E22100B218036559DC43F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E23D96E2EB9F88F38D93DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E69CD9BD8767CC7DEC344FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; };
+ 5EA4D7EB503ED1646A1FECA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 5EB0F9F985EEE1043B06F8D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
+ 5EB9EE254F51E02B1D49B873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; };
+ 5F87DFE6A335C9D107B47961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; };
+ 5FA586ADC9B382B988AD8AFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5FEDFC682FF65A4B073C560D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 600E8EE6FDA5AC2D4FCA236A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 601B5502C91035D62D87B506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; };
+ 60357B0189F033F10BDACB40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 607A351282D13B9C4D931487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 60CC9ADC40B2E610426CADDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 610B1C222257F0AF100C0FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
+ 61117FCD0F1DBE0C0A0848CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 61248F75652B6DAFA4F38B3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
+ 612AFB5CDF7DBBE13AECE21B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; };
+ 612E1D2CE93492314875052C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 61393699FDDCC169D329FB77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6147413C8FDA6F56B2511937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 6149287F9C3FEF175DE93D44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 615C09366D1D8E3D4764C203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 61856C0F54319521E8F3F10C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 621FCE540F6FAB599D909498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 623A644B949C7D20EAA7244F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 624D3D50FD9D2CF430B9E21B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; };
+ 6263919A0E13A478DD9B8E4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 6268C28D72A70127114C3F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; };
+ 631723C152BEC3979C519B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; };
+ 632799D218CC8EF87A1FC4C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ 63E02DCB877D069673E52352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
+ 63E09EC8C65C77DA673583D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlocksProtocolDefinitions.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
+ 63EEFBE330EB5BC4915B3CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 63FB71B51C45DA49179DED38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ 641EFA9EEC15017AE80A1DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; };
+ 644469ECB4E590A9C15A52B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
+ 6458E206EE79D7E0784192D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; };
+ 649085EB467A026676DBB4F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
+ 6492E3152651A34E24D6B872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
+ 64F71A2D964E6A0FB566F130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 65030DB669123C73AD06BC59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; };
+ 653F95F9AB21206540FFEF8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 657A6786386C94EBFB7E3663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 65807062EC07B4BD5D370E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6583030D2AD858AC45E0E96C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; };
+ 663569EC98ED7266031231D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; };
+ 66A487257989CA14B111F1A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ 66B3431BDF25570225A5AB8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 66B742B483616B3D07D6C2A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 673E8C7D27E3CC7E4FC7C140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; };
+ 6782E466222709D18B09D48D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 67EC8AD0CD7DAC5481B04190 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 684B8A50E02C8162EE2BA64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 686718D917B30AF24B25AA93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 687AFE2A556575D12727AC97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Topology.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_Topology.h"; sourceTree = "SOURCE_ROOT"; };
+ 6885D505E3F0F066A6A1376B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; };
+ 688727FB029B1A70D165C0F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
+ 68934CD6CE0F82842B38E70D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 6897FB6E71DC9317E49C7878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 69413E19788FD4C8427D2047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
+ 697E431D427707F2C35E355E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 6999B5B3C67F6A85AFE73030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A06D4935ADEFEDD5AD4DEB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LEDGrid.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A60D471004BE04081759888 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6A64E63EE6FDE58B69CD1BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; };
+ 6A6C31420003DA6CA2AC0919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; };
+ 6A7F5A9D49123D2E95B49772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6AB62DA273BBDFC1135E90A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; };
+ 6B1587A046ABBCBECC7EEE89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; };
+ 6B21CA4E90B1E4E4A7C7C58D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 6B671201E1FF73FCDD6CAAEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; };
+ 6C1EE0564BB0C2F66F9C2433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6D0D508CB90E1424BF8A5212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; };
+ 6D39BB7673BAF2E3C8AAE91F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6D6D95F6276628417314D1DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 6D7601A0932A43EF421666F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6D7D30FB2145AC442C40EBA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6DB036256A12DE6707F9C9C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 6DC17D96EC4A453BA5705B5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6DCDA4F97614BC13BEA86E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6E2A3A00C7C2EED4A2204F64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 6E73F0C077921B8A2626BDBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6ED2B47D5060F8EACFC50640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 6EEA09DB41120AB493D5FBA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F3AA44CBACA9F95B74DFC04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F7146819DE5D5286BA4651F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F7CCD75D031B8B2EC131463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ 6F9576EBF672181637694D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; };
+ 700309127A4E6C1378786002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ 703BE578C7734841E9CD5244 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; };
+ 704D70D4573DECD12CA73CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 70E4E3BFB060C386A0362EB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 711B2D0097F6D3BA4948C4BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; };
+ 711CE5F4BC5BD6E5CAF2685D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 7145E7465DF41F9D6FC45BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
+ 718C420F99242A6295DA9595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HostPacketDecoder.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 71AD6F9EE810D5E64501A9EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 71F73E3EC2042F072661A063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 72411F578DA78B9085680E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; };
+ 725A7C4935EEEEA754AB1434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 728BD1D3A907DEC516DFC176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 729650F24BDFFEA4A46D10E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; };
+ 7298CC9DA61DDEC96BD5EE34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; };
+ 73121BD33FD2353A25A35A94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
+ 73992D8767EDEF2D6EB6D53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 73A2D848ED2A8543B70BC377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 73D6496962BD45E5C330E28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
+ 73E90793E3614C263A6C004E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
+ 740927D7BB5A3E806C2B02E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; };
+ 744A990B9EE159A4F317B630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
+ 745138CAA42C288D5138026F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
+ 74544E312D428A452B979DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 74B07A28EB23CC43D62DC171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 74C4B79ACFD452EE22F2B2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
+ 74E0C059A3F04E23BC7D6CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 7518FF0D86762A4002CB3BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 7536C2D11B41187764CB4EB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 75379B0DDC5FA7ACA7EF1E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 75ACA1805C5BBEBBB33D37A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 75B91A274177138164C8E8FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
+ 75BBB2617BAF223C144AD83F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; };
+ 7672A8DF6CD0B91294F34B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7685A5D611C93CF56AB57982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; };
+ 76B2B7A289FE75D96E2BAD6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 76B90630B964BB29F039EE98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 76D0BF8B5577AF7CF4080556 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
+ 7784DD20B44E78AE08F056BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 7801374F867F19B791714ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
+ 7815F96579EF3984A823D01A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
+ 78246E70C7F9C5C5FE05D6D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ 782DE6A268A9B772E556FE51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 786CCAFDAF17DA58ACE82151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ 78C50D94075B56512516F0C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; };
+ 78D1F8BCE2BDAE743985C02E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; };
+ 79DF44305EB8AD0AB9AA644F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; };
+ 7A1632B101AEB65D2938D05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
+ 7A1CBB013812C5077EF88455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; };
+ 7A1DC58C900038C5536ECB26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A425A86C84D843976582BAF = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BlocksDrawing.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 7A45E1898C4D332A35D9D4A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A97911264D36FD7DB986799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 7AA7EF5457F7351F93632B42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; };
+ 7AB7D128053D5162018C1306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ 7AD76C1D103EB21BED1F37B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7B16B12DDD0890AD7E7650B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B2051E3A09B3AD07C0779A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7B3545E46376622310EB59B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B362CD435FF7C5FEC8946F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B53E332EE979100E6BF52A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B5BDF0835BFBC98BE1AF40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7BA8C2A9B4FC3423E14BAA1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; };
+ 7C3B053CAFA9B60C2753760B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7C4E346CB297C8402E8B9EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; };
+ 7CAEED526FD3AFEA13661339 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; };
+ 7CD19CD071905D0D5AE9DAA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ 7CDD61D86C377AED49D7C36B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; };
+ 7CE7C89FFEA750504196EE52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 7DB9A958D609645E015285BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
+ 7DF934500DF6CAB57C080788 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 7E7377E9D88AF945C81B1508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7E94ACC1938D2378F8D2A72D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7F1C7B3E3DE4FC281F9900C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; };
+ 80127DADFFB0364380063858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlockModels.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h"; sourceTree = "SOURCE_ROOT"; };
+ 80DCA56117702F7F20E01546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; };
+ 812545D343F30186508BFFCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8219D04401B4E7A3132836E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 82455A57CDA42849C17908BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; };
+ 83532D5F5DDC2434D116D2D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 836AC4D87F03678F04FABB2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 83711972C02675D110592D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 83B5050525D84F2137620F85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
+ 84088AC5990FDBA99C10AEB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; };
+ 8428E9E864E1F19E0EAFD021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8450F40BFBC3B18B98F502C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; };
+ 8543CA9CEB24331404318202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 860B2CB374BD49B9CDBC86F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8625E2827442BA5B44B13073 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
+ 86468BEAA12010DDA016CC10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 86495A92C2E2F86CDE545090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 86966F3165471A68C3980A99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ 86F179E6CEA5A7C8AB72F7EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 8737BFF74A76A096E301AEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 880D898BB1B7F8F39E263670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; };
+ 8832DEAD11A1BDE92F88E96A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8849A3B9AB85002210BAA4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ 886FA35D63BFC08BD7D73835 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
+ 88D3EFCA13604867A1F470CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 88F5C798F640B57B88D360C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_blocks_basics.cpp"; path = "../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 88FBCEC7ABDCCA13CCB051A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 890805204E0C9E6BD0539FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 89742E482CC7CB5B5EF30C62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; };
+ 8A892B3DD7007C51B0C33BF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 8A95F4C0FE8A8B4BD6C3367C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 8ABCCE49B1351D78276E0240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B13D7687A250F53A0657836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B6110EB4D07A18685A846C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B6CB21BA069BE0A9DB997C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B9F98C916563DA675817DB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
+ 8BC9B58760E42691BBF12A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; };
+ 8BD2E34FBF2D665B3EF5B469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8BE1CC0E799319B70AB961BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8C0026D65608D62E221DBC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
+ 8C39F2FC681488A978C02F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8C64DB8B08929B71E71FE00B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8CA9A46A8EEB6EAFF14F01CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Block.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_Block.h"; sourceTree = "SOURCE_ROOT"; };
+ 8DA7C37254BBEA4385A7272C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8DD871588D5CA5B49031268F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 8E09F168C2F3D7F02A560B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; };
+ 8E8E9DC0DD1905D43E295D8A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+ 8EBA149C544E2531D23342B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 8F288B420371B401EC1F6ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 8FD738198716A7A7EF9F6BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; };
+ 903B180F576936C1C0778FA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 906D9CB145D3B8719E3365D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 90A11F403330C55809F0693A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; };
+ 90F86126F8DDDF7F0B018E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; };
+ 91282DB87C122E33BE6EA725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9179873697C95D0EC0726805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; };
+ 918DF23CD3CA21B3389461F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; };
+ 919C856B02EAB19A18BB3DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 91F579A8D11716F70BBA9E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; };
+ 925CEACF0A1957FAC23FBF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9264EEC6E37C9794BCF6FECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; };
+ 92D9732668F8306983A2C8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9342911CEAFB09DDF359AEB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; };
+ 934AE9A59C6374B938BE3E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; };
+ 945C3EC8D157047CDBB40D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; };
+ 958BCC24A1E4AB1BAEACF4EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 95971D0F582F6929C281163E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; };
+ 95CF46398870352FCFC6060A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
+ 95D25749D94F08E12069A7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 960575CE2C582502E072E8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 963DEAA7F26F49267926BF3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 964801C74A24D3908CF515C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 96A2953B2FA5493A7DE10DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 96A6E353538E094A04B39037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; };
+ 96C12E88FC9FA008BEDD2B33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuleBasedTopologySource.cpp"; path = "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 96CD68D66422237A8B854E2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 96EC2B19F751907CB45B01BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
+ 972E1506B4B1E6671E3886B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 9783CB2BAA068EB04B2DE913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
+ 9793AB1BCA6FC17E9AB9E2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; };
+ 97B7579F4F3C4CEA23457E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 97C0AA5352C7C3C7F4A5789D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 986010E9A082A0DF23C16F2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9882D3310A95980C9D5DDD23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; };
+ 98871DB50478294FB98B1250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 98B11261E0FC7EE6D99E7DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
+ 98E2AD4DF8685112F956B0CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9960BC593F02AC48F6A08361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
+ 99CEF028EC17F57AC2E1A9AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; };
+ 9A0F119D9863AE9F5C0A4251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 9ADBEEDEFC166D8D54552C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; };
+ 9AE0690540C8330E95C5378A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 9AE5A43B10E756BA25BAF5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9B0E2E458B1A3A4B032B2B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9B27CF1ED3952EFBFA499E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9B6B508CEEB3F5EC8F7CA865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9B9CD377B20CE92F487443F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 9BFD087AC2047471E1A72573 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
+ 9C3421F6E24D5B91A0CC7D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9C8498C25697BD9D5A3F6D3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9D20518D03EC11768E1792BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D205E4994ABB6EEDC413B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
+ 9D3604486A3820957442DAC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9D49849845FD1998D6B914AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D7214C957FDDA6BD8392496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; };
+ 9DD0823ED8C33D9A7CA14BAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; };
+ 9DD7345FAE01C04CCDEBA6ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 9DF33E67E71F1CF73BA35B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9E0FC42C47F16D5C57B2E264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9E4BEA0EFDB80D8CA2DD0CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; };
+ 9F85F3E67F54AF4C454660A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 9F8AA48F8045ACA58C8A4F6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9F8EB8E2528BA45535A77C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; };
+ 9FD554B2DB9F180890BD96E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ A036582CCB2DE4B4A8128349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ A0892128AA6C1E5A76986975 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A096FF1C87782BDAEF467316 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Protocol Format.txt"; path = "../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt"; sourceTree = "SOURCE_ROOT"; };
+ A0CB6935196AC5238C8F269C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A0FBE04131F0B428E5382BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ A106D601CEAE46F8612DE89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
+ A11023CB00AE121E7551575E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ A15293F413E554734AF3A401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; };
+ A19D218B170382FEF05E2705 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; };
+ A1C56EE3F45839F0BD3D0EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ A2D1D8C580DFDB5C8E011C80 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+ A2E54CC2C9122D6EAC457A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
+ A30E3FCC559193AE6F7F1F78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; };
+ A3191FE1009A7FEF6BA3D845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A38D7A623B8E8ADA0B271A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; };
+ A3BF0F7F436BFD8E77FB20D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
+ A4702F8FBEA4EEC93C642201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ A47D11008150FAF0F5E1BDA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ A4A6D8EFEA6E78DA9B2513AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A4B7673DC138F9C0E9BD0766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A55155A4B2E8B21C942087AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A557DCC45C8C6EB171447483 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
+ A56ED345A6C89B13D2D0AC89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ A5AB415F38801E8B9E42BC18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A5D61A4D8387CE0D63C2EA9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A5FDD01BAD9616628F32C831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ A6846271DA4C65E13671FDFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A6D97766BECDD4C23BE1B953 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; };
+ A74640D9C2E16C5C87E2E623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; };
+ A78B312A1934BBE26732F230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; };
+ A7F4E51343ED786701A85266 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A949ECFB4D16AACF21B81087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
+ A995433F093578C88957DE29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HostPacketBuilder.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ A9FDFB5F161125277F1AB460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; };
+ AA0A2049DDF0116D0C91F3A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AA47AA2AF084DD722F045EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
+ AA7CD33408E87BF62FD6196F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexBox.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h"; sourceTree = "SOURCE_ROOT"; };
+ AA90A7B401F1D9F00793F82E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; };
+ AAECFC780C79188EAB8E191A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB15F30C4F3A5709ADA3C5B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB21709C107E99105A6FB362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ AB80352DA944BD5DA249706F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
+ AB989510F98B9761E74742D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ABA9D69C67D0234528DEB39B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
+ AC5639600E1A1B0179AD1E92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; };
+ AC62274498F9BDA29F8E8F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
+ AC97D162AA13FBF82C986A15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ACD13A8C04CEC6BD1ACF93EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AD8F4F2CA47F83B1A807F2E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; };
+ ADB9047E9B3711E62B59B135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; };
+ ADC573E1DE05C8BF45BA5B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; };
+ ADCEAAA615BA2F1E2DA5A552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ADD5B3970974BE782183D773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ ADD7CCBC25DF55BA9E3F37FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; };
+ ADDB77CC79C1F4BFCD8EA214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TouchList.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h"; sourceTree = "SOURCE_ROOT"; };
+ AE1E51D46D5E4831C05F3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AE30CCDA7823BCD359DF6BC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AE8A2F2B590228AA79922EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ AEB4B2FABF1201F9F7B7E047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AF267F3F6B8A83A09D06ED62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; };
+ AF374439C21B2E140A216EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; };
+ B00597263D3795CD71B882B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B01CDF8E11068A6CC13DE786 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ B025DD0A3F91CFD919E11B07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B09A2E2F16477C99EA897073 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; };
+ B1613A82275D9F1E92EDFAC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B1BC8916C2175FCC490D6C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B1C0B81D1BD4D3231134325F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B1DBB67D021C6766CBBE18D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
+ B2219699BDACA12A3379C88C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; };
+ B22866EBFB0C99DE4D42CE0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B242FAC40794E6AA4764100C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; };
+ B264338B2CB821C82D66E580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ B270479985DD8DDA845A54B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; };
+ B2D67E046E2D97AD7F5ABFB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B319C152B230E760D9A72B7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
+ B31E1DE4DBC63408972C8FD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ B38B035A94F8C68FC4213C4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B398D8AEB8B5E0EFF2B4B3FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ B3B971DDAFD16CB2BCA72550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B3BC943D19B19B766F15E473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
+ B3F7540EBF2CB729A670533D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
+ B446D55BAF06032F986AF19C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B4540086B453F0270F5C7110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; };
+ B457A534EA87F2839E1B3FCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ B4A76CB44C7B15E9E6B58980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B4B4DC2B15A8661F0AFEF3E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ B516C7504041F3EE923DDD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; };
+ B522A301353479C5903C2BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; };
+ B53F0009D4FB58F0AC18538C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B5D27AA95B2A067854F67E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BitmapLEDProgram.cpp"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B60CFF7FCC83192561D27CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; };
+ B6B1184B6619487E8B2AE5C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; };
+ B7BA6785B1CEB985232FEF7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
+ B7E8E5CA1ADCAEE8B0B2AE66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ B81A3688EF80E88F9A69CB5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; };
+ B85D5F20DD455F0A09E51890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; };
+ B89E123B84D78A063F86C450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
+ BA174BBB2231F7A8D1621BE9 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
+ BA1D0F30B2E5F0F96F4185DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BA3924B82348A40C2FEBFFAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; };
+ BA486909AAA0C990DAE290EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
+ BA4B70F733EAD229E55E0E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuleBasedTopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ BAF0BD1C8BB7C746AAC1D571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BB09C4787A9C5C0AE51C2BD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; };
+ BB2CD5BCE2AEF09C4C823288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
+ BB638189F556D13F0AB77A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
+ BBAB8667033A9E3B295E3211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BBC54027807B8B7B1ACD6000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; };
+ BBF8BBCA90A1B0A4EB6BBBE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
+ BC1AB5217569FF1D6768A3CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BCD71D1B2DEEA1348DCCE537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BD4BD40C6DC55C2F6376E395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; };
+ BD64382F5648F98E5DFB2A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; };
+ BDBD094B7DA913DEDA5D7688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; };
+ BDCD1040A270CAF356A41207 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; };
+ BDF255F033104DE89BBF5753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; };
+ BE4CB834C716473B6B313399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ BE78B2465604039AB4A65752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
+ BE9BAFCCA84A57BCC7757A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
+ BEB30294F6BD8139B70ACA29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
+ BEBF18621B604A4DE3180F89 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ BEC2A21C4407F4C73D150093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ BEF26E4CAFF6B05A4704CCB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BF6E03438E370EEFE3BF3D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BF89725F8EF9FD3F106EF1BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; };
+ BF9F956D877D02F012B010DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; };
+ BFAE76FECFA66C9288BF0538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; };
+ BFEAE2AA0BF50E036F322649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; };
+ BFEE1CED7A30F4831ECF5640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C043633F2730276BB74DDF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; };
+ C0F6921835D97E2F4D2DB770 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
+ C102AEFE9D479EF1E0C7E711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; };
+ C1128422B16AF4F5D607A27E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
+ C1136BF7764D76BCC07C1786 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ C124E30C7AD0CB0D8F8A92BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C1366849A4AFA9E7B0059002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; };
+ C149A7858B0F10BA32397325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ C14CD4C38D9E545A25173002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
+ C1C083B21DC5F0D62E39804F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; };
+ C1DA9A178649303EA64D9CDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; };
+ C1F06DF70CE1D7CAA0F843EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C21E0DFFD3DE02019FC31C88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C22B01AD2000713B7888F4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C26F3A2EE38B50F90AB4625F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; };
+ C270E46D4AA6167816A24E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C282CB01D300C1E7E27868BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ C289CBA2B8F95F33925A5AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; };
+ C294028BADB2FCB4DFA91F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C2A466EB36712942B38373CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; };
+ C33281228651767DDAA05EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C354BB508CAA843514B0DC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C378F00E8279BEB7A09F2A72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C392ABC2B2ADD1DE523ABE3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; };
+ C3933419918B6A2495795FA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C3D0F7D1F0571E02349725F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C3E8BCE32CB8C9972EEB5706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C40EABB3E75B9AD8FCAB53AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; };
+ C42E1A852A4060C39A22C1BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ C4976B0216C3F8E8A56F712C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
+ C5104A09F22FB66E2AC19B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; };
+ C5350D02D320948DED393876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C5777CD565420A7EB18DD101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
+ C57C03814BDC21126887EA4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C5857532F6E1AE39D90B7917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C6096109CD738B1A58DA3EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C60DA546A123E4426401EEAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; };
+ C64BEB2595FF7B1997AC0915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ C654FC89A62EB1AD67A81BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
+ C69EF03A5A778E53285D19E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C6AC4E412268374ECDE2C99E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ C6E40123A8CC368E7B87C8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
+ C6F80D596083F77D6657CFAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ C7432E6D6DC03F9DCAD71B62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C7450EA94B66FBE26DD4425C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
+ C7B16C910228ED1FAC8453A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; };
+ C80EFFF599AEAB505C66280D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; };
+ C820D0678311506A298CFE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ C8340D5843D5D25231C0F1C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
+ C896ADB53ABA8E7601D1A370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
+ C8CE04B8F4CCFEB1D6231EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
+ C8D06833FC91008893DA677E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ C93671CB00DE385BBD8E6618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; };
+ C9521769FA6C438BD18033B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; };
+ C9C7AB9D948E33B00A7EAAA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CA306C285A8508A076AEC761 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; };
+ CA36573F2BB8AE07EEF00E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; };
+ CA3EF1BD5EABE1BD96F43665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
+ CA7F202DB69BC1EC2BC4DD13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CAB0FFD4ACE46B5BB6559F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CAC17359BB40A2600B570176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ CAED4415E9FA4A520C781C91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
+ CB5D7AB96931DD45ABE6D2FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; };
+ CC141B102407EB5556A247F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; };
+ CC1774E1F34D88E2F4CE51F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ CC272EEB471D5EA69C641557 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
+ CC49BFDF0CBBF67ED6045497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; };
+ CCBC090AD7596A080FC7A6CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CCBF278ABD9588C5E6338B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; };
+ CCC470BC52BE24359C9B42AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ CCEA91668214454D3D0F13B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
+ CDAB4B0A9B5B3011F19322A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
+ CDE0660E5F99503610EAA638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootCompiler.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h"; sourceTree = "SOURCE_ROOT"; };
+ CEA4E46726A20B523DC9BCC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
+ CF66C32B9525ACB1889A39E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CF792DD18C25B9EE9757BD61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; };
+ CFA1FBA0FEC0A35E7F6124DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFD4B5AC0AB05BE52362CFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFF2489C2AEB28C3A650B7D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFFA9AE468F79CE1FA0F55B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; };
+ D00256D3C9092D8BE7847E03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
+ D0205E19CC873D8B25BE90BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D0396D5B22E7B4E9C9C500C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D07EEECF4FCC445C2438499D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
+ D09804119A3920F5EE1684C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D0C7B799E38035948C4BE8C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D132800CF893861A1F8C3FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; };
+ D261A0C3567A65D89C588F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
+ D26AB514846D276E9C51FCBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D298D08FA02F684700A19679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ D298FD4455CBACF2527B4505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PhysicalTopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ D2AA8ACBE7710F017D18DF47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ D2E3DCE1B8C06CB72C0E7E1E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ D3A89432A5F60B4D49E6D108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D40C1EC3546E2816415DF6E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D43C2B7847E15A523A416D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D44B50CE1B7346171B34DB94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D47D205D6F961B6EBC4D54DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D4BFD81E44C76AD3D342F720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
+ D555883E46392E7615FF364B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D5616DB6D85E2197BF1E9CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; };
+ D56BD4164BA909ABBB1857A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; };
+ D570A976A21A1659C7780CAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; };
+ D57104B8381FE2B99CDC33A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
+ D57DA2264293864CF1B8406C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D589551CB03EF87450FBBE2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
+ D591CCFE264DB281CEE303A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BitmapLEDProgram.h"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ D5C11D31E672EE9D429E4F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
+ D5C69BC1C552C6E0CD18C7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; };
+ D5D735F8D529C6A5BFC647F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
+ D5F0412FDECBA8A8780CC5FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D609AAFD609E9980F07C042C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
+ D61BBAED71EAA177A28395D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ D69D1212C5157C2BE27910CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D6F89D54CA1A79972E08BADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D731608ADAF378A4059E1D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
+ D7DCCE5D9835450DDA2E29E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
+ D821537DAB00A6DCF62878A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
+ D89C2F630DFB81B6B2AD1C1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
+ D8BF2EA2311BC20E72F780A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D8F5B60BE5D0577991914A97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D904278081426062CEA4F499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; };
+ D92208AFBEE850525AE7351F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; };
+ D9770C541A17B3531C7332A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
+ D9CF06E1D818462B23A2985D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
+ D9E41616376AD24F34EB84B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DA36F181CAE8082DDDED6C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DA53B98D8C420283A2AB6214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DA8A4007E66A5DAF6714958C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ DA96E7939F94646A306F2CA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DAFEEA3C749829580D40F99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; };
+ DB2D6628B85027F8AB8BED39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ DB316449643AAC516003AE16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; };
+ DBC3697C47DEEC4E4DAEBFF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
+ DBC93310B4C31F4F591D5552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; };
+ DBE3E85682E80FAA051D6514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DBF3D142BA9A164FB8881C1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; };
+ DC18C91A5FBE1FB377120DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ DC2781F336F044A8731338C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DC5249A582DDDB8CE4D4613A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; };
+ DC948A7B539C9F91096F0D1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DD2A9FD91FDD559EA8CBD65E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; };
+ DD3866A8E0E87FED180DA468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ DD38982F889B495C7BB6D1E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; };
+ DD51BDB967795F88A9BA0F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DDBE3FCE257DCA2725A50F6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; };
+ DDD4F13758E6FDA532A03F05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; };
+ DDDC3967C8D0DD1F07F4F2BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DDF9E58DE5C251C1E7D039CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; };
+ DE6B8ADF052D45BACFF2C641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DF2F608DC15355B00A3BA719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrumPadLEDProgram.cpp"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DF64E9F78EBF3B58607D5865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DF7E0DE4FE09D4EDF5155754 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; };
+ E012323C1204D53AFDC987D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E05078B9CED5C15A479F71B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; };
+ E0C969049C24A8E43F0486DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E1139AB7DDF9577A4980F362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E14D4575A6CDFC70041FE56A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E1999A43823A763801FB5FA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E1DC127CD1917EDC47AFB39D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
+ E2890F4804E553849187D4AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E2C528BD8EB2A5050E6769AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E31BD7852B2573FF90513217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; };
+ E328A1505415823BCC99CB47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ E3404F1292D9CC1AACC2B822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ E3B5F5DF2A0E372AE356B6CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E3C076697100860027D438CA = {isa = PBXFileReference; lastKnownFileType = text.txt; name = README.txt; path = "../../../../../modules/juce_blocks_basics/README.txt"; sourceTree = "SOURCE_ROOT"; };
+ E3D1CA4CE4EF0702039367EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
+ E3F9E4319F72D8F0196BB395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ E401077524D3DD89DB7CD8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
+ E415B8B616CFA41B4083AA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
+ E4173FC148926780FD1FBB38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ E480BC3D7B48F0C74F298C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; };
+ E4CBBF362EA9FEA76D089795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E536E1E838D941CF1DFF60F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; };
+ E5858F0CD2D3EE349B30CA5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ E5AD2180C57F5EBB1A39F66F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexItem.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h"; sourceTree = "SOURCE_ROOT"; };
+ E650055955C59718FA306757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E66238B027B9175B79BFE0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
+ E677E7CBC0109236A71D0E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
+ E6BA2821140CD68469CD8BB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ControlButton.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h"; sourceTree = "SOURCE_ROOT"; };
+ E6C6F3A38D8979DFD60EEF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
+ E6CF77D082C93F8B2D3CAF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E6EC16C0592B91025CC07278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
+ E7A9C044D65548A7EF9B2408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; };
+ E80DC5E1829B4F57F52EF78D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E8436FD10AED36594510428E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E84DE13A5B4E3CDD6E4E8F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E872F82A42DCC945FB958F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
+ E875B4CCAA5CA0FACA1C61A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ E87B80F116A6E06039AF6157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BitPackingUtilities.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h"; sourceTree = "SOURCE_ROOT"; };
+ E8A78E0DE10104E0C8152971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E90133E32AE7DA442643EA4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E96DBCF5B4D866A3A1AD89EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E979A50752EE4A8644D8A6C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; };
+ E98E28DDD9FD8ACA2B4DD12B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; };
+ E9E68A3AC31C5D2178BDE8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; };
+ EA8334D3FD2C2BAE1C87A38E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EA87BD84F0A54889DCA2C9B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EA8AA050C16F1217F3438AF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EB064E6E42732DD8623092DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ EBED707414352EB0E0A5D5F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EBF04AA55AD5EAB164D8A8BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ EC1A921FCF02AF23FAECA63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
+ EC66AD10984C221B97C10667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ECB2EC0CF7DD9626979F4E99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; };
+ ECD62CD88DCBB8DC105ECA90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
+ EE0BE235603DED2039A8A376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; };
+ EE52B7BBD6EEAC47129DA7FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
+ EEECE62F6037C2321B2ACF08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ EF3CADBD60BAEA2B521E0D19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EF4700A5245FE5647708FC59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EF68E830A48DA0C561928454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EF7A763B6ECD5D6D5C352EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ EF9BD384E8E8BFB77E7F0575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
+ EFD399B3BCDF81ADCFC5D7E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F072240BF81349DCC5A9B9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; };
+ F0FC842DADA7C5B6E493B189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
+ F0FD67695F37DE1B68129B53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F16303609B5C9ECD7394E4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F17400700CFFDE93F875A0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ F1ECA550F1B8B16C8C8C35B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ F20A54705DDD536DA6C03BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
+ F20FF0FD69B0994C963541ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootRemoteHeap.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h"; sourceTree = "SOURCE_ROOT"; };
+ F280712C33408DF47B6A301A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F31FBA293A67196F502E6BC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; };
+ F374AAD8894D6D40B4C38E8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; };
+ F378FC2132C2580E4C4E6992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
+ F3A4FF5FDA257CAD38849C35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F3A66E239C90932DE7F6DD40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F4335B83494891C421FA04E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F4470F1C34F0F6A324987570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; };
+ F46055F9E7B61F6AE9547B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PhysicalTopologySource.cpp"; path = "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F4A1AD93DE353D13201AB12C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
+ F5088482469904F72E1C5E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; };
+ F5829E69ECD68EF59600F48C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
+ F6294F7B89B33EB81BF8218B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
+ F6846615852B68E9AC653C15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_blocks_basics.cpp"; path = "../../JuceLibraryCode/juce_blocks_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F6989E8E541E0091DD3117AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
+ F6C2E437248C7285C57D8A86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
+ F71B8097C1E62565B628AC60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F7475ABCEDAEDAF46BB75C54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; };
+ F781B7A10E43CFBC73865282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ F84479395CA00824345C715C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ F875253F49AF427B48942303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; };
+ F8D2FFD56EDB135E44918781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F9165F30946DC46BCAE86E7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
+ F9192631BB2F48E64EFD2FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
+ F91C18845B000BFD9394DB88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F994478EC1241EE08FB8D207 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ F9D1D7808EB6923DF8954E20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ FA1E892179949EA7374BC35C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FA40DB2441500AF4B0ECA71B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FA537C8B56BCCF97545A916F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
+ FA734613A284C21C1CAE8A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FAD7FB53E0C69BF3CBDA507A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ FAE35C089A5CE8275D9A348E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; };
+ FB171AC63682377ADBD4DFAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
+ FB565EABA6355CFB94D9E2D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
+ FB678E72A050B9C8405A49D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ FC2AC5AB9DA0202896FFC1A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; };
+ FC849CBFC2B5E9D584151565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
+ FCC8E19B4E8537120C6F3B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FCDDBDCB9EE9E056A6551005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
+ FCE2AB34D1C54832F4AC47C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ FCE4EC729B0D9F1E38B94F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ FD346DC35FA3268FF7304168 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
+ FD796A075B8DA4EAB5C3D4B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; };
+ FDB06E14CF1FCB034663395B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; };
+ FDCB3E4E7614A659785FE0CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FDD9E523BA9313C8F0234145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ FE967F394CAA522759ABA2AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
+ FEA03311B1C8F40C86887D26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FEB48C07204CFD8949E8B669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FECDEC0CF69A38A446783AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; };
+ FF459A86F895958A65E5CA34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FF5A926355A65BE4932368F6 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "LittleFoot Language README.txt"; path = "../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt"; sourceTree = "SOURCE_ROOT"; };
+ FF624BF63C3BBD494478D2A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FFA048FF349F1B798B6471FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
+ AA00B6CDF58EE5901BBEF67C = {isa = PBXGroup; children = (
+ 38BEC0B6AFAFA022B355CC1B,
+ 49F51637C89080A76F65E9F7, ); name = Source; sourceTree = "<group>"; };
+ 9886851267A0D1BF2E10BA86 = {isa = PBXGroup; children = (
+ AA00B6CDF58EE5901BBEF67C, ); name = BlocksDrawing; sourceTree = "<group>"; };
+ AAC7F9963EB07D6B45D56BC2 = {isa = PBXGroup; children = (
+ 0DAA3726FC94F23E5A583A67,
+ 6147413C8FDA6F56B2511937,
+ 61856C0F54319521E8F3F10C,
+ BB09C4787A9C5C0AE51C2BD8,
+ C820D0678311506A298CFE8A,
+ D09804119A3920F5EE1684C6,
+ 9882D3310A95980C9D5DDD23, ); name = buffers; sourceTree = "<group>"; };
+ 7BE97121AABF0D2DC7D90986 = {isa = PBXGroup; children = (
+ B1C0B81D1BD4D3231134325F,
+ C282CB01D300C1E7E27868BE,
+ 7C4E346CB297C8402E8B9EF9,
+ 5B152A04D2196E20B100C945,
+ C9521769FA6C438BD18033B4,
+ 3E28690EA1B84705F43E3D50,
+ 563EF4C72F8C339ACAD8B523,
+ 6A60D471004BE04081759888,
+ 1B44B5F73DAEC3C3DC9EA5C7,
+ 63EEFBE330EB5BC4915B3CB7,
+ 48EA76CE620BBF4D6769E156, ); name = effects; sourceTree = "<group>"; };
+ 218394DAC5401A2952F77CBE = {isa = PBXGroup; children = (
+ 0A424FE157B5B3B881DBD947,
+ 86966F3165471A68C3980A99,
+ 586167D6EFD43337BEAAB7B3,
+ C60DA546A123E4426401EEAD,
+ CFA1FBA0FEC0A35E7F6124DF,
+ 4B3B86DC08726E193EE0B57F,
+ D9E41616376AD24F34EB84B4,
+ C26F3A2EE38B50F90AB4625F,
+ 83711972C02675D110592D8F,
+ 4E02E4AA74C4114212F7CFA8,
+ CFD4B5AC0AB05BE52362CFDC,
+ 044AE3BD6F938CFD4D9D8D6F, ); name = midi; sourceTree = "<group>"; };
+ 8E9BA09AC9CC48B00298F01E = {isa = PBXGroup; children = (
+ C33281228651767DDAA05EAF,
+ DC5249A582DDDB8CE4D4613A,
+ 59B47C8DF376CD937166C568,
+ 7CAEED526FD3AFEA13661339,
+ 65807062EC07B4BD5D370E59,
+ 5E22100B218036559DC43F44,
+ CA7F202DB69BC1EC2BC4DD13,
+ FAE35C089A5CE8275D9A348E,
+ 67EC8AD0CD7DAC5481B04190,
+ 1B33F92456804B396B860472,
+ 0A98DFE44610565EF648D538,
+ 8B9F98C916563DA675817DB7,
+ D8F5B60BE5D0577991914A97,
+ 711CE5F4BC5BD6E5CAF2685D,
+ C9C7AB9D948E33B00A7EAAA0,
+ FE967F394CAA522759ABA2AB,
+ 9C3421F6E24D5B91A0CC7D3D,
+ 934AE9A59C6374B938BE3E59, ); name = mpe; sourceTree = "<group>"; };
+ 9468085AB99CBA3D40E407D5 = {isa = PBXGroup; children = (
+ 7CE7C89FFEA750504196EE52,
+ 0A28A390A6643E33040EDB3C,
+ 9FD554B2DB9F180890BD96E7,
+ A4A6D8EFEA6E78DA9B2513AD,
+ FCE4EC729B0D9F1E38B94F3A,
+ 2BD8A54D90B0672EDA9F2316,
+ 972E1506B4B1E6671E3886B0,
+ 61117FCD0F1DBE0C0A0848CD,
+ 6B21CA4E90B1E4E4A7C7C58D,
+ 06848FA37A00867F19726ED2,
+ 35EB2AC6E224BFF79671F5A5,
+ 05506138681C0203DA643FD3,
+ A6846271DA4C65E13671FDFF,
+ B31E1DE4DBC63408972C8FD8,
+ 5FA586ADC9B382B988AD8AFF,
+ 8B13D7687A250F53A0657836, ); name = sources; sourceTree = "<group>"; };
+ B3EF7A6165A3CD04D12D7DD9 = {isa = PBXGroup; children = (
+ 3B87C21C53D89FE9F71AE8C9,
+ 8625E2827442BA5B44B13073, ); name = synthesisers; sourceTree = "<group>"; };
+ 665E1B7D0F3287E61328962A = {isa = PBXGroup; children = (
+ AAC7F9963EB07D6B45D56BC2,
+ 7BE97121AABF0D2DC7D90986,
+ 218394DAC5401A2952F77CBE,
+ 8E9BA09AC9CC48B00298F01E,
+ 9468085AB99CBA3D40E407D5,
+ B3EF7A6165A3CD04D12D7DD9,
+ 2A1D8A60BC973056EAC9D44B,
+ E3404F1292D9CC1AACC2B822,
+ 6782E466222709D18B09D48D,
+ E3404F1292D9CC1AACC2B822, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
+ 69A431AD07DE3F0AE05D053A = {isa = PBXGroup; children = (
+ FEA03311B1C8F40C86887D26,
+ F378FC2132C2580E4C4E6992,
+ 331BC507B80F158CF52BD95C,
+ 1DBC75BB007FC806B0AD27C3,
+ 66B3431BDF25570225A5AB8C,
+ B09A2E2F16477C99EA897073,
+ 0D01598931DB3987F905858C, ); name = "audio_io"; sourceTree = "<group>"; };
+ 3AD9B06998E2D1EB74E33A06 = {isa = PBXGroup; children = (
+ 17D697C3655E797A51607768,
+ EA87BD84F0A54889DCA2C9B3,
+ 06CAEFF83FB934B4F5A5C1A9,
+ E8A78E0DE10104E0C8152971,
+ 499BE80E8E2BD8DDAB5D59AD, ); name = "midi_io"; sourceTree = "<group>"; };
+ D19C419B81A4024618400C5B = {isa = PBXGroup; children = (
+ 33E1C399F2CA17A09EBB8D2B,
+ FF459A86F895958A65E5CA34,
+ EF3CADBD60BAEA2B521E0D19,
+ 333858A073AA2CF3EF807450,
+ 2EDD997D7FC618ED3304605E,
+ BAF0BD1C8BB7C746AAC1D571,
+ E1139AB7DDF9577A4980F362,
+ E2C528BD8EB2A5050E6769AB,
+ 277F888F37D8A11ABE37FA14,
+ 3DDA7C8BF74C996ABCB5E42E,
+ F280712C33408DF47B6A301A,
+ EBED707414352EB0E0A5D5F9,
+ BCD71D1B2DEEA1348DCCE537,
+ 58794430869AF8C92E6AED83, ); name = native; sourceTree = "<group>"; };
+ 55E571DE47F70E240BB41021 = {isa = PBXGroup; children = (
+ 544EC4BB6C544497553841F6,
+ 45CBAFDFF44F281AC2F0B6BB,
+ 427DAC6EAAA22DE235AE7ABE,
+ B3BC943D19B19B766F15E473, ); name = sources; sourceTree = "<group>"; };
+ 9AC105FA2D78A2FF360E72CF = {isa = PBXGroup; children = (
+ 69A431AD07DE3F0AE05D053A,
+ 3AD9B06998E2D1EB74E33A06,
+ D19C419B81A4024618400C5B,
+ 55E571DE47F70E240BB41021,
+ FA734613A284C21C1CAE8A93,
+ 567B029174A0A74AB7EAACB5,
+ 688727FB029B1A70D165C0F5,
+ 567B029174A0A74AB7EAACB5, ); name = "juce_audio_devices"; sourceTree = "<group>"; };
+ C6B10F437B0CF8B8C49EAEC8 = {isa = PBXGroup; children = (
+ 729650F24BDFFEA4A46D10E0,
+ 74C4B79ACFD452EE22F2B2C3,
+ 4DFBF53F97657E4EFDD52A67,
+ A74640D9C2E16C5C87E2E623,
+ 220785A2A29AC379FDD18B23,
+ 49DAD9D2B69437A26DAD5748,
+ 644469ECB4E590A9C15A52B8,
+ BDF255F033104DE89BBF5753,
+ 98B11261E0FC7EE6D99E7DF3,
+ 28092458C427E46CFC4D832D,
+ 27D256A43B9060335D1533E2,
+ AA47AA2AF084DD722F045EDC,
+ 786CCAFDAF17DA58ACE82151,
+ 470B0B0B081EDA873AF2B2B3,
+ A106D601CEAE46F8612DE89B,
+ 429AA59EA439AECCC1F9ECF8, ); name = private; sourceTree = "<group>"; };
+ 545E0A861E308C8AD8C41640 = {isa = PBXGroup; children = (
+ B4540086B453F0270F5C7110,
+ 2F9E0C26FE9DA472D2D7C2AF,
+ 88D3EFCA13604867A1F470CA, ); name = protected; sourceTree = "<group>"; };
+ D88AA386DECE3861744D3CEB = {isa = PBXGroup; children = (
+ C6B10F437B0CF8B8C49EAEC8,
+ 545E0A861E308C8AD8C41640, ); name = include; sourceTree = "<group>"; };
+ 5463C0B47AA6C0E082F60D8B = {isa = PBXGroup; children = (
+ D88AA386DECE3861744D3CEB,
+ 9179873697C95D0EC0726805,
+ 17A479D1C363ADB40C23A6DE,
+ 7F1C7B3E3DE4FC281F9900C5,
+ AA90A7B401F1D9F00793F82E,
+ BDBD094B7DA913DEDA5D7688,
+ E05078B9CED5C15A479F71B0,
+ 4096D9E72DE8958D26ACBBBD,
+ 7A1632B101AEB65D2938D05E,
+ 96CD68D66422237A8B854E2D,
+ A6D97766BECDD4C23BE1B953,
+ 7801374F867F19B791714ABE,
+ F7475ABCEDAEDAF46BB75C54,
+ 2F05FC33C11271527B090E20,
+ 1322CA0A8EE358C0D34334ED,
+ 367091F171F8B59F6C028662, ); name = libFLAC; sourceTree = "<group>"; };
+ BB99CD8BD46B037D95403D3E = {isa = PBXGroup; children = (
+ 5463C0B47AA6C0E082F60D8B,
+ 597C4C555ECEA36CA936952E,
+ BD4BD40C6DC55C2F6376E395,
+ E401077524D3DD89DB7CD8EB,
+ F4470F1C34F0F6A324987570,
+ 1D0631AE2D6F169182E62BAB,
+ FECDEC0CF69A38A446783AA1,
+ C392ABC2B2ADD1DE523ABE3D,
+ 3BEA52C4079F6E4E014FBBD8,
+ 4B407E6A73694445CF7D5822,
+ C6AC4E412268374ECDE2C99E,
+ 3D1F21B2DBFA9980BA10CC5E,
+ 6999B5B3C67F6A85AFE73030,
+ E328A1505415823BCC99CB47,
+ FB171AC63682377ADBD4DFAE, ); name = flac; sourceTree = "<group>"; };
+ C129703C53AF9E19866C4CE1 = {isa = PBXGroup; children = (
+ A3BF0F7F436BFD8E77FB20D9,
+ 0FA78CA2930349913F5B6AF0, ); name = coupled; sourceTree = "<group>"; };
+ B22358316E0E80296EF731A1 = {isa = PBXGroup; children = (
+ C1C083B21DC5F0D62E39804F, ); name = floor; sourceTree = "<group>"; };
+ C03054CA23C615251CB2212A = {isa = PBXGroup; children = (
+ 21554FA46511039569EE00D8, ); name = uncoupled; sourceTree = "<group>"; };
+ 53EB066D33AD2111D9EF79C2 = {isa = PBXGroup; children = (
+ C129703C53AF9E19866C4CE1,
+ B22358316E0E80296EF731A1,
+ C03054CA23C615251CB2212A, ); name = books; sourceTree = "<group>"; };
+ E85AD370C5335EFC0E57DA3D = {isa = PBXGroup; children = (
+ CAED4415E9FA4A520C781C91,
+ AC62274498F9BDA29F8E8F9D,
+ 5E69CD9BD8767CC7DEC344FB,
+ 740927D7BB5A3E806C2B02E3,
+ 13F49EB3AE13CDD2331F0D8A,
+ 5A0915C957A69EF3DBDE24CB,
+ B270479985DD8DDA845A54B8,
+ 728BD1D3A907DEC516DFC176,
+ ADD7CCBC25DF55BA9E3F37FE,
+ FDD9E523BA9313C8F0234145,
+ 20787DE99B3EB58014E2F3F4,
+ DBC93310B4C31F4F591D5552,
+ C8CE04B8F4CCFEB1D6231EDC,
+ E98E28DDD9FD8ACA2B4DD12B,
+ E6EC16C0592B91025CC07278,
+ 64F71A2D964E6A0FB566F130,
+ D5C69BC1C552C6E0CD18C7AD,
+ C42E1A852A4060C39A22C1BF,
+ 5B4C1750EC6135B256ABE7DD, ); name = modes; sourceTree = "<group>"; };
+ D9462E5FB4B84E7E187FFAFF = {isa = PBXGroup; children = (
+ 53EB066D33AD2111D9EF79C2,
+ E85AD370C5335EFC0E57DA3D,
+ 73121BD33FD2353A25A35A94,
+ BA3924B82348A40C2FEBFFAD,
+ 918DF23CD3CA21B3389461F1,
+ E66238B027B9175B79BFE0E0,
+ 83B5050525D84F2137620F85,
+ 17A75A5B2018AF3DD4CAEAE7,
+ 673E8C7D27E3CC7E4FC7C140,
+ 9783CB2BAA068EB04B2DE913,
+ E31BD7852B2573FF90513217,
+ 5DCEF8D12AF1DEF74E1A58F7,
+ E536E1E838D941CF1DFF60F6,
+ BBC54027807B8B7B1ACD6000,
+ 72411F578DA78B9085680E25,
+ 4069912BB1035F584A985757,
+ 203A3979A7100D4DDDB2A141,
+ 91F579A8D11716F70BBA9E1E,
+ 36C27C5BFCF651643A90FD30,
+ 9DD0823ED8C33D9A7CA14BAE,
+ E4173FC148926780FD1FBB38,
+ DBF3D142BA9A164FB8881C1C,
+ 4BEF56AF8ECCFB74306EC4CB,
+ 5BA4327FBE2B4992AB7D470D,
+ 0F49043494C2D1C50D787795,
+ 1C284B833228440ECF8C19FC,
+ 04014274CF6B6AE9CA5C7E59,
+ 95971D0F582F6929C281163E,
+ D904278081426062CEA4F499,
+ 3CAD7F04BB8AC0A31D578AA7,
+ A38D7A623B8E8ADA0B271A17,
+ 9D7214C957FDDA6BD8392496,
+ C7B16C910228ED1FAC8453A8,
+ 7DB9A958D609645E015285BD,
+ B1DBB67D021C6766CBBE18D4,
+ D5616DB6D85E2197BF1E9CCD,
+ 641EFA9EEC15017AE80A1DA5,
+ 4CA0A983AF6B0E150F60103B,
+ 75BBB2617BAF223C144AD83F,
+ 89742E482CC7CB5B5EF30C62,
+ AF267F3F6B8A83A09D06ED62,
+ 357E6A36AF5DEB7DAB77280B,
+ 06CAD3E58038C492162890BF, ); name = lib; sourceTree = "<group>"; };
+ 6756DA467D4D855C9F811404 = {isa = PBXGroup; children = (
+ D9462E5FB4B84E7E187FFAFF, ); name = "libvorbis-1.3.2"; sourceTree = "<group>"; };
+ 0D2209BD6DF15659EB6E5D9C = {isa = PBXGroup; children = (
+ 6756DA467D4D855C9F811404,
+ 11C9AF9C14B3A2D2DF1FD3C4,
+ 20B6868A9DD15D5B4D3174CE,
+ CA3EF1BD5EABE1BD96F43665,
+ 9D205E4994ABB6EEDC413B19,
+ 271FC8FF9535BA5B943803C4,
+ 2E0169C5F6520FDCBF0AD415,
+ 266692C15CCCF1337C225F33,
+ 30B31EE1B29FA4116F390154,
+ 20A823D2665060E49780AB62, ); name = oggvorbis; sourceTree = "<group>"; };
+ 05BDC932DF223A513C3BBEFD = {isa = PBXGroup; children = (
+ BB99CD8BD46B037D95403D3E,
+ 0D2209BD6DF15659EB6E5D9C,
+ 241601E7909618A7E44DA973,
+ A11023CB00AE121E7551575E,
+ D57DA2264293864CF1B8406C,
+ 0862E0316A22E94B2D6D2857,
+ E1999A43823A763801FB5FA8,
+ 4483F159C5ACFFC36F93872F,
+ 0390D1AA08150791B9C14A33,
+ 298C022C57704BDC157AA9C8,
+ DDDC3967C8D0DD1F07F4F2BA,
+ 5BB58DB08E7DD4BA6CEC8C29,
+ 7E94ACC1938D2378F8D2A72D,
+ BE4CB834C716473B6B313399,
+ 1F63961FFD269C4B17EA03F4,
+ 58535C354768ADAA4077E080,
+ 32CF5277357C6BF109C965E3,
+ F9D1D7808EB6923DF8954E20,
+ 4C0AFE09AF33C80188A5B9A8,
+ 7A97911264D36FD7DB986799, ); name = codecs; sourceTree = "<group>"; };
+ E08E84D83084ACF42BE72C32 = {isa = PBXGroup; children = (
+ DC948A7B539C9F91096F0D1B,
+ C64BEB2595FF7B1997AC0915,
+ D3A89432A5F60B4D49E6D108,
+ 5437AF65F42F7664B4CED35F,
+ ACD13A8C04CEC6BD1ACF93EC,
+ 4D104280B481AFB44BF5E2E5,
+ 0B0E6BBD74D806034228CD61,
+ DBC3697C47DEEC4E4DAEBFF0,
+ 4911478A57ED2366B40A794A,
+ 5BC7E933E7CD92D0A381B90D,
+ E3B5F5DF2A0E372AE356B6CA,
+ 7DF934500DF6CAB57C080788,
+ FA1E892179949EA7374BC35C,
+ DC18C91A5FBE1FB377120DA6,
+ 8F288B420371B401EC1F6ED5, ); name = format; sourceTree = "<group>"; };
+ 0C8031BD3BB69E73BE4AB954 = {isa = PBXGroup; children = (
+ AB989510F98B9761E74742D2,
+ 7685A5D611C93CF56AB57982, ); name = sampler; sourceTree = "<group>"; };
+ 3A7E92469DD583BC27D6A0C3 = {isa = PBXGroup; children = (
+ 05BDC932DF223A513C3BBEFD,
+ E08E84D83084ACF42BE72C32,
+ 0C8031BD3BB69E73BE4AB954,
+ A4B7673DC138F9C0E9BD0766,
+ 7A1CBB013812C5077EF88455,
+ 5C8D3EA6AD2DD7A4223CB76C,
+ 7A1CBB013812C5077EF88455, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
+ E7EAF8D1A991C98EA8528707 = {isa = PBXGroup; children = (
+ 519AD5862822EDEBAC0B90BC,
+ 8CA9A46A8EEB6EAFF14F01CF,
+ E6BA2821140CD68469CD8BB0,
+ 6A06D4935ADEFEDD5AD4DEB7,
+ 0353E7FB538930065FE42F3D,
+ 4614B1629630EC59F40145A9,
+ ADDB77CC79C1F4BFCD8EA214,
+ 2AEEAC331F68F485DB7571A0, ); name = blocks; sourceTree = "<group>"; };
+ AA7632D3962ADC005999F52C = {isa = PBXGroup; children = (
+ CDE0660E5F99503610EAA638,
+ F20FF0FD69B0994C963541ED,
+ 331AEFECC10C37E8E0735F15,
+ FF5A926355A65BE4932368F6, ); name = littlefoot; sourceTree = "<group>"; };
+ B7A9C1F5D3346E585128C849 = {isa = PBXGroup; children = (
+ E87B80F116A6E06039AF6157,
+ 80127DADFFB0364380063858,
+ 63E09EC8C65C77DA673583D8,
+ A995433F093578C88957DE29,
+ 718C420F99242A6295DA9595,
+ A096FF1C87782BDAEF467316, ); name = protocol; sourceTree = "<group>"; };
+ CB4086B4854F88013B43CE41 = {isa = PBXGroup; children = (
+ F46055F9E7B61F6AE9547B05,
+ D298FD4455CBACF2527B4505,
+ 96C12E88FC9FA008BEDD2B33,
+ BA4B70F733EAD229E55E0E59,
+ 687AFE2A556575D12727AC97,
+ 16CB2435896E92B50CA98632, ); name = topology; sourceTree = "<group>"; };
+ E548F4B94A1174FA31E734D8 = {isa = PBXGroup; children = (
+ B5D27AA95B2A067854F67E5A,
+ D591CCFE264DB281CEE303A4,
+ DF2F608DC15355B00A3BA719,
+ 2F4B9232765C11AF743E173F, ); name = visualisers; sourceTree = "<group>"; };
+ 6703540BB2129E337C6A36A2 = {isa = PBXGroup; children = (
+ E7EAF8D1A991C98EA8528707,
+ AA7632D3962ADC005999F52C,
+ B7A9C1F5D3346E585128C849,
+ CB4086B4854F88013B43CE41,
+ E548F4B94A1174FA31E734D8,
+ 88F5C798F640B57B88D360C8,
+ 111367FFC293098B75C802F1,
+ E3C076697100860027D438CA,
+ 111367FFC293098B75C802F1, ); name = "juce_blocks_basics"; sourceTree = "<group>"; };
+ 20CDBE2700DDEC3C372E90FA = {isa = PBXGroup; children = (
+ BBAB8667033A9E3B295E3211,
+ A78B312A1934BBE26732F230,
+ 0BB27BEFDC069EDBC8A863CD,
+ CFFA9AE468F79CE1FA0F55B9,
+ B2D67E046E2D97AD7F5ABFB6,
+ 55E100771C243BB2B46C1945,
+ 4D99FF33B0B3A9DCB92F5398,
+ D9CF06E1D818462B23A2985D,
+ AE8A2F2B590228AA79922EFC,
+ 30A6525A80C10CAB453C8649,
+ 0715D437CBE3222794DDA264,
+ 4090EEAB1ADDDE82E77B5DA3,
+ AB21709C107E99105A6FB362,
+ 2AF40A5BA00C43D63CB33B4B,
+ C043633F2730276BB74DDF8E,
+ 96A2953B2FA5493A7DE10DF8,
+ 33C57CA510B922FFF636FC12,
+ 653F95F9AB21206540FFEF8D,
+ EC1A921FCF02AF23FAECA63B,
+ D555883E46392E7615FF364B,
+ 9342911CEAFB09DDF359AEB1, ); name = containers; sourceTree = "<group>"; };
+ FACE74BDA02956499A0AB15D = {isa = PBXGroup; children = (
+ DD51BDB967795F88A9BA0F97,
+ B264338B2CB821C82D66E580,
+ DBE3E85682E80FAA051D6514,
+ 2AE6B05474C7AB5179544774,
+ 1DC4186072CFD272F5AAFF2A,
+ 9D49849845FD1998D6B914AE,
+ 4CBA1C3B21C36425EC84F564,
+ 1CF242F23BD22B44D7299E16,
+ EF4700A5245FE5647708FC59,
+ 20ACFF1C7D40C0262D9FA54E,
+ 40636EB94227E67A528D519B,
+ BE78B2465604039AB4A65752,
+ BE9BAFCCA84A57BCC7757A63,
+ E80DC5E1829B4F57F52EF78D,
+ 697E431D427707F2C35E355E,
+ 5C4427398C7984C80C2CCB4F,
+ 7B362CD435FF7C5FEC8946F1, ); name = files; sourceTree = "<group>"; };
+ F1AAA78F97127D4FC606588C = {isa = PBXGroup; children = (
+ B1BC8916C2175FCC490D6C2F,
+ 6268C28D72A70127114C3F07,
+ B1613A82275D9F1E92EDFAC3,
+ 3BBAB0E97622DB356777CC5E, ); name = javascript; sourceTree = "<group>"; };
+ B1637271FF2957F8B6ABD4EE = {isa = PBXGroup; children = (
+ CFF2489C2AEB28C3A650B7D0,
+ 1FC96295DE9B2B7E4FC939E6,
+ 1A9B604532F7CFF1D0EF3601,
+ 0A230681CA56D1F24FEC0D58, ); name = logging; sourceTree = "<group>"; };
+ 4C16A3E9CC187C3427141BC1 = {isa = PBXGroup; children = (
+ 4E7AC87722BC21E24067C50A,
+ 06E163868146117AB3D4CB5A,
+ 903B180F576936C1C0778FA1,
+ D07EEECF4FCC445C2438499D,
+ 8A892B3DD7007C51B0C33BF5,
+ BFAE76FECFA66C9288BF0538,
+ 24751CDF3F22C8552B26475A,
+ E1DC127CD1917EDC47AFB39D,
+ 9ADBEEDEFC166D8D54552C17,
+ A15293F413E554734AF3A401, ); name = maths; sourceTree = "<group>"; };
+ EEDA2476F0EFFF4EF6EE0DEC = {isa = PBXGroup; children = (
+ 96EC2B19F751907CB45B01BF,
+ 6885D505E3F0F066A6A1376B,
+ 3F50B376A0FED903BEF9D6E3,
+ A4702F8FBEA4EEC93C642201,
+ E875B4CCAA5CA0FACA1C61A8,
+ 1CF7C7004E788245BE5FFF63,
+ 964801C74A24D3908CF515C8,
+ 5D21C29E0BFBDBD6033ACD52,
+ 8A95F4C0FE8A8B4BD6C3367C,
+ 29BF54C26D1118B8618201CC,
+ 4D9F8630BD90770B6B0D6AF4,
+ 612E1D2CE93492314875052C,
+ 0F939B5F2399CFD6C4B5225E,
+ 6492E3152651A34E24D6B872, ); name = memory; sourceTree = "<group>"; };
+ DEBB0416E0B84DE4DF17DDB6 = {isa = PBXGroup; children = (
+ E2890F4804E553849187D4AE,
+ 2A8136A983CE21073E16D40A,
+ 73A2D848ED2A8543B70BC377,
+ 649085EB467A026676DBB4F2,
+ 684B8A50E02C8162EE2BA64C,
+ FA537C8B56BCCF97545A916F,
+ 1DB6128ED112939DF6D08C3F, ); name = misc; sourceTree = "<group>"; };
+ 1AAAFDC1513C44B0B42EF2F6 = {isa = PBXGroup; children = (
+ 1F8E318B3077BCC2B3619EBC,
+ 960575CE2C582502E072E8C9,
+ 12C5696B0718F8EADE90B68B,
+ E650055955C59718FA306757,
+ 0CFA9E39AC23A4599C9C48CB,
+ AA0A2049DDF0116D0C91F3A9,
+ 539CD06A40CB5F62F60BEF11,
+ 6D0D508CB90E1424BF8A5212,
+ C3D0F7D1F0571E02349725F9,
+ CCBC090AD7596A080FC7A6CE,
+ FF624BF63C3BBD494478D2A7,
+ F16303609B5C9ECD7394E4FA,
+ A0892128AA6C1E5A76986975,
+ F3A66E239C90932DE7F6DD40,
+ 4A2443720BAB38D3E9C139CC,
+ D5D735F8D529C6A5BFC647F5,
+ E7A9C044D65548A7EF9B2408,
+ 5718105921167286442E445B,
+ 8DD871588D5CA5B49031268F,
+ 5C2EDB15A478BC999BC079FE,
+ 68934CD6CE0F82842B38E70D,
+ EF68E830A48DA0C561928454,
+ B319C152B230E760D9A72B7B,
+ 90F86126F8DDDF7F0B018E4D,
+ 919C856B02EAB19A18BB3DB0,
+ 98871DB50478294FB98B1250,
+ D40C1EC3546E2816415DF6E6,
+ 545E7B8B5CFDFB611D5A6B98,
+ 12200964DE63BC34253234BF, ); name = native; sourceTree = "<group>"; };
+ DD3B8F9AF20B21D076A70631 = {isa = PBXGroup; children = (
+ 6F7146819DE5D5286BA4651F,
+ 8E09F168C2F3D7F02A560B5D,
+ 290F124B244C09E6964234E0,
+ 1E29FD9905ACC5F2FB124C4B,
+ EA8334D3FD2C2BAE1C87A38E,
+ A19D218B170382FEF05E2705,
+ 7AD76C1D103EB21BED1F37B5,
+ DD2A9FD91FDD559EA8CBD65E,
+ DA96E7939F94646A306F2CA5,
+ 3146322BAEB67344B4969CE5, ); name = network; sourceTree = "<group>"; };
+ 389E649B225AF3FB56651E27 = {isa = PBXGroup; children = (
+ 71AD6F9EE810D5E64501A9EE,
+ EF7A763B6ECD5D6D5C352EEE,
+ 3A58806F1A210DB171E6FDD9,
+ 117B7E82A077413634C11084,
+ 74E0C059A3F04E23BC7D6CFA,
+ 9E0FC42C47F16D5C57B2E264,
+ 5A1807F25D0037008CA04820,
+ C124E30C7AD0CB0D8F8A92BF,
+ 1C686568FEF37CE0C5924CCA,
+ 5BF024E66E12CEFB6DC04E91,
+ 2523D5C265576DB518F93569,
+ 925CEACF0A1957FAC23FBF29,
+ 200B85BD8C1DD5EB49C31EE4,
+ 74544E312D428A452B979DFD,
+ 8219D04401B4E7A3132836E5, ); name = streams; sourceTree = "<group>"; };
+ 3DDFD39183AAE19F3C9856F7 = {isa = PBXGroup; children = (
+ 79DF44305EB8AD0AB9AA644F,
+ EE52B7BBD6EEAC47129DA7FA,
+ 4A455F78617CEB1A01BA6240,
+ 4CEE12CB5E78F95592D44E51,
+ DDF9E58DE5C251C1E7D039CB,
+ 8450F40BFBC3B18B98F502C7, ); name = system; sourceTree = "<group>"; };
+ 726F4A59B5108047E5E49887 = {isa = PBXGroup; children = (
+ 7536C2D11B41187764CB4EB2,
+ C102AEFE9D479EF1E0C7E711,
+ B4A76CB44C7B15E9E6B58980,
+ 0A4A8668A6C39539E9353BF7,
+ FCDDBDCB9EE9E056A6551005,
+ F9192631BB2F48E64EFD2FD2,
+ 39338FD8B8C695AE1A834CA8,
+ 76D0BF8B5577AF7CF4080556,
+ FEB48C07204CFD8949E8B669,
+ 0533F95FEC48FA0ED4AA9411,
+ 812545D343F30186508BFFCB,
+ B522A301353479C5903C2BBD,
+ 0E90D8E7451AF40D3A29DF67,
+ E14D4575A6CDFC70041FE56A,
+ 20BE42D96BA3A58DB9D3808F,
+ 70E4E3BFB060C386A0362EB7,
+ 504E881FDAE5D3ED5F44AD8B,
+ 450C2C035F67A393EE398389,
+ D5C11D31E672EE9D429E4F68,
+ A3191FE1009A7FEF6BA3D845,
+ 3A2314D17819BDF12A7EA07E,
+ D132800CF893861A1F8C3FDE,
+ 95D25749D94F08E12069A7ED,
+ BD64382F5648F98E5DFB2A11, ); name = text; sourceTree = "<group>"; };
+ FF622A51A4BB87CA5F585978 = {isa = PBXGroup; children = (
+ D69D1212C5157C2BE27910CA,
+ FC849CBFC2B5E9D584151565,
+ 8C0026D65608D62E221DBC12,
+ 0CBF3B6DB61DEBB13ACA5C08,
+ 49658D638C9D0B372021D4C6,
+ B398D8AEB8B5E0EFF2B4B3FF,
+ 7784DD20B44E78AE08F056BB,
+ BF9F956D877D02F012B010DC,
+ D0396D5B22E7B4E9C9C500C8,
+ C0F6921835D97E2F4D2DB770,
+ 2864478C42C226B34754D8DF,
+ 9D20518D03EC11768E1792BF,
+ F6294F7B89B33EB81BF8218B,
+ 5715D8EB7B390BE9ED802636,
+ 4F7E64285CB12F5FBA614387,
+ 7815F96579EF3984A823D01A,
+ 725A7C4935EEEEA754AB1434,
+ C21E0DFFD3DE02019FC31C88,
+ 601B5502C91035D62D87B506,
+ D43C2B7847E15A523A416D87,
+ 5D9031A30530CE59A53E3958,
+ 632799D218CC8EF87A1FC4C8, ); name = threads; sourceTree = "<group>"; };
+ 6680962DD4CF7F536FB4F3F8 = {isa = PBXGroup; children = (
+ EA8AA050C16F1217F3438AF1,
+ CC141B102407EB5556A247F9,
+ 1B95DFF730DC4AE8531E5508,
+ 2C3519634AA5B8F12D781F41,
+ 8543CA9CEB24331404318202,
+ 584EDA6FA74C50574390206F, ); name = time; sourceTree = "<group>"; };
+ 203C9945F1484C20A5C48E7A = {isa = PBXGroup; children = (
+ 10C405B7EC6821FEA0C19088,
+ 663569EC98ED7266031231D2, ); name = "unit_tests"; sourceTree = "<group>"; };
+ 1188D6D3E28C8751A8E8EE27 = {isa = PBXGroup; children = (
+ 126A72936BE02A55671DD395,
+ 6DB036256A12DE6707F9C9C9,
+ AE1E51D46D5E4831C05F3DFB,
+ 9264EEC6E37C9794BCF6FECA, ); name = xml; sourceTree = "<group>"; };
+ F8496A4F7C62D3ED32020EE2 = {isa = PBXGroup; children = (
+ 5D337272B18AD5BA989013E2,
+ DAFEEA3C749829580D40F99D,
+ 6AB62DA273BBDFC1135E90A8,
+ 279D761D2625F10B9527A035,
+ FDB06E14CF1FCB034663395B,
+ 1446EB4219341EA5B6B0A500,
+ 73E90793E3614C263A6C004E,
+ 43C6225F03FFB572BE6D67AB,
+ 3B3A0DE861C9D67CE502A7FD,
+ 3B4774F8B271C48F991A20BD,
+ 610B1C222257F0AF100C0FD6,
+ 2B4D1C6974F5316B8547C28B,
+ 61248F75652B6DAFA4F38B3C,
+ AF374439C21B2E140A216EEA,
+ 593C779BB2853DA63333F24D,
+ 3327CE380357EA5D43960E81,
+ 2A0F270864162E316C58B149,
+ 209DF0D0D3C0BC4A7516409B,
+ 6583030D2AD858AC45E0E96C,
+ CDAB4B0A9B5B3011F19322A8,
+ 4DD7EB80D3CB19DF56D1537A,
+ 2DDAB967201CB1E26FB2016B, ); name = zlib; sourceTree = "<group>"; };
+ 1E64E192FD50F5079A5034B8 = {isa = PBXGroup; children = (
+ F8496A4F7C62D3ED32020EE2,
+ EC66AD10984C221B97C10667,
+ B01CDF8E11068A6CC13DE786,
+ 2E1B7948B783544E70AF9866,
+ DB2D6628B85027F8AB8BED39,
+ 9B6B508CEEB3F5EC8F7CA865,
+ E415B8B616CFA41B4083AA2D, ); name = zip; sourceTree = "<group>"; };
+ 502E1E6A813AB55B9E50E94B = {isa = PBXGroup; children = (
+ 20CDBE2700DDEC3C372E90FA,
+ FACE74BDA02956499A0AB15D,
+ F1AAA78F97127D4FC606588C,
+ B1637271FF2957F8B6ABD4EE,
+ 4C16A3E9CC187C3427141BC1,
+ EEDA2476F0EFFF4EF6EE0DEC,
+ DEBB0416E0B84DE4DF17DDB6,
+ 1AAAFDC1513C44B0B42EF2F6,
+ DD3B8F9AF20B21D076A70631,
+ 389E649B225AF3FB56651E27,
+ 3DDFD39183AAE19F3C9856F7,
+ 726F4A59B5108047E5E49887,
+ FF622A51A4BB87CA5F585978,
+ 6680962DD4CF7F536FB4F3F8,
+ 203C9945F1484C20A5C48E7A,
+ 1188D6D3E28C8751A8E8EE27,
+ 1E64E192FD50F5079A5034B8,
+ E4CBBF362EA9FEA76D089795,
+ CEA4E46726A20B523DC9BCC8,
+ 700309127A4E6C1378786002,
+ CEA4E46726A20B523DC9BCC8, ); name = "juce_core"; sourceTree = "<group>"; };
+ CA37D53277019254910AAA19 = {isa = PBXGroup; children = (
+ B446D55BAF06032F986AF19C,
+ B60CFF7FCC83192561D27CB7,
+ 71F73E3EC2042F072661A063,
+ D261A0C3567A65D89C588F83, ); name = "app_properties"; sourceTree = "<group>"; };
+ 2CF04018FFB348C94A91B6F4 = {isa = PBXGroup; children = (
+ D821537DAB00A6DCF62878A1,
+ 6A7F5A9D49123D2E95B49772,
+ 76B90630B964BB29F039EE98, ); name = undomanager; sourceTree = "<group>"; };
+ BC5DEA8B4BBD5820FE973F39 = {isa = PBXGroup; children = (
+ C5857532F6E1AE39D90B7917,
+ 225CC1842905214AED59DA4F,
+ 11EDBFE1682FB3644DC34F20,
+ 1BF823A1A7631546DF008D6A,
+ 4908B3ECE012F00C883F7B33,
+ 0E4DBF54BA05AA884EA76D6F,
+ 0691070A0EAF64964CCCBCB9,
+ 1F5952CBE8D55B60F4321498, ); name = values; sourceTree = "<group>"; };
+ C26A50FC2442172A34F9428E = {isa = PBXGroup; children = (
+ CA37D53277019254910AAA19,
+ 2CF04018FFB348C94A91B6F4,
+ BC5DEA8B4BBD5820FE973F39,
+ 52BECDFDC5A1AB81350C3852,
+ 9960BC593F02AC48F6A08361,
+ 199EC45712172D113F029BDE,
+ 9960BC593F02AC48F6A08361, ); name = "juce_data_structures"; sourceTree = "<group>"; };
+ C325558A75CD1CAFAEA5C706 = {isa = PBXGroup; children = (
+ 74B07A28EB23CC43D62DC171,
+ 73D6496962BD45E5C330E28D,
+ BB638189F556D13F0AB77A18,
+ 7672A8DF6CD0B91294F34B8E,
+ 0CFB9AD4E90B7C8A18E45EBA,
+ 61393699FDDCC169D329FB77,
+ AB80352DA944BD5DA249706F,
+ 3B78CFAE2DBC0A8DACC832AA, ); name = broadcasters; sourceTree = "<group>"; };
+ 085EB0AAAE50A9AE5D451495 = {isa = PBXGroup; children = (
+ 43A9DE0FFB1C5A5CA2CFF625,
+ 246FAAA823101097F5BF571F,
+ FDCB3E4E7614A659785FE0CD,
+ FB565EABA6355CFB94D9E2D6,
+ 18F0BE846D182CD7D58ADDFD,
+ 96A6E353538E094A04B39037, ); name = interprocess; sourceTree = "<group>"; };
+ FD204DBBD4EE9224CCE9F4A5 = {isa = PBXGroup; children = (
+ 836AC4D87F03678F04FABB2A,
+ 59F0D2E146BEF01BD369BC66,
+ 5F87DFE6A335C9D107B47961,
+ DA53B98D8C420283A2AB6214,
+ 2B3C0405AE9C2BD17690CB2C,
+ C6E40123A8CC368E7B87C8D1,
+ CF792DD18C25B9EE9757BD61,
+ BFEE1CED7A30F4831ECF5640,
+ BDCD1040A270CAF356A41207,
+ 5DA1AD2BAAAE47639F2CBF52,
+ 0557CD748B7EF8B3565B5C53,
+ D298D08FA02F684700A19679,
+ 1C51E6A15595ECE194D61C45, ); name = messages; sourceTree = "<group>"; };
+ 225321410D3AF00E955F6C26 = {isa = PBXGroup; children = (
+ DA36F181CAE8082DDDED6C64,
+ 7AB7D128053D5162018C1306,
+ 9F8AA48F8045ACA58C8A4F6F,
+ 062EB42B4D0132456274B1C0,
+ A30E3FCC559193AE6F7F1F78,
+ 437F1CE387FD226CA02A9454,
+ BEC2A21C4407F4C73D150093,
+ 07E433FAF925C1A96D65CF75, ); name = native; sourceTree = "<group>"; };
+ 3EAFEBB90C290C9C055C1A6C = {isa = PBXGroup; children = (
+ E6CF77D082C93F8B2D3CAF9B,
+ 24277D41079C536B0C6928CC,
+ 6DCDA4F97614BC13BEA86E9A,
+ C93671CB00DE385BBD8E6618, ); name = timers; sourceTree = "<group>"; };
+ 640D80D58491993647C1B663 = {isa = PBXGroup; children = (
+ C325558A75CD1CAFAEA5C706,
+ 085EB0AAAE50A9AE5D451495,
+ FD204DBBD4EE9224CCE9F4A5,
+ 225321410D3AF00E955F6C26,
+ 3EAFEBB90C290C9C055C1A6C,
+ 83532D5F5DDC2434D116D2D8,
+ 0BE109C233090B72CC415748,
+ BA486909AAA0C990DAE290EC,
+ 0BE109C233090B72CC415748, ); name = "juce_events"; sourceTree = "<group>"; };
+ 52C34A13D6D60F01D45AE196 = {isa = PBXGroup; children = (
+ 1D59E459EEEDB9E5D454DF5C,
+ 9E4BEA0EFDB80D8CA2DD0CC0,
+ 2CD956D8AC55456D758139BA,
+ 1A835D16C57651EB40C8A2FF,
+ BEF26E4CAFF6B05A4704CCB2,
+ 139BF383AD50AB9D6048C0FA,
+ 906D9CB145D3B8719E3365D0,
+ 0776A47DB06C6E9BCEB00E9F,
+ 82455A57CDA42849C17908BB, ); name = colour; sourceTree = "<group>"; };
+ B96E3F335222D5FF6A3E9E7A = {isa = PBXGroup; children = (
+ 04C9F35AD0D14A85D3757A2E,
+ 88FBCEC7ABDCCA13CCB051A7,
+ 76B2B7A289FE75D96E2BAD6F,
+ 00761EB1B52F84D5D8A980F0,
+ 002081401EB031560B2EC23D,
+ 98E2AD4DF8685112F956B0CC,
+ 7CD19CD071905D0D5AE9DAA1, ); name = contexts; sourceTree = "<group>"; };
+ 70E1FDD3EB1C24EFE5815792 = {isa = PBXGroup; children = (
+ F3A4FF5FDA257CAD38849C35,
+ B6B1184B6619487E8B2AE5C1,
+ 454F697936B8D253DBE37652,
+ D89C2F630DFB81B6B2AD1C1A,
+ C149A7858B0F10BA32397325, ); name = effects; sourceTree = "<group>"; };
+ 3F010FD693D122322C97B3D6 = {isa = PBXGroup; children = (
+ 92D9732668F8306983A2C8AC,
+ 0894BFE1740F84AA20C30B76,
+ 0C012D29026F8ED248922AB9,
+ 2F04A5D3853A1314F064956C,
+ 32D7799701743A4B29F6612F,
+ CCBF278ABD9588C5E6338B4E,
+ E84DE13A5B4E3CDD6E4E8F0C,
+ 325C094CD77DDDF596F68739,
+ 57F32BA41566BECD1198F63E,
+ 094C556F8D0AE8CC6CEED9FB,
+ 556073348F35F6B6343EFDD2,
+ 07B31BAEA3EE6A3568B208E5, ); name = fonts; sourceTree = "<group>"; };
+ F48A1203939B70EDACD50AA7 = {isa = PBXGroup; children = (
+ C354BB508CAA843514B0DC9F,
+ 2F07F356B586297441C03FD6,
+ D56BD4164BA909ABBB1857A1,
+ DC2781F336F044A8731338C8,
+ 56947856572E0773E89E983D,
+ 3E482755EDFA44494FF023D0,
+ 86468BEAA12010DDA016CC10,
+ F4A1AD93DE353D13201AB12C,
+ 704D70D4573DECD12CA73CAA,
+ C8D06833FC91008893DA677E,
+ 56F7B561DABAD1E7162DABAC,
+ 7BA8C2A9B4FC3423E14BAA1A,
+ D9770C541A17B3531C7332A3,
+ A1C56EE3F45839F0BD3D0EFF,
+ 8FD738198716A7A7EF9F6BA6, ); name = geometry; sourceTree = "<group>"; };
+ 4D8173B4C1666D4E59E62895 = {isa = PBXGroup; children = (
+ 15084C7DDC789B403498C10B,
+ 374284FAB08CABA8749926F4,
+ FAD7FB53E0C69BF3CBDA507A,
+ 10EF808AC938A441E7443840,
+ 7145E7465DF41F9D6FC45BC0,
+ 63E02DCB877D069673E52352,
+ 07C1FAD1C77BD6A3DDA9FA4B,
+ 607A351282D13B9C4D931487,
+ 5EB0F9F985EEE1043B06F8D9,
+ 69413E19788FD4C8427D2047,
+ CCC470BC52BE24359C9B42AF,
+ 44D08244DA1B152854D77BB1,
+ 415582B6861C4D9335450BB1,
+ B2219699BDACA12A3379C88C,
+ BBF8BBCA90A1B0A4EB6BBBE2,
+ F374AAD8894D6D40B4C38E8F,
+ 4ACE92AA3EA20E9FF19A5EEA,
+ 3626A7F4986882E314E193DA,
+ BF89725F8EF9FD3F106EF1BC,
+ 9B9CD377B20CE92F487443F6,
+ 63FB71B51C45DA49179DED38,
+ 58235EEADEC6FAC59636CB96,
+ A557DCC45C8C6EB171447483,
+ 38180EF0EB0EF5A256F9284F,
+ 6B671201E1FF73FCDD6CAAEA,
+ 259C02E224011BE7AA3DA3A8,
+ 0DC492C9812308493090CBD2,
+ B242FAC40794E6AA4764100C,
+ FFA048FF349F1B798B6471FF,
+ E6C6F3A38D8979DFD60EEF2E,
+ C1136BF7764D76BCC07C1786,
+ 189A025BB6D9FC4C5A23FBCE,
+ 78D1F8BCE2BDAE743985C02E,
+ 7CDD61D86C377AED49D7C36B,
+ EBF04AA55AD5EAB164D8A8BD,
+ AC5639600E1A1B0179AD1E92,
+ D570A976A21A1659C7780CAB,
+ 333B552A05E9BF308C6ADD45,
+ D57104B8381FE2B99CDC33A1,
+ 631723C152BEC3979C519B05,
+ 886FA35D63BFC08BD7D73835,
+ AD8F4F2CA47F83B1A807F2E7,
+ 4C3B17A607F33B34D02CE3EC,
+ C14CD4C38D9E545A25173002,
+ DF7E0DE4FE09D4EDF5155754,
+ BB2CD5BCE2AEF09C4C823288,
+ 6A6C31420003DA6CA2AC0919,
+ 75B91A274177138164C8E8FB,
+ 2FD22509C8339B373DC63012,
+ 6B1587A046ABBCBECC7EEE89,
+ 7298CC9DA61DDEC96BD5EE34,
+ 880D898BB1B7F8F39E263670,
+ 65030DB669123C73AD06BC59,
+ C5104A09F22FB66E2AC19B0F,
+ 29D582B81D48ACB55B82D3D9,
+ B81A3688EF80E88F9A69CB5F,
+ E9E68A3AC31C5D2178BDE8EB,
+ CB5D7AB96931DD45ABE6D2FD,
+ F20A54705DDD536DA6C03BA0,
+ D00256D3C9092D8BE7847E03, ); name = jpglib; sourceTree = "<group>"; };
+ 30B6D4B4CC98F82CFDB57624 = {isa = PBXGroup; children = (
+ 57825B50FC0B9D54AC6F5233,
+ B3F7540EBF2CB729A670533D,
+ 6F9576EBF672181637694D0C,
+ 703BE578C7734841E9CD5244,
+ 624D3D50FD9D2CF430B9E21B,
+ F6989E8E541E0091DD3117AB,
+ 11A08A66A2A26A8DD64BD9F9,
+ 1B7211B3FE22107FA247E052,
+ 744A990B9EE159A4F317B630,
+ C5777CD565420A7EB18DD101,
+ CCEA91668214454D3D0F13B3,
+ 8BC9B58760E42691BBF12A44,
+ B89E123B84D78A063F86C450,
+ 0D75C63F78F611EF265DDD00,
+ 7AA7EF5457F7351F93632B42,
+ BFEAE2AA0BF50E036F322649,
+ 4463E0EE235D2C829F6FDB1F,
+ 38A27788CB801465A6398EB9,
+ 6A64E63EE6FDE58B69CD1BAC,
+ CA306C285A8508A076AEC761,
+ 4857997C4BBF4ABFFDAD0513, ); name = pnglib; sourceTree = "<group>"; };
+ A9F198332CDDABC3CF20F8DF = {isa = PBXGroup; children = (
+ 4D8173B4C1666D4E59E62895,
+ 30B6D4B4CC98F82CFDB57624,
+ 623A644B949C7D20EAA7244F,
+ AE30CCDA7823BCD359DF6BC7,
+ 3839FAD677C474154D1EB001, ); name = "image_formats"; sourceTree = "<group>"; };
+ 4EF335482201071D06E1C74D = {isa = PBXGroup; children = (
+ A5AB415F38801E8B9E42BC18,
+ 3C71778B17054C9F858FA865,
+ 6EEA09DB41120AB493D5FBA8,
+ C1DA9A178649303EA64D9CDE,
+ 004F22C36FC01D6FDFF1DA3F,
+ DDD4F13758E6FDA532A03F05,
+ 08DD52B8C183D2B128C0D179,
+ 123264F219D032A0058B6208, ); name = images; sourceTree = "<group>"; };
+ 27968A0464BC31C94622A1CD = {isa = PBXGroup; children = (
+ C7432E6D6DC03F9DCAD71B62,
+ 7B5BDF0835BFBC98BE1AF40B,
+ 1EBDE46E356A339CD181E968,
+ 142DACDBB2E8CCDBC92AFA21,
+ CAC17359BB40A2600B570176,
+ 2C55D81A3E5D41505E7689BA,
+ 4807176892A793726C3030E3,
+ EF9BD384E8E8BFB77E7F0575,
+ 9AE0690540C8330E95C5378A,
+ D5F0412FDECBA8A8780CC5FB,
+ 3339C81CCA49FF811D7CEB7A,
+ CF66C32B9525ACB1889A39E2,
+ A55155A4B2E8B21C942087AC, ); name = native; sourceTree = "<group>"; };
+ 5B4463B9C81D8835DEBA8DE1 = {isa = PBXGroup; children = (
+ 33CB13A430A6302290632827,
+ 9AE5A43B10E756BA25BAF5F8,
+ 711B2D0097F6D3BA4948C4BE, ); name = placement; sourceTree = "<group>"; };
+ 691E83AB8952AA6D282C983C = {isa = PBXGroup; children = (
+ 52C34A13D6D60F01D45AE196,
+ B96E3F335222D5FF6A3E9E7A,
+ 70E1FDD3EB1C24EFE5815792,
+ 3F010FD693D122322C97B3D6,
+ F48A1203939B70EDACD50AA7,
+ A9F198332CDDABC3CF20F8DF,
+ 4EF335482201071D06E1C74D,
+ 27968A0464BC31C94622A1CD,
+ 5B4463B9C81D8835DEBA8DE1,
+ AEB4B2FABF1201F9F7B7E047,
+ B7BA6785B1CEB985232FEF7F,
+ C896ADB53ABA8E7601D1A370,
+ B7BA6785B1CEB985232FEF7F, ); name = "juce_graphics"; sourceTree = "<group>"; };
+ 6B80CA0D7CB17A440458028D = {isa = PBXGroup; children = (
+ F8D2FFD56EDB135E44918781,
+ 2DA8268B68970ED28D8C6063, ); name = application; sourceTree = "<group>"; };
+ 3C05FDBD9A9A6A7AA7B48A7B = {isa = PBXGroup; children = (
+ 290A325171E1E397B3C4A9CA,
+ 890805204E0C9E6BD0539FE2,
+ D47D205D6F961B6EBC4D54DE,
+ D609AAFD609E9980F07C042C,
+ 023F49CCDC1E02B09597C66E,
+ 2E4AEAE2102146D7213B8B52,
+ E012323C1204D53AFDC987D3,
+ C80EFFF599AEAB505C66280D,
+ DE6B8ADF052D45BACFF2C641,
+ D731608ADAF378A4059E1D7C,
+ 2D09DB1F0F60421C24555BD3,
+ 3A26E022C114766276A15799,
+ 958BCC24A1E4AB1BAEACF4EE,
+ F31FBA293A67196F502E6BC7,
+ 47D1A2ABF002436D022E4629,
+ A9FDFB5F161125277F1AB460,
+ C69EF03A5A778E53285D19E4,
+ E480BC3D7B48F0C74F298C3A, ); name = buttons; sourceTree = "<group>"; };
+ 556429C32A05088FEFD426D2 = {isa = PBXGroup; children = (
+ 503FF47860BD2E0B47D006CB,
+ 7A1DC58C900038C5536ECB26,
+ 098ED263E040117E51894F15,
+ 3C6487063F6EE89907FC346B,
+ 7518FF0D86762A4002CB3BF3,
+ AC97D162AA13FBF82C986A15,
+ CC1774E1F34D88E2F4CE51F9,
+ 91282DB87C122E33BE6EA725,
+ E3D1CA4CE4EF0702039367EA, ); name = commands; sourceTree = "<group>"; };
+ 717001FE1D0C1757D18A5FEB = {isa = PBXGroup; children = (
+ FD796A075B8DA4EAB5C3D4B5,
+ 545B97A1511AF973F46E94B4,
+ F9165F30946DC46BCAE86E7A,
+ 1607EFD478CD23076A9CBE3E,
+ F072240BF81349DCC5A9B9F4,
+ C57C03814BDC21126887EA4B,
+ ECD62CD88DCBB8DC105ECA90,
+ D6F89D54CA1A79972E08BADC,
+ C1128422B16AF4F5D607A27E, ); name = components; sourceTree = "<group>"; };
+ 25E0615396DB4A887139769A = {isa = PBXGroup; children = (
+ 239FA9458853235C54921F5F,
+ A949ECFB4D16AACF21B81087,
+ 6E73F0C077921B8A2626BDBA,
+ 074F22919B41B0BA14AA4CCC,
+ D0C7B799E38035948C4BE8C1,
+ D92208AFBEE850525AE7351F,
+ ADCEAAA615BA2F1E2DA5A552,
+ B85D5F20DD455F0A09E51890,
+ 4B1711662ECE0954B9C568EF,
+ 453ACC771EC4B44D3D8461FB,
+ C22B01AD2000713B7888F4EB,
+ 9F8EB8E2528BA45535A77C7A,
+ 45BC9079C10E9CE2545372E4,
+ 78C50D94075B56512516F0C8,
+ 0134541F88473B067DD0FC3D, ); name = drawables; sourceTree = "<group>"; };
+ 41509E79850DE855D4C7D71A = {isa = PBXGroup; children = (
+ 0A526E1279C058ECEB5D72E6,
+ 6D6D95F6276628417314D1DD,
+ 0486A2838E9CF6A08E2CDB4D,
+ 396D953F95B6F3476E790241,
+ D26AB514846D276E9C51FCBE,
+ F17400700CFFDE93F875A0C7,
+ 86F179E6CEA5A7C8AB72F7EB,
+ 276090854E12816A7A35B3D8,
+ 185F6931778F33EE877A4A72,
+ 536BC600CA34FB063F45C1E3,
+ 56FF63000FDC0BC90E5A5A12,
+ 0E42B615AFEEDD7E91F69F3E,
+ 963DEAA7F26F49267926BF3B,
+ 860B2CB374BD49B9CDBC86F5,
+ F994478EC1241EE08FB8D207,
+ B7E8E5CA1ADCAEE8B0B2AE66,
+ 686718D917B30AF24B25AA93,
+ E3F9E4319F72D8F0196BB395,
+ F0FD67695F37DE1B68129B53,
+ 2EB3D45896B162CF084B45B4,
+ 356836FC63C553DE7E939438,
+ 04C4492E9BFB187B49F04779, ); name = filebrowser; sourceTree = "<group>"; };
+ 6C5D4E4898415374BA9FDC33 = {isa = PBXGroup; children = (
+ 098F2AE5656DAD86654071F6,
+ 27DA3CBF130A67C5E16A1997,
+ 0F9867566F439625DCCD9E20,
+ DD38982F889B495C7BB6D1E6,
+ 344D18532509B867ECE196E6,
+ 277CD95799867DBC2DD130E5,
+ 9B27CF1ED3952EFBFA499E38,
+ 270E251E092B56AE76BC03DF,
+ B22866EBFB0C99DE4D42CE0D,
+ CC49BFDF0CBBF67ED6045497,
+ 2D04DCD5191030ECAC7A7066,
+ BEB30294F6BD8139B70ACA29,
+ 60CC9ADC40B2E610426CADDC, ); name = keyboard; sourceTree = "<group>"; };
+ 43C16176F563713473606FD6 = {isa = PBXGroup; children = (
+ E872F82A42DCC945FB958F16,
+ B516C7504041F3EE923DDD57,
+ 3766E76069E307005AC29A3F,
+ 39786EE015E3BF240FD18221,
+ 037F0FA4D8A2AF9C315C4043,
+ 27E7098028BE30F84E49D9B1,
+ 218311C48E20518B540D871F,
+ 53737E956EE99C3D7259B31A,
+ 2C4E2335436A0973B4D3963B,
+ DDBE3FCE257DCA2725A50F6C,
+ 45191F8C48FCE643824B67F7,
+ 141B5486B9DE5E175F54300E,
+ 3B94C5189858C02B00F9D486,
+ AA7CD33408E87BF62FD6196F,
+ E5AD2180C57F5EBB1A39F66F,
+ 8428E9E864E1F19E0EAFD021,
+ DD3866A8E0E87FED180DA468,
+ 3845F8554B1817B1D20ABFC9,
+ 44232F9780A5411FCF2A8917,
+ 549CA3DE9B8537DB0E936173,
+ F84479395CA00824345C715C,
+ 3E3AD57C396C694F715232F2,
+ A5FDD01BAD9616628F32C831,
+ 55D6BCF1EE93E7115FD25B60,
+ 580E504DE6FCC999560F76A9,
+ 8C39F2FC681488A978C02F5C,
+ F5088482469904F72E1C5E87,
+ A5D61A4D8387CE0D63C2EA9E,
+ 73992D8767EDEF2D6EB6D53D,
+ 2B1A206BFB17D26E59EAFA3B,
+ ECB2EC0CF7DD9626979F4E99,
+ 7E7377E9D88AF945C81B1508,
+ 300E4F29AA370E48EC0BE8DD,
+ DF64E9F78EBF3B58607D5865,
+ 444983159A76796F60409C6F,
+ BF6E03438E370EEFE3BF3D90,
+ 8ABCCE49B1351D78276E0240,
+ 2748F246140E74AF34D2A8AC,
+ 12B17FE38D1A47D2558DC45D, ); name = layout; sourceTree = "<group>"; };
+ 0D65A6A8738870F1E232F7F7 = {isa = PBXGroup; children = (
+ 8737BFF74A76A096E301AEE2,
+ F6C2E437248C7285C57D8A86,
+ 7C3B053CAFA9B60C2753760B,
+ 37080D42462DABCF6250ABE2,
+ 2A6913FDD4BD2C9238310B2D,
+ E979A50752EE4A8644D8A6C0,
+ 5BAC2DF04466FBE5A779B774,
+ 99CEF028EC17F57AC2E1A9AA, ); name = lookandfeel; sourceTree = "<group>"; };
+ 627F025357659BFF9D5D407B = {isa = PBXGroup; children = (
+ B00597263D3795CD71B882B3,
+ 0066F77648F3BDE61FA586D4,
+ 28440D14791AF9B570AAD4BD,
+ 6458E206EE79D7E0784192D0,
+ 55AB9D614F2F56C565EC6A8D,
+ C4976B0216C3F8E8A56F712C, ); name = menus; sourceTree = "<group>"; };
+ 4228B509C46C892BB44ED093 = {isa = PBXGroup; children = (
+ B53F0009D4FB58F0AC18538C,
+ 05FDDC9D91284C827AB9499E,
+ E90133E32AE7DA442643EA4D,
+ 80DCA56117702F7F20E01546, ); name = misc; sourceTree = "<group>"; };
+ 88BEF0EC977F4FDA5EC98E70 = {isa = PBXGroup; children = (
+ B3B971DDAFD16CB2BCA72550,
+ EE0BE235603DED2039A8A376,
+ 4090F84100430A95257C056C,
+ 54FD746FB0C4F9AAE87255C8,
+ 0CD3B19FFE35170797E44D6A,
+ EB064E6E42732DD8623092DF,
+ 8EBA149C544E2531D23342B3,
+ 10C0A00B736989F933478B16,
+ D7DCCE5D9835450DDA2E29E0,
+ E96DBCF5B4D866A3A1AD89EF,
+ EEECE62F6037C2321B2ACF08,
+ F71B8097C1E62565B628AC60,
+ 66A487257989CA14B111F1A7,
+ 97C0AA5352C7C3C7F4A5789D,
+ 75ACA1805C5BBEBBB33D37A1,
+ 66B742B483616B3D07D6C2A0,
+ 9F85F3E67F54AF4C454660A9,
+ 49DD9B8AC108D8DA6F3C9004,
+ 6E2A3A00C7C2EED4A2204F64,
+ 1F93660A522905B8BC5D5164, ); name = mouse; sourceTree = "<group>"; };
+ 7BC145596A3A4D3C7CE71A7D = {isa = PBXGroup; children = (
+ FCC8E19B4E8537120C6F3B2D,
+ EFD399B3BCDF81ADCFC5D7E1,
+ 1EA05B488621472B657800BD,
+ FD346DC35FA3268FF7304168,
+ B025DD0A3F91CFD919E11B07,
+ 1F90991691844766DEBB34EC,
+ 8C64DB8B08929B71E71FE00B,
+ 4EC1622A1F36D7683C929C35,
+ FC2AC5AB9DA0202896FFC1A3,
+ 1582CA65E7C557627CAA8F5A,
+ CC272EEB471D5EA69C641557,
+ C654FC89A62EB1AD67A81BBD,
+ 612AFB5CDF7DBBE13AECE21B,
+ 6DC17D96EC4A453BA5705B5A,
+ 0D6AF3E024957A409531B0B0,
+ D0205E19CC873D8B25BE90BF, ); name = native; sourceTree = "<group>"; };
+ A020AC1B01801FCB9D5067D3 = {isa = PBXGroup; children = (
+ AAECFC780C79188EAB8E191A,
+ 2B68FB010C7AF495E226C8CD,
+ 782DE6A268A9B772E556FE51,
+ F0FC842DADA7C5B6E493B189,
+ 53EA0626B6F8E27469BAFF6D,
+ 39B8B06446BAB8D893095B95,
+ 600E8EE6FDA5AC2D4FCA236A,
+ 213B4C6C828E14CDCEA7B8D6,
+ 75379B0DDC5FA7ACA7EF1E0F,
+ C2A466EB36712942B38373CE,
+ 12047DF1AFFBAEEE3F13B2D7,
+ C7450EA94B66FBE26DD4425C,
+ D44B50CE1B7346171B34DB94,
+ 6263919A0E13A478DD9B8E4E, ); name = positioning; sourceTree = "<group>"; };
+ 8FF678763A9F802FE7535A3D = {isa = PBXGroup; children = (
+ 7A45E1898C4D332A35D9D4A4,
+ 2609C83BFD2B75F9D2063825,
+ 2829B6FF07E693FF64CC5B02,
+ 7B3545E46376622310EB59B4,
+ 9DF33E67E71F1CF73BA35B14,
+ 657A6786386C94EBFB7E3663,
+ 615C09366D1D8E3D4764C203,
+ ADD5B3970974BE782183D773,
+ 295AD44153ADE7714563E352,
+ 39B6D1044605C7418ACCA419,
+ C378F00E8279BEB7A09F2A72,
+ 9DD7345FAE01C04CCDEBA6ED,
+ 6F3AA44CBACA9F95B74DFC04,
+ 1288968137D5024242866470, ); name = properties; sourceTree = "<group>"; };
+ B55FB3B5BA62BDAFD8288296 = {isa = PBXGroup; children = (
+ 1940D822E35A6628F81E845A,
+ D589551CB03EF87450FBBE2D,
+ 8BD2E34FBF2D665B3EF5B469,
+ A036582CCB2DE4B4A8128349,
+ 8BE1CC0E799319B70AB961BC,
+ 745138CAA42C288D5138026F,
+ 3F4AD344A9B3A6B75BE3FFED,
+ F781B7A10E43CFBC73865282,
+ 60357B0189F033F10BDACB40,
+ A2E54CC2C9122D6EAC457A7A,
+ 11B718FAF15A06E8A910207D,
+ F875253F49AF427B48942303,
+ B38B035A94F8C68FC4213C4D,
+ 1639FF06D27B84F3842F4562,
+ 4BA32E5F03049AB701E3ECE2,
+ B457A534EA87F2839E1B3FCE,
+ 1FFFFF4E5B8F6EE4F2654FF5,
+ 4BF9A214E3239A725C95A0CB,
+ 468B2C73407C4122B3EF31D7,
+ 7B16B12DDD0890AD7E7650B6,
+ C1F06DF70CE1D7CAA0F843EA,
+ 51A72B6C930D8AF149FD2749,
+ ADB9047E9B3711E62B59B135,
+ 3E53AAF6A7C50B871CC2B84B,
+ 1BCEE41B6DCEE197CABD276E,
+ F91C18845B000BFD9394DB88,
+ 7B53E332EE979100E6BF52A2, ); name = widgets; sourceTree = "<group>"; };
+ 608B013A25741BF543C2D4CB = {isa = PBXGroup; children = (
+ C3E8BCE32CB8C9972EEB5706,
+ 8B6110EB4D07A18685A846C2,
+ 3C6DEA1D9CF09ED6F08F8D97,
+ 247D1A676F993924931F2B11,
+ 7B2051E3A09B3AD07C0779A4,
+ 945C3EC8D157047CDBB40D8F,
+ 6D39BB7673BAF2E3C8AAE91F,
+ 531AF914074A371A2E23A32E,
+ 6D7D30FB2145AC442C40EBA5,
+ D2AA8ACBE7710F017D18DF47,
+ 43B541DE2AE988D5DF58776B,
+ 8832DEAD11A1BDE92F88E96A,
+ 9A0F119D9863AE9F5C0A4251,
+ 5478200B71A9A9A7BD4480A5,
+ 2C75054FC9998542A3DF49BD,
+ 3EAA7B2934AA9AF16F86BA43,
+ D61BBAED71EAA177A28395D4,
+ 24AB7780B4E122BE96675243,
+ A47D11008150FAF0F5E1BDA8, ); name = windows; sourceTree = "<group>"; };
+ 68C7055DF9613AA86B2E7AF2 = {isa = PBXGroup; children = (
+ 6B80CA0D7CB17A440458028D,
+ 3C05FDBD9A9A6A7AA7B48A7B,
+ 556429C32A05088FEFD426D2,
+ 717001FE1D0C1757D18A5FEB,
+ 25E0615396DB4A887139769A,
+ 41509E79850DE855D4C7D71A,
+ 6C5D4E4898415374BA9FDC33,
+ 43C16176F563713473606FD6,
+ 0D65A6A8738870F1E232F7F7,
+ 627F025357659BFF9D5D407B,
+ 4228B509C46C892BB44ED093,
+ 88BEF0EC977F4FDA5EC98E70,
+ 7BC145596A3A4D3C7CE71A7D,
+ A020AC1B01801FCB9D5067D3,
+ 8FF678763A9F802FE7535A3D,
+ B55FB3B5BA62BDAFD8288296,
+ 608B013A25741BF543C2D4CB,
+ 3782D185E22EF45E19121FDE,
+ FCE2AB34D1C54832F4AC47C9,
+ 9C8498C25697BD9D5A3F6D3F,
+ FCE2AB34D1C54832F4AC47C9, ); name = "juce_gui_basics"; sourceTree = "<group>"; };
+ E40852D67BDC756789D8E51E = {isa = PBXGroup; children = (
+ 9B0E2E458B1A3A4B032B2B0C,
+ 39A8BA4E50401A7D579168F4,
+ CAB0FFD4ACE46B5BB6559F49,
+ C270E46D4AA6167816A24E2B,
+ 1A8D73AA5A4FED553C046781,
+ 0470B740800E2B92D64815BF,
+ 056DBA62F34F5450839B7FC2,
+ 1940FFAA55755E1B278A64E3,
+ 1CA65E651664075BFF4A4A64,
+ 3AADA20AD02A1052F80B2857,
+ 45530FF0DF287CC439A75C68,
+ 2B259B9BA313A92083472063, ); name = "code_editor"; sourceTree = "<group>"; };
+ 96B6E2368368F4D2A8BB7045 = {isa = PBXGroup; children = (
+ 6C1EE0564BB0C2F66F9C2433,
+ 34134A573DDF0D91487FFFE8, ); name = documents; sourceTree = "<group>"; };
+ 4F6FD1275DC7EC86601A5AB6 = {isa = PBXGroup; children = (
+ FB678E72A050B9C8405A49D3,
+ 192285B9EE21A90ED7F8E0C3,
+ 1B6526803945EC2E65A2003A, ); name = embedding; sourceTree = "<group>"; };
+ 48AF61937B2A3861191A8C99 = {isa = PBXGroup; children = (
+ 0146ADA6A37B56C2B80B664B,
+ C5350D02D320948DED393876,
+ 14D6FADA9CE0607012BE74D6,
+ 5FEDFC682FF65A4B073C560D,
+ E5858F0CD2D3EE349B30CA5B,
+ A0CB6935196AC5238C8F269C,
+ 9BFD087AC2047471E1A72573,
+ BC1AB5217569FF1D6768A3CC,
+ 5570A3AA41CD987CB8AF621F,
+ 86495A92C2E2F86CDE545090,
+ C40EABB3E75B9AD8FCAB53AC,
+ 5E06F5051C1D854B2455CB87,
+ 6ED2B47D5060F8EACFC50640,
+ F4335B83494891C421FA04E8,
+ 3C53FF471FF3C7E737CA72DA,
+ BA1D0F30B2E5F0F96F4185DB,
+ 02C1D8DDC7431B47680C884D,
+ 24D67156E1F4D111F2A7B66B,
+ C3933419918B6A2495795FA2,
+ 4398C562023B9F4EC288F057, ); name = misc; sourceTree = "<group>"; };
+ 144D15BAD8CA69A8DBB82C31 = {isa = PBXGroup; children = (
+ E8436FD10AED36594510428E,
+ A0FBE04131F0B428E5382BAD,
+ E0C969049C24A8E43F0486DB,
+ A7F4E51343ED786701A85266,
+ 59ED2CD34E9EE135DEF23CBB,
+ B4B4DC2B15A8661F0AFEF3E6,
+ 23BAF64A603F0EB4AFCDCD5C,
+ 522270278A659CBC622295F7,
+ 9D3604486A3820957442DAC7,
+ 36402D3C84983BDC6A6C8EA6,
+ FA40DB2441500AF4B0ECA71B,
+ 0BA1A36CC006BB5B35A09E06, ); name = native; sourceTree = "<group>"; };
+ 958D4B16CF3F96E9E70828DA = {isa = PBXGroup; children = (
+ E40852D67BDC756789D8E51E,
+ 96B6E2368368F4D2A8BB7045,
+ 4F6FD1275DC7EC86601A5AB6,
+ 48AF61937B2A3861191A8C99,
+ 144D15BAD8CA69A8DBB82C31,
+ 8DA7C37254BBEA4385A7272C,
+ 9793AB1BCA6FC17E9AB9E2E8,
+ 5818CD0223532F13C5422A26,
+ 9793AB1BCA6FC17E9AB9E2E8, ); name = "juce_gui_extra"; sourceTree = "<group>"; };
+ D3E81FAA09463622E66FD17F = {isa = PBXGroup; children = (
+ C289CBA2B8F95F33925A5AEB,
+ DB316449643AAC516003AE16,
+ 5EB9EE254F51E02B1D49B873,
+ 5E23D96E2EB9F88F38D93DFF, ); name = geometry; sourceTree = "<group>"; };
+ C9F0830E4E15FC5E70DDF18A = {isa = PBXGroup; children = (
+ D4BFD81E44C76AD3D342F720,
+ 8B6CB21BA069BE0A9DB997C0,
+ 553A899730E4FED7F493AA03,
+ 406F6D35C92A081783503504,
+ ADC573E1DE05C8BF45BA5B59,
+ 84088AC5990FDBA99C10AEB3,
+ C1366849A4AFA9E7B0059002, ); name = native; sourceTree = "<group>"; };
+ A4C10C12427AB28FF717AB52 = {isa = PBXGroup; children = (
+ 27ED9C6A91E50785CFA8BA31,
+ 5D3DE7592345CB26E453DD88,
+ 6149287F9C3FEF175DE93D44,
+ F1ECA550F1B8B16C8C8C35B6,
+ AB15F30C4F3A5709ADA3C5B0,
+ 5EA4D7EB503ED1646A1FECA6,
+ 56E5943EC268C8ACB54703B8,
+ 538CFEAD991A38E937468632,
+ 621FCE540F6FAB599D909498,
+ 90A11F403330C55809F0693A,
+ C6096109CD738B1A58DA3EBF,
+ 97B7579F4F3C4CEA23457E9F,
+ 8849A3B9AB85002210BAA4DB,
+ D8BF2EA2311BC20E72F780A2,
+ 6F7CCD75D031B8B2EC131463,
+ 6D7601A0932A43EF421666F9,
+ 397C67B8A5BEE04B873AEE21, ); name = opengl; sourceTree = "<group>"; };
+ F82EAEE695163CE0AF613BF3 = {isa = PBXGroup; children = (
+ 5DB18DB883B9C7D28EB5B3D3,
+ C294028BADB2FCB4DFA91F50, ); name = utils; sourceTree = "<group>"; };
+ 8B4985F5B17C0907B2D0280A = {isa = PBXGroup; children = (
+ D3E81FAA09463622E66FD17F,
+ C9F0830E4E15FC5E70DDF18A,
+ A4C10C12427AB28FF717AB52,
+ F82EAEE695163CE0AF613BF3,
+ 986010E9A082A0DF23C16F2D,
+ CA36573F2BB8AE07EEF00E23,
+ A56ED345A6C89B13D2D0AC89,
+ CA36573F2BB8AE07EEF00E23, ); name = "juce_opengl"; sourceTree = "<group>"; };
+ ACF438DCCC7951F80306FB81 = {isa = PBXGroup; children = (
+ 665E1B7D0F3287E61328962A,
+ 9AC105FA2D78A2FF360E72CF,
+ 3A7E92469DD583BC27D6A0C3,
+ 6703540BB2129E337C6A36A2,
+ 502E1E6A813AB55B9E50E94B,
+ C26A50FC2442172A34F9428E,
+ 640D80D58491993647C1B663,
+ 691E83AB8952AA6D282C983C,
+ 68C7055DF9613AA86B2E7AF2,
+ 958D4B16CF3F96E9E70828DA,
+ 8B4985F5B17C0907B2D0280A, ); name = "Juce Modules"; sourceTree = "<group>"; };
+ 04F9940C78EBE86BC90AC333 = {isa = PBXGroup; children = (
+ 4ABD70F1E7F6F48AF857A965,
+ DA8A4007E66A5DAF6714958C,
+ 95CF46398870352FCFC6060A,
+ 6897FB6E71DC9317E49C7878,
+ F6846615852B68E9AC653C15,
+ 1ACBA85AD353C8C85A01F6A4,
+ 78246E70C7F9C5C5FE05D6D3,
+ 051FF93BB3EA12E38D1FBA70,
+ 34210DF6FF04098CE9FDF1D7,
+ 58368BBE74C33205BA7031C6,
+ C8340D5843D5D25231C0F1C0,
+ C6F80D596083F77D6657CFAF,
+ E677E7CBC0109236A71D0E76, ); name = "Juce Library Code"; sourceTree = "<group>"; };
+ BA3276FE3301BF867BBA6FBA = {isa = PBXGroup; children = (
+ 574E29C4D824BEE95F94E7D6,
+ BA174BBB2231F7A8D1621BE9, ); name = Resources; sourceTree = "<group>"; };
+ EB0D13905DE35B7EECA09529 = {isa = PBXGroup; children = (
+ 2C5EEC55C1DCC5A3372873C8,
+ 5BFC1DE795FB9081364BFC41,
+ F5829E69ECD68EF59600F48C,
+ 8E8E9DC0DD1905D43E295D8A,
+ 11AEC78B996D849B2EA9C96F,
+ A2D1D8C580DFDB5C8E011C80,
+ 25D249E24CF8513F7B245F8C,
+ BEBF18621B604A4DE3180F89,
+ D2E3DCE1B8C06CB72C0E7E1E,
+ ABA9D69C67D0234528DEB39B, ); name = Frameworks; sourceTree = "<group>"; };
+ 31F4C36D3B12DC4E69F5D5A7 = {isa = PBXGroup; children = (
+ 7A425A86C84D843976582BAF, ); name = Products; sourceTree = "<group>"; };
+ 0E79852FE469702C8F99D6F3 = {isa = PBXGroup; children = (
+ 9886851267A0D1BF2E10BA86,
+ ACF438DCCC7951F80306FB81,
+ 04F9940C78EBE86BC90AC333,
+ BA3276FE3301BF867BBA6FBA,
+ EB0D13905DE35B7EECA09529,
+ 31F4C36D3B12DC4E69F5D5A7, ); name = Source; sourceTree = "<group>"; };
+ DF3B86DBD39059B08B65FFDE = {isa = XCBuildConfiguration; buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_DEBUG=1",
+ "DEBUG=1",
+ "JUCER_XCODE_MAC_F6D2F4CF=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000", );
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
+ INFOPLIST_FILE = Info-App.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksDrawing;
+ SDKROOT_ppc = macosx10.5; }; name = Debug; };
+ D1EA6139431E47DBB7B1986D = {isa = XCBuildConfiguration; buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ DEAD_CODE_STRIPPING = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_NDEBUG=1",
+ "NDEBUG=1",
+ "JUCER_XCODE_MAC_F6D2F4CF=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000", );
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
+ INFOPLIST_FILE = Info-App.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksDrawing;
+ SDKROOT_ppc = macosx10.5; }; name = Release; };
+ 43CD600C065BABAB527F39FC = {isa = XCBuildConfiguration; buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "BlocksDrawing";
+ WARNING_CFLAGS = -Wreorder;
+ ZERO_LINK = NO; }; name = Debug; };
+ EC99C60653432B6B3FB22D6B = {isa = XCBuildConfiguration; buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PRODUCT_NAME = "BlocksDrawing";
+ WARNING_CFLAGS = -Wreorder;
+ ZERO_LINK = NO; }; name = Release; };
+ 0F059C1E8ACF3FBEF730CA15 = {isa = PBXTargetDependency; target = F0C1DAFB0E78213F565F044F; };
+ DD23365E44ACBF007DC85D46 = {isa = XCConfigurationList; buildConfigurations = (
+ 43CD600C065BABAB527F39FC,
+ EC99C60653432B6B3FB22D6B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
+ A3CB76965E92DC1E80F3F9AF = {isa = XCConfigurationList; buildConfigurations = (
+ DF3B86DBD39059B08B65FFDE,
+ D1EA6139431E47DBB7B1986D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
+ B64F4B6419098A6C579D0EDB = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (
+ 19DBB78B919C4774330FCED5, ); runOnlyForDeploymentPostprocessing = 0; };
+ 6F1EAB6EC19EDAB88EF14DE0 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
+ F1C1D8F4BDE85067F5E61D08,
+ 24C420997F20D0A7722D42F4,
+ 049EFBDC407E74FEFD6B5BC4,
+ 14F7090DA7E5514C84EDEAEC,
+ 6A180703D5E1FF08436F86BD,
+ 778865742AAC536B855F7811,
+ 3605BE75533AB0654207D383,
+ 28112EC95408B63449B78115,
+ 24904A3173013B4EDA6F3C5C,
+ D0BFD385DEAF6A175C6DFD65,
+ 30A9BAE82518913F1E845471,
+ E5F0AAB587D9B91BD29F8FB5, ); runOnlyForDeploymentPostprocessing = 0; };
+ 704E8CB52C968D24DAE2ABD5 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
+ DC3B31CFC2AD4291556EC0C5,
+ BBE14F0993C20E2D963EB167,
+ 5B42DF91D2934C85ECF514FA,
+ 8852261A4E917CD1AED7E45E,
+ 23D2896D495239FEA26A3255,
+ E759B32B9B193C5530B5728D,
+ A616212899B39931D525663E,
+ A6DD612C38EE8DBFD4011BCF,
+ 3517782FB58BA6883F7A9D6F,
+ C5B65EEA10D40B2770FE8937, ); runOnlyForDeploymentPostprocessing = 0; };
+ F0C1DAFB0E78213F565F044F = {isa = PBXNativeTarget; buildConfigurationList = A3CB76965E92DC1E80F3F9AF; buildPhases = (
+ B64F4B6419098A6C579D0EDB,
+ 6F1EAB6EC19EDAB88EF14DE0,
+ 704E8CB52C968D24DAE2ABD5, ); buildRules = ( ); dependencies = ( ); name = "BlocksDrawing (App)"; productName = BlocksDrawing; productReference = 7A425A86C84D843976582BAF; productType = "com.apple.product-type.application"; };
+ 46C68557D30B3B44D3FE037B = {isa = PBXProject; buildConfigurationList = DD23365E44ACBF007DC85D46; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { F0C1DAFB0E78213F565F044F = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0E79852FE469702C8F99D6F3; projectDirPath = ""; projectRoot = ""; targets = (F0C1DAFB0E78213F565F044F); };
+ };
+ rootObject = 46C68557D30B3B44D3FE037B;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\r
+<plist>\r
+ <dict>\r
+ <key>CFBundleExecutable</key>\r
+ <string>${EXECUTABLE_NAME}</string>\r
+ <key>CFBundleIconFile</key>\r
+ <string></string>\r
+ <key>CFBundleIdentifier</key>\r
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\r
+ <key>CFBundleName</key>\r
+ <string>BlocksDrawing</string>\r
+ <key>CFBundleDisplayName</key>\r
+ <string>BlocksDrawing</string>\r
+ <key>CFBundlePackageType</key>\r
+ <string>APPL</string>\r
+ <key>CFBundleSignature</key>\r
+ <string>????</string>\r
+ <key>CFBundleShortVersionString</key>\r
+ <string>1.0.0</string>\r
+ <key>CFBundleVersion</key>\r
+ <string>1.0.0</string>\r
+ <key>NSHumanReadableCopyright</key>\r
+ <string></string>\r
+ <key>NSHighResolutionCapable</key>\r
+ <true/>\r
+ </dict>\r
+</plist>\r
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 11.00\r
+# Visual Studio 2013\r
+Project("{0D7965A3-BED9-ABF7-CBD9-0D3743DA1577}") = "BlocksDrawing", "BlocksDrawing.vcxproj", "{83D60C30-1484-EABF-FDB3-14C39E5DD976}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Win32 = Debug|Win32\r
+ Release|Win32 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {83D60C30-1484-EABF-FDB3-14C39E5DD976}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {83D60C30-1484-EABF-FDB3-14C39E5DD976}.Debug|Win32.Build.0 = Debug|Win32\r
+ {83D60C30-1484-EABF-FDB3-14C39E5DD976}.Release|Win32.ActiveCfg = Release|Win32\r
+ {83D60C30-1484-EABF-FDB3-14C39E5DD976}.Release|Win32.Build.0 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{83D60C30-1484-EABF-FDB3-14C39E5DD976}</ProjectGuid>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>\r
+ <ImportGroup Label="ExtensionSettings"/>\r
+ <ImportGroup Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"\r
+ Label="LocalAppDataPlatform"/>\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros">\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">BlocksDrawing</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">BlocksDrawing</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksDrawing.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksDrawing.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksDrawing.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Full</Optimization>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksDrawing.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>false</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksDrawing.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksDrawing.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc"/>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>\r
+ <ImportGroup Label="ExtensionTargets"/>\r
+</Project>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="BlocksDrawing">\r
+ <UniqueIdentifier>{7932D36B-7CB1-AC09-2855-AFB03BA5B840}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="BlocksDrawing\Source">\r
+ <UniqueIdentifier>{1989F7A9-CF2C-1DB8-114E-86DF2B3D282D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules">\r
+ <UniqueIdentifier>{422C46B7-0467-2DB0-BF3C-16DFCAFD69AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics">\r
+ <UniqueIdentifier>{3247ED97-A75A-F50B-8CCC-46155E895806}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\buffers">\r
+ <UniqueIdentifier>{A33A1E1D-AC2C-6382-8681-48B0FC374C60}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\effects">\r
+ <UniqueIdentifier>{11A75801-B027-40BD-4993-023023ACCBF7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\midi">\r
+ <UniqueIdentifier>{3FD908F5-98C8-9A61-FC03-0BAF8913CBB0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\mpe">\r
+ <UniqueIdentifier>{8C868E51-156D-A916-047C-0D9EA1393675}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\sources">\r
+ <UniqueIdentifier>{EF2CAB40-0432-429B-C517-86ADF136BB8A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\synthesisers">\r
+ <UniqueIdentifier>{8F7EC212-3168-AD81-5064-C45BA838C408}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices">\r
+ <UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
+ <UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\midi_io">\r
+ <UniqueIdentifier>{0F766DD4-A277-CB86-5647-42498C8B41E1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\native">\r
+ <UniqueIdentifier>{01603E05-423B-5FC3-1BEE-E15ED33B5688}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\sources">\r
+ <UniqueIdentifier>{D64942B4-6984-3623-3347-45D472AE1C61}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats">\r
+ <UniqueIdentifier>{65CB28F8-0422-A8F3-9A17-959E12A1F8E2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs">\r
+ <UniqueIdentifier>{0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac">\r
+ <UniqueIdentifier>{AB8611DF-8161-A9DF-DBAD-77A87DE37331}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC">\r
+ <UniqueIdentifier>{9DFA63C1-4EE6-1FAB-D563-41FCF84988F2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include">\r
+ <UniqueIdentifier>{FEF33480-117C-23A6-D12C-7C299F26C9DB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private">\r
+ <UniqueIdentifier>{C9640E58-4493-7EEC-6F58-603AD184956E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected">\r
+ <UniqueIdentifier>{D8EE4AD1-61E3-21C2-6640-6684F4CF77DC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis">\r
+ <UniqueIdentifier>{76391436-F92A-7602-4073-E446B5FAA859}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2">\r
+ <UniqueIdentifier>{9971A63C-5B75-039F-95C2-7474D7DB16B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib">\r
+ <UniqueIdentifier>{DC58E9B7-2710-F45C-B718-75EACDF53F47}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books">\r
+ <UniqueIdentifier>{B8087E92-19F7-552F-9E85-16153D7191B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled">\r
+ <UniqueIdentifier>{25C8FB00-334A-6E0F-F203-E988758B708A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor">\r
+ <UniqueIdentifier>{94027CB9-8162-7431-2E01-B710C7CAE620}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled">\r
+ <UniqueIdentifier>{450B8177-6F41-B902-761B-BF68D55102DA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes">\r
+ <UniqueIdentifier>{B7221885-1731-611D-FDD9-EA968FA8D858}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\format">\r
+ <UniqueIdentifier>{2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\sampler">\r
+ <UniqueIdentifier>{40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics">\r
+ <UniqueIdentifier>{DFA2DC59-3B2E-1F2A-8661-79D25C3D7F1B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\blocks">\r
+ <UniqueIdentifier>{F00B1208-CE3A-EE5C-C33C-9A016BAD5E70}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\littlefoot">\r
+ <UniqueIdentifier>{31632996-AC68-BCF8-B244-110FC6087A6E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\protocol">\r
+ <UniqueIdentifier>{65A9A26C-02FC-34D8-BEAC-C30A1E255B44}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\topology">\r
+ <UniqueIdentifier>{F61978A2-275C-CD64-3724-AE5945CB8970}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\visualisers">\r
+ <UniqueIdentifier>{3BF28565-4A19-23EA-96D6-910B5646D6B9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core">\r
+ <UniqueIdentifier>{95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\containers">\r
+ <UniqueIdentifier>{0608ADE9-66EF-1A19-6D57-12D07F76EB53}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\files">\r
+ <UniqueIdentifier>{C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\javascript">\r
+ <UniqueIdentifier>{1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\logging">\r
+ <UniqueIdentifier>{C294408A-2005-2E9E-7AC0-8D3ABE8AC175}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\maths">\r
+ <UniqueIdentifier>{476C69CE-0B67-6B85-E888-45D91E37A29E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\memory">\r
+ <UniqueIdentifier>{7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\misc">\r
+ <UniqueIdentifier>{FA891A58-9FDA-9651-43C4-714A19B5D08D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\native">\r
+ <UniqueIdentifier>{C79A4D23-7866-8F3E-AC39-BD68C52A9259}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\network">\r
+ <UniqueIdentifier>{DA0DC4AC-B511-A2D4-199A-C93454D6F114}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\streams">\r
+ <UniqueIdentifier>{91929C6F-7902-B87D-5260-2F6CBF8ACD93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\system">\r
+ <UniqueIdentifier>{4634FFAE-9586-A970-364C-4FDDA635F99F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\text">\r
+ <UniqueIdentifier>{244D11B0-2D68-3C08-A0B7-0D12469BC3AA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\threads">\r
+ <UniqueIdentifier>{05F3DB8A-499C-6ACA-282F-5BF8455A0DE1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\time">\r
+ <UniqueIdentifier>{C9F6D785-BF78-5AA1-B479-111C65397864}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\unit_tests">\r
+ <UniqueIdentifier>{4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\xml">\r
+ <UniqueIdentifier>{F2B2F310-F30F-7166-42A9-9BF9C230DA78}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip">\r
+ <UniqueIdentifier>{F03654BC-34D8-F975-BEA3-750CC2783D23}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip\zlib">\r
+ <UniqueIdentifier>{585D6A72-C5E7-BCF1-A168-63A40C6B6313}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures">\r
+ <UniqueIdentifier>{928D8FCC-5E00-174B-6538-93E8D75AB396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\app_properties">\r
+ <UniqueIdentifier>{358AEA11-3F96-36AE-7B32-71373B5C5396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\undomanager">\r
+ <UniqueIdentifier>{3DF036EA-3B80-553B-2494-3AAC835CAE75}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\values">\r
+ <UniqueIdentifier>{1988E68A-A964-64CA-0E0C-26FF9BC5176C}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events">\r
+ <UniqueIdentifier>{F2A38F45-6E55-E147-2E52-64A89FDD9D59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\broadcasters">\r
+ <UniqueIdentifier>{B098BC87-3298-7E6B-12DC-D26C09CDCAED}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\interprocess">\r
+ <UniqueIdentifier>{6322B88F-984A-C3CD-6263-38D7AA49B6EC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\messages">\r
+ <UniqueIdentifier>{6172822C-01A5-E824-12DA-FA43FA934D35}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\native">\r
+ <UniqueIdentifier>{73C1E759-AD90-59A3-942E-2D10FAA29107}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\timers">\r
+ <UniqueIdentifier>{41DC3BE3-D629-8A17-C32B-F5B4008B5FAD}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics">\r
+ <UniqueIdentifier>{EE1AE8C3-0908-8F53-A4E5-D930C7C97C26}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\colour">\r
+ <UniqueIdentifier>{4926B3FF-E797-F586-857A-69D9703FA2D1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\contexts">\r
+ <UniqueIdentifier>{EBC65085-3AD5-280C-1A29-2B1683643AA1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\effects">\r
+ <UniqueIdentifier>{E37D25CD-4350-4614-055B-7ABC55E67895}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\fonts">\r
+ <UniqueIdentifier>{26ECA2AF-7368-C6CC-58EF-017ECD1862D0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\geometry">\r
+ <UniqueIdentifier>{C1A1A236-AB01-173E-96C3-0706BFF93B1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats">\r
+ <UniqueIdentifier>{69E1179D-76EC-26DC-C3E6-6602ED26D783}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\jpglib">\r
+ <UniqueIdentifier>{F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\pnglib">\r
+ <UniqueIdentifier>{12D20EC8-139C-C2B1-1A66-AC436C48C0A7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\images">\r
+ <UniqueIdentifier>{413F481F-075C-2958-115C-D8268682FCB7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\native">\r
+ <UniqueIdentifier>{FFC6E1CC-C772-75E6-5087-FB5D4E016799}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\placement">\r
+ <UniqueIdentifier>{1182303F-ECA3-166D-AC0C-92C5E762CB93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics">\r
+ <UniqueIdentifier>{8E43579F-C185-266D-DD67-F8B95BD80F2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\application">\r
+ <UniqueIdentifier>{61712B09-5783-ADFA-2001-5A0C3D7764EB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\buttons">\r
+ <UniqueIdentifier>{C3B2EB8A-1A2F-306F-AA78-3E9D1593788B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\commands">\r
+ <UniqueIdentifier>{46535B56-3737-2BE8-E3A0-571BCBEB2DA4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\components">\r
+ <UniqueIdentifier>{2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\drawables">\r
+ <UniqueIdentifier>{5A0AA36E-3957-E413-14C6-31CBE15271DF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\filebrowser">\r
+ <UniqueIdentifier>{5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\keyboard">\r
+ <UniqueIdentifier>{A92719C7-70BE-57C4-CE9E-A9BC9DFEB757}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\layout">\r
+ <UniqueIdentifier>{E980FADB-6E3F-B93C-DE02-CE4271C9BA93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\lookandfeel">\r
+ <UniqueIdentifier>{F408DCA2-D5E2-0A3A-A064-A1D045889BC1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\menus">\r
+ <UniqueIdentifier>{7BCEAB87-62FD-0327-EB5D-679E54EDB9B1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\misc">\r
+ <UniqueIdentifier>{C2B9505B-27B4-F650-12BD-F477D4BBCBAA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\mouse">\r
+ <UniqueIdentifier>{796B7886-44A7-34CC-9B95-BF4FB2C7B6F4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\native">\r
+ <UniqueIdentifier>{8A80BA78-D3A8-C0F8-7FFD-61AA028CE852}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\positioning">\r
+ <UniqueIdentifier>{7A53E6F1-1343-33B8-4CA8-1D7B714A0E76}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\properties">\r
+ <UniqueIdentifier>{D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\widgets">\r
+ <UniqueIdentifier>{75F1F352-251A-75E0-D941-8431588F5C1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\windows">\r
+ <UniqueIdentifier>{DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra">\r
+ <UniqueIdentifier>{8EC9572F-3CCA-E930-74B6-CB6139DE0E17}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\code_editor">\r
+ <UniqueIdentifier>{C60A6FCA-9462-922E-AD8D-69F10C9049AF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\documents">\r
+ <UniqueIdentifier>{D56498EE-E354-1F00-5EEE-8CF7944BEAFB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\embedding">\r
+ <UniqueIdentifier>{61B2920C-494D-D8CB-C0C7-5DBF3D76D164}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\misc">\r
+ <UniqueIdentifier>{66C9B809-8739-A217-C78D-A15D6089B8E3}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\native">\r
+ <UniqueIdentifier>{C413328B-5D81-89EE-F4F3-75752E700DE4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl">\r
+ <UniqueIdentifier>{639E16C5-DA8B-ADBA-6E24-7B596378EAB2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\geometry">\r
+ <UniqueIdentifier>{B3141847-8F13-F67D-45B2-E3ECF6E09088}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\native">\r
+ <UniqueIdentifier>{151B49D8-6102-F802-1C07-D59931BC0574}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\opengl">\r
+ <UniqueIdentifier>{2D8D0E19-E676-83EB-38D9-F73500DD6B79}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\utils">\r
+ <UniqueIdentifier>{9E586194-C056-101C-5311-F2AF5191AC80}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Library Code">\r
+ <UniqueIdentifier>{8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp">\r
+ <Filter>BlocksDrawing\Source</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.mm">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.mm">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Files.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Network.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Strings.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_SystemStats.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Threads.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.mm">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.mm">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_ios_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_mac_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.mm">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_Fonts.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.mm">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_UIViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_FileChooser.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MainMenu.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MouseCursor.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_NSViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.mm">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_ios_UIViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_AppleRemote.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_NSViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_WebBrowserComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.mm">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.mm">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\MainComponent.h">\r
+ <Filter>BlocksDrawing\Source</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ResourceCompile>\r
+ </ItemGroup>\r
+</Project>\r
--- /dev/null
+#ifdef JUCE_USER_DEFINED_RC_FILE\r
+ #include JUCE_USER_DEFINED_RC_FILE\r
+#else\r
+\r
+#undef WIN32_LEAN_AND_MEAN\r
+#define WIN32_LEAN_AND_MEAN\r
+#include <windows.h>\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+FILEVERSION 1,0,0,0\r
+BEGIN\r
+ BLOCK "StringFileInfo"\r
+ BEGIN\r
+ BLOCK "040904E4"\r
+ BEGIN\r
+ VALUE "FileDescription", "BlocksDrawing\0"\r
+ VALUE "FileVersion", "1.0.0\0"\r
+ VALUE "ProductName", "BlocksDrawing\0"\r
+ VALUE "ProductVersion", "1.0.0\0"\r
+ END\r
+ END\r
+\r
+ BLOCK "VarFileInfo"\r
+ BEGIN\r
+ VALUE "Translation", 0x409, 1252\r
+ END\r
+END\r
+\r
+#endif\r
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 11.00\r
+# Visual Studio 2015\r
+Project("{0D7965A3-BED9-ABF7-CBD9-0D3743DA1577}") = "BlocksDrawing", "BlocksDrawing.vcxproj", "{83D60C30-1484-EABF-FDB3-14C39E5DD976}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Win32 = Debug|Win32\r
+ Release|Win32 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {83D60C30-1484-EABF-FDB3-14C39E5DD976}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {83D60C30-1484-EABF-FDB3-14C39E5DD976}.Debug|Win32.Build.0 = Debug|Win32\r
+ {83D60C30-1484-EABF-FDB3-14C39E5DD976}.Release|Win32.ActiveCfg = Release|Win32\r
+ {83D60C30-1484-EABF-FDB3-14C39E5DD976}.Release|Win32.Build.0 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{83D60C30-1484-EABF-FDB3-14C39E5DD976}</ProjectGuid>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>\r
+ <ImportGroup Label="ExtensionSettings"/>\r
+ <ImportGroup Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"\r
+ Label="LocalAppDataPlatform"/>\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros">\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">BlocksDrawing</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">BlocksDrawing</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksDrawing.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksDrawing.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksDrawing.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Full</Optimization>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksDrawing.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>false</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksDrawing.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksDrawing.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc"/>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>\r
+ <ImportGroup Label="ExtensionTargets"/>\r
+</Project>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="BlocksDrawing">\r
+ <UniqueIdentifier>{7932D36B-7CB1-AC09-2855-AFB03BA5B840}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="BlocksDrawing\Source">\r
+ <UniqueIdentifier>{1989F7A9-CF2C-1DB8-114E-86DF2B3D282D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules">\r
+ <UniqueIdentifier>{422C46B7-0467-2DB0-BF3C-16DFCAFD69AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics">\r
+ <UniqueIdentifier>{3247ED97-A75A-F50B-8CCC-46155E895806}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\buffers">\r
+ <UniqueIdentifier>{A33A1E1D-AC2C-6382-8681-48B0FC374C60}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\effects">\r
+ <UniqueIdentifier>{11A75801-B027-40BD-4993-023023ACCBF7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\midi">\r
+ <UniqueIdentifier>{3FD908F5-98C8-9A61-FC03-0BAF8913CBB0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\mpe">\r
+ <UniqueIdentifier>{8C868E51-156D-A916-047C-0D9EA1393675}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\sources">\r
+ <UniqueIdentifier>{EF2CAB40-0432-429B-C517-86ADF136BB8A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\synthesisers">\r
+ <UniqueIdentifier>{8F7EC212-3168-AD81-5064-C45BA838C408}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices">\r
+ <UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
+ <UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\midi_io">\r
+ <UniqueIdentifier>{0F766DD4-A277-CB86-5647-42498C8B41E1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\native">\r
+ <UniqueIdentifier>{01603E05-423B-5FC3-1BEE-E15ED33B5688}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\sources">\r
+ <UniqueIdentifier>{D64942B4-6984-3623-3347-45D472AE1C61}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats">\r
+ <UniqueIdentifier>{65CB28F8-0422-A8F3-9A17-959E12A1F8E2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs">\r
+ <UniqueIdentifier>{0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac">\r
+ <UniqueIdentifier>{AB8611DF-8161-A9DF-DBAD-77A87DE37331}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC">\r
+ <UniqueIdentifier>{9DFA63C1-4EE6-1FAB-D563-41FCF84988F2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include">\r
+ <UniqueIdentifier>{FEF33480-117C-23A6-D12C-7C299F26C9DB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private">\r
+ <UniqueIdentifier>{C9640E58-4493-7EEC-6F58-603AD184956E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected">\r
+ <UniqueIdentifier>{D8EE4AD1-61E3-21C2-6640-6684F4CF77DC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis">\r
+ <UniqueIdentifier>{76391436-F92A-7602-4073-E446B5FAA859}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2">\r
+ <UniqueIdentifier>{9971A63C-5B75-039F-95C2-7474D7DB16B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib">\r
+ <UniqueIdentifier>{DC58E9B7-2710-F45C-B718-75EACDF53F47}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books">\r
+ <UniqueIdentifier>{B8087E92-19F7-552F-9E85-16153D7191B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled">\r
+ <UniqueIdentifier>{25C8FB00-334A-6E0F-F203-E988758B708A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor">\r
+ <UniqueIdentifier>{94027CB9-8162-7431-2E01-B710C7CAE620}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled">\r
+ <UniqueIdentifier>{450B8177-6F41-B902-761B-BF68D55102DA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes">\r
+ <UniqueIdentifier>{B7221885-1731-611D-FDD9-EA968FA8D858}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\format">\r
+ <UniqueIdentifier>{2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\sampler">\r
+ <UniqueIdentifier>{40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics">\r
+ <UniqueIdentifier>{DFA2DC59-3B2E-1F2A-8661-79D25C3D7F1B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\blocks">\r
+ <UniqueIdentifier>{F00B1208-CE3A-EE5C-C33C-9A016BAD5E70}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\littlefoot">\r
+ <UniqueIdentifier>{31632996-AC68-BCF8-B244-110FC6087A6E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\protocol">\r
+ <UniqueIdentifier>{65A9A26C-02FC-34D8-BEAC-C30A1E255B44}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\topology">\r
+ <UniqueIdentifier>{F61978A2-275C-CD64-3724-AE5945CB8970}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\visualisers">\r
+ <UniqueIdentifier>{3BF28565-4A19-23EA-96D6-910B5646D6B9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core">\r
+ <UniqueIdentifier>{95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\containers">\r
+ <UniqueIdentifier>{0608ADE9-66EF-1A19-6D57-12D07F76EB53}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\files">\r
+ <UniqueIdentifier>{C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\javascript">\r
+ <UniqueIdentifier>{1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\logging">\r
+ <UniqueIdentifier>{C294408A-2005-2E9E-7AC0-8D3ABE8AC175}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\maths">\r
+ <UniqueIdentifier>{476C69CE-0B67-6B85-E888-45D91E37A29E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\memory">\r
+ <UniqueIdentifier>{7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\misc">\r
+ <UniqueIdentifier>{FA891A58-9FDA-9651-43C4-714A19B5D08D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\native">\r
+ <UniqueIdentifier>{C79A4D23-7866-8F3E-AC39-BD68C52A9259}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\network">\r
+ <UniqueIdentifier>{DA0DC4AC-B511-A2D4-199A-C93454D6F114}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\streams">\r
+ <UniqueIdentifier>{91929C6F-7902-B87D-5260-2F6CBF8ACD93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\system">\r
+ <UniqueIdentifier>{4634FFAE-9586-A970-364C-4FDDA635F99F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\text">\r
+ <UniqueIdentifier>{244D11B0-2D68-3C08-A0B7-0D12469BC3AA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\threads">\r
+ <UniqueIdentifier>{05F3DB8A-499C-6ACA-282F-5BF8455A0DE1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\time">\r
+ <UniqueIdentifier>{C9F6D785-BF78-5AA1-B479-111C65397864}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\unit_tests">\r
+ <UniqueIdentifier>{4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\xml">\r
+ <UniqueIdentifier>{F2B2F310-F30F-7166-42A9-9BF9C230DA78}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip">\r
+ <UniqueIdentifier>{F03654BC-34D8-F975-BEA3-750CC2783D23}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip\zlib">\r
+ <UniqueIdentifier>{585D6A72-C5E7-BCF1-A168-63A40C6B6313}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures">\r
+ <UniqueIdentifier>{928D8FCC-5E00-174B-6538-93E8D75AB396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\app_properties">\r
+ <UniqueIdentifier>{358AEA11-3F96-36AE-7B32-71373B5C5396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\undomanager">\r
+ <UniqueIdentifier>{3DF036EA-3B80-553B-2494-3AAC835CAE75}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\values">\r
+ <UniqueIdentifier>{1988E68A-A964-64CA-0E0C-26FF9BC5176C}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events">\r
+ <UniqueIdentifier>{F2A38F45-6E55-E147-2E52-64A89FDD9D59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\broadcasters">\r
+ <UniqueIdentifier>{B098BC87-3298-7E6B-12DC-D26C09CDCAED}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\interprocess">\r
+ <UniqueIdentifier>{6322B88F-984A-C3CD-6263-38D7AA49B6EC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\messages">\r
+ <UniqueIdentifier>{6172822C-01A5-E824-12DA-FA43FA934D35}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\native">\r
+ <UniqueIdentifier>{73C1E759-AD90-59A3-942E-2D10FAA29107}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\timers">\r
+ <UniqueIdentifier>{41DC3BE3-D629-8A17-C32B-F5B4008B5FAD}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics">\r
+ <UniqueIdentifier>{EE1AE8C3-0908-8F53-A4E5-D930C7C97C26}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\colour">\r
+ <UniqueIdentifier>{4926B3FF-E797-F586-857A-69D9703FA2D1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\contexts">\r
+ <UniqueIdentifier>{EBC65085-3AD5-280C-1A29-2B1683643AA1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\effects">\r
+ <UniqueIdentifier>{E37D25CD-4350-4614-055B-7ABC55E67895}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\fonts">\r
+ <UniqueIdentifier>{26ECA2AF-7368-C6CC-58EF-017ECD1862D0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\geometry">\r
+ <UniqueIdentifier>{C1A1A236-AB01-173E-96C3-0706BFF93B1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats">\r
+ <UniqueIdentifier>{69E1179D-76EC-26DC-C3E6-6602ED26D783}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\jpglib">\r
+ <UniqueIdentifier>{F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\pnglib">\r
+ <UniqueIdentifier>{12D20EC8-139C-C2B1-1A66-AC436C48C0A7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\images">\r
+ <UniqueIdentifier>{413F481F-075C-2958-115C-D8268682FCB7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\native">\r
+ <UniqueIdentifier>{FFC6E1CC-C772-75E6-5087-FB5D4E016799}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\placement">\r
+ <UniqueIdentifier>{1182303F-ECA3-166D-AC0C-92C5E762CB93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics">\r
+ <UniqueIdentifier>{8E43579F-C185-266D-DD67-F8B95BD80F2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\application">\r
+ <UniqueIdentifier>{61712B09-5783-ADFA-2001-5A0C3D7764EB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\buttons">\r
+ <UniqueIdentifier>{C3B2EB8A-1A2F-306F-AA78-3E9D1593788B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\commands">\r
+ <UniqueIdentifier>{46535B56-3737-2BE8-E3A0-571BCBEB2DA4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\components">\r
+ <UniqueIdentifier>{2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\drawables">\r
+ <UniqueIdentifier>{5A0AA36E-3957-E413-14C6-31CBE15271DF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\filebrowser">\r
+ <UniqueIdentifier>{5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\keyboard">\r
+ <UniqueIdentifier>{A92719C7-70BE-57C4-CE9E-A9BC9DFEB757}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\layout">\r
+ <UniqueIdentifier>{E980FADB-6E3F-B93C-DE02-CE4271C9BA93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\lookandfeel">\r
+ <UniqueIdentifier>{F408DCA2-D5E2-0A3A-A064-A1D045889BC1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\menus">\r
+ <UniqueIdentifier>{7BCEAB87-62FD-0327-EB5D-679E54EDB9B1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\misc">\r
+ <UniqueIdentifier>{C2B9505B-27B4-F650-12BD-F477D4BBCBAA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\mouse">\r
+ <UniqueIdentifier>{796B7886-44A7-34CC-9B95-BF4FB2C7B6F4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\native">\r
+ <UniqueIdentifier>{8A80BA78-D3A8-C0F8-7FFD-61AA028CE852}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\positioning">\r
+ <UniqueIdentifier>{7A53E6F1-1343-33B8-4CA8-1D7B714A0E76}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\properties">\r
+ <UniqueIdentifier>{D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\widgets">\r
+ <UniqueIdentifier>{75F1F352-251A-75E0-D941-8431588F5C1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\windows">\r
+ <UniqueIdentifier>{DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra">\r
+ <UniqueIdentifier>{8EC9572F-3CCA-E930-74B6-CB6139DE0E17}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\code_editor">\r
+ <UniqueIdentifier>{C60A6FCA-9462-922E-AD8D-69F10C9049AF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\documents">\r
+ <UniqueIdentifier>{D56498EE-E354-1F00-5EEE-8CF7944BEAFB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\embedding">\r
+ <UniqueIdentifier>{61B2920C-494D-D8CB-C0C7-5DBF3D76D164}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\misc">\r
+ <UniqueIdentifier>{66C9B809-8739-A217-C78D-A15D6089B8E3}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\native">\r
+ <UniqueIdentifier>{C413328B-5D81-89EE-F4F3-75752E700DE4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl">\r
+ <UniqueIdentifier>{639E16C5-DA8B-ADBA-6E24-7B596378EAB2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\geometry">\r
+ <UniqueIdentifier>{B3141847-8F13-F67D-45B2-E3ECF6E09088}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\native">\r
+ <UniqueIdentifier>{151B49D8-6102-F802-1C07-D59931BC0574}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\opengl">\r
+ <UniqueIdentifier>{2D8D0E19-E676-83EB-38D9-F73500DD6B79}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\utils">\r
+ <UniqueIdentifier>{9E586194-C056-101C-5311-F2AF5191AC80}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Library Code">\r
+ <UniqueIdentifier>{8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp">\r
+ <Filter>BlocksDrawing\Source</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.mm">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.mm">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Files.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Network.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Strings.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_SystemStats.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Threads.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.mm">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.mm">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_ios_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_mac_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.mm">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_Fonts.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.mm">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_UIViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_FileChooser.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MainMenu.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MouseCursor.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_NSViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.mm">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_ios_UIViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_AppleRemote.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_NSViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_WebBrowserComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.mm">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.mm">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\MainComponent.h">\r
+ <Filter>BlocksDrawing\Source</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ResourceCompile>\r
+ </ItemGroup>\r
+</Project>\r
--- /dev/null
+#ifdef JUCE_USER_DEFINED_RC_FILE\r
+ #include JUCE_USER_DEFINED_RC_FILE\r
+#else\r
+\r
+#undef WIN32_LEAN_AND_MEAN\r
+#define WIN32_LEAN_AND_MEAN\r
+#include <windows.h>\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+FILEVERSION 1,0,0,0\r
+BEGIN\r
+ BLOCK "StringFileInfo"\r
+ BEGIN\r
+ BLOCK "040904E4"\r
+ BEGIN\r
+ VALUE "FileDescription", "BlocksDrawing\0"\r
+ VALUE "FileVersion", "1.0.0\0"\r
+ VALUE "ProductName", "BlocksDrawing\0"\r
+ VALUE "ProductVersion", "1.0.0\0"\r
+ END\r
+ END\r
+\r
+ BLOCK "VarFileInfo"\r
+ BEGIN\r
+ VALUE "Translation", 0x409, 1252\r
+ END\r
+END\r
+\r
+#endif\r
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+ 86AB9D29771B67849184732F = {isa = PBXBuildFile; fileRef = 7A425A86C84D843976582BAF; };
+ DC3B31CFC2AD4291556EC0C5 = {isa = PBXBuildFile; fileRef = 2C5EEC55C1DCC5A3372873C8; };
+ BBE14F0993C20E2D963EB167 = {isa = PBXBuildFile; fileRef = 5BFC1DE795FB9081364BFC41; };
+ 2A39C67F26307A5C8875160A = {isa = PBXBuildFile; fileRef = 2534868A44A9EAA66A584C16; };
+ 23D2896D495239FEA26A3255 = {isa = PBXBuildFile; fileRef = 11AEC78B996D849B2EA9C96F; };
+ EE68388C08422C998F9418CC = {isa = PBXBuildFile; fileRef = E427494183B988C7A7BD1017; };
+ E759B32B9B193C5530B5728D = {isa = PBXBuildFile; fileRef = A2D1D8C580DFDB5C8E011C80; };
+ 6CC5F22634ACED43D520FDF1 = {isa = PBXBuildFile; fileRef = 4D4A93B14DDB028B9592C841; };
+ BBFB0402058A2B62B9CAF548 = {isa = PBXBuildFile; fileRef = C759B8DF15E2D97796C44195; };
+ 1A7FD937E40C4CF89386EEE0 = {isa = PBXBuildFile; fileRef = E731A28F9A361B554E8926EE; };
+ 3517782FB58BA6883F7A9D6F = {isa = PBXBuildFile; fileRef = D2E3DCE1B8C06CB72C0E7E1E; };
+ 7292839DA84380BAA0F12E31 = {isa = PBXBuildFile; fileRef = 4DCF6F0AB88DA09CE8F97DD4; };
+ 2A5E87443C41335CD944ACB8 = {isa = PBXBuildFile; fileRef = 4FE119D4AAC2809C3D698315; };
+ D354A0AD7CBDBDD1D8132ECC = {isa = PBXBuildFile; fileRef = 3A534A7474110674C69C1FC9; };
+ F1C1D8F4BDE85067F5E61D08 = {isa = PBXBuildFile; fileRef = 49F51637C89080A76F65E9F7; };
+ 24C420997F20D0A7722D42F4 = {isa = PBXBuildFile; fileRef = DA8A4007E66A5DAF6714958C; };
+ 049EFBDC407E74FEFD6B5BC4 = {isa = PBXBuildFile; fileRef = 95CF46398870352FCFC6060A; };
+ 14F7090DA7E5514C84EDEAEC = {isa = PBXBuildFile; fileRef = 6897FB6E71DC9317E49C7878; };
+ 6A180703D5E1FF08436F86BD = {isa = PBXBuildFile; fileRef = F6846615852B68E9AC653C15; };
+ 778865742AAC536B855F7811 = {isa = PBXBuildFile; fileRef = 1ACBA85AD353C8C85A01F6A4; };
+ 3605BE75533AB0654207D383 = {isa = PBXBuildFile; fileRef = 78246E70C7F9C5C5FE05D6D3; };
+ 28112EC95408B63449B78115 = {isa = PBXBuildFile; fileRef = 051FF93BB3EA12E38D1FBA70; };
+ 24904A3173013B4EDA6F3C5C = {isa = PBXBuildFile; fileRef = 34210DF6FF04098CE9FDF1D7; };
+ D0BFD385DEAF6A175C6DFD65 = {isa = PBXBuildFile; fileRef = 58368BBE74C33205BA7031C6; };
+ 30A9BAE82518913F1E845471 = {isa = PBXBuildFile; fileRef = C8340D5843D5D25231C0F1C0; };
+ E5F0AAB587D9B91BD29F8FB5 = {isa = PBXBuildFile; fileRef = C6F80D596083F77D6657CFAF; };
+ 002081401EB031560B2EC23D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ 004F22C36FC01D6FDFF1DA3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0066F77648F3BDE61FA586D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 00761EB1B52F84D5D8A980F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0134541F88473B067DD0FC3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0146ADA6A37B56C2B80B664B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 023F49CCDC1E02B09597C66E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 02C1D8DDC7431B47680C884D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; };
+ 0353E7FB538930065FE42F3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LEDRow.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h"; sourceTree = "SOURCE_ROOT"; };
+ 037F0FA4D8A2AF9C315C4043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0390D1AA08150791B9C14A33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 04014274CF6B6AE9CA5C7E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; };
+ 044AE3BD6F938CFD4D9D8D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
+ 0470B740800E2B92D64815BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0486A2838E9CF6A08E2CDB4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 04C4492E9BFB187B49F04779 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 04C9F35AD0D14A85D3757A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 051FF93BB3EA12E38D1FBA70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
+ 0533F95FEC48FA0ED4AA9411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; };
+ 05506138681C0203DA643FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 0557CD748B7EF8B3565B5C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 056DBA62F34F5450839B7FC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 05FDDC9D91284C827AB9499E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 062EB42B4D0132456274B1C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ 06848FA37A00867F19726ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 0691070A0EAF64964CCCBCB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 06CAD3E58038C492162890BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
+ 06CAEFF83FB934B4F5A5C1A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; };
+ 06E163868146117AB3D4CB5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; };
+ 0715D437CBE3222794DDA264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 074F22919B41B0BA14AA4CCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
+ 0776A47DB06C6E9BCEB00E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; };
+ 07B31BAEA3EE6A3568B208E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; };
+ 07C1FAD1C77BD6A3DDA9FA4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 07E433FAF925C1A96D65CF75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0862E0316A22E94B2D6D2857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 0894BFE1740F84AA20C30B76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; };
+ 08DD52B8C183D2B128C0D179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 094C556F8D0AE8CC6CEED9FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; };
+ 098ED263E040117E51894F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
+ 098F2AE5656DAD86654071F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A230681CA56D1F24FEC0D58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
+ 0A28A390A6643E33040EDB3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A424FE157B5B3B881DBD947 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A4A8668A6C39539E9353BF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 0A526E1279C058ECEB5D72E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A98DFE44610565EF648D538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0B0E6BBD74D806034228CD61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0BA1A36CC006BB5B35A09E06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0BB27BEFDC069EDBC8A863CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; };
+ 0BE109C233090B72CC415748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
+ 0C012D29026F8ED248922AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0CBF3B6DB61DEBB13ACA5C08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; };
+ 0CD3B19FFE35170797E44D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 0CFA9E39AC23A4599C9C48CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0CFB9AD4E90B7C8A18E45EBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D01598931DB3987F905858C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D6AF3E024957A409531B0B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0D75C63F78F611EF265DDD00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 0DAA3726FC94F23E5A583A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0DC492C9812308493090CBD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 0E42B615AFEEDD7E91F69F3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0E4DBF54BA05AA884EA76D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
+ 0E90D8E7451AF40D3A29DF67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; };
+ 0F49043494C2D1C50D787795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; };
+ 0F939B5F2399CFD6C4B5225E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
+ 0F9867566F439625DCCD9E20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0FA78CA2930349913F5B6AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; };
+ 10C0A00B736989F933478B16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 10C405B7EC6821FEA0C19088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 10EF808AC938A441E7443840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
+ 111367FFC293098B75C802F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_blocks_basics.h"; path = "../../../../../modules/juce_blocks_basics/juce_blocks_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ 117B7E82A077413634C11084 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 11A08A66A2A26A8DD64BD9F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; };
+ 11AEC78B996D849B2EA9C96F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+ 11B718FAF15A06E8A910207D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 11C9AF9C14B3A2D2DF1FD3C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
+ 11EDBFE1682FB3644DC34F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 12047DF1AFFBAEEE3F13B2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 12200964DE63BC34253234BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 123264F219D032A0058B6208 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 126A72936BE02A55671DD395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1288968137D5024242866470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 12B17FE38D1A47D2558DC45D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
+ 12C5696B0718F8EADE90B68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1322CA0A8EE358C0D34334ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; };
+ 139BF383AD50AB9D6048C0FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; };
+ 13F49EB3AE13CDD2331F0D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 141B5486B9DE5E175F54300E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 142DACDBB2E8CCDBC92AFA21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1446EB4219341EA5B6B0A500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; };
+ 14D6FADA9CE0607012BE74D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
+ 15084C7DDC789B403498C10B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; };
+ 1582CA65E7C557627CAA8F5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1607EFD478CD23076A9CBE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1639FF06D27B84F3842F4562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 16CB2435896E92B50CA98632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ 17A479D1C363ADB40C23A6DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; };
+ 17A75A5B2018AF3DD4CAEAE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
+ 17D697C3655E797A51607768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; };
+ 185F6931778F33EE877A4A72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; };
+ 189A025BB6D9FC4C5A23FBCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; };
+ 18F0BE846D182CD7D58ADDFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 192285B9EE21A90ED7F8E0C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 1940D822E35A6628F81E845A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1940FFAA55755E1B278A64E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 199EC45712172D113F029BDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1A835D16C57651EB40C8A2FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; };
+ 1A8D73AA5A4FED553C046781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 1A9B604532F7CFF1D0EF3601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1ACBA85AD353C8C85A01F6A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1B33F92456804B396B860472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B44B5F73DAEC3C3DC9EA5C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B6526803945EC2E65A2003A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B7211B3FE22107FA247E052 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
+ 1B95DFF730DC4AE8531E5508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1BCEE41B6DCEE197CABD276E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; };
+ 1BF823A1A7631546DF008D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
+ 1C284B833228440ECF8C19FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; };
+ 1C51E6A15595ECE194D61C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; };
+ 1C686568FEF37CE0C5924CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 1CA65E651664075BFF4A4A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1CF242F23BD22B44D7299E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 1CF7C7004E788245BE5FFF63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
+ 1D0631AE2D6F169182E62BAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; };
+ 1D59E459EEEDB9E5D454DF5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1DB6128ED112939DF6D08C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; };
+ 1DBC75BB007FC806B0AD27C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; };
+ 1DC4186072CFD272F5AAFF2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1E29FD9905ACC5F2FB124C4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; };
+ 1EA05B488621472B657800BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1EBDE46E356A339CD181E968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F5952CBE8D55B60F4321498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 1F63961FFD269C4B17EA03F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F8E318B3077BCC2B3619EBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F90991691844766DEBB34EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F93660A522905B8BC5D5164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; };
+ 1FC96295DE9B2B7E4FC939E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; };
+ 1FFFFF4E5B8F6EE4F2654FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 200B85BD8C1DD5EB49C31EE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 203A3979A7100D4DDDB2A141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; };
+ 20787DE99B3EB58014E2F3F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 209DF0D0D3C0BC4A7516409B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; };
+ 20A823D2665060E49780AB62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; };
+ 20ACFF1C7D40C0262D9FA54E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 20B6868A9DD15D5B4D3174CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; };
+ 20BE42D96BA3A58DB9D3808F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
+ 213B4C6C828E14CDCEA7B8D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
+ 21554FA46511039569EE00D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; };
+ 218311C48E20518B540D871F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 220785A2A29AC379FDD18B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; };
+ 225CC1842905214AED59DA4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 239FA9458853235C54921F5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23BAF64A603F0EB4AFCDCD5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 241601E7909618A7E44DA973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 24277D41079C536B0C6928CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ 246FAAA823101097F5BF571F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
+ 24751CDF3F22C8552B26475A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 247D1A676F993924931F2B11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 24AB7780B4E122BE96675243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 24D67156E1F4D111F2A7B66B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2523D5C265576DB518F93569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 2534868A44A9EAA66A584C16 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+ 259C02E224011BE7AA3DA3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; };
+ 2609C83BFD2B75F9D2063825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 266692C15CCCF1337C225F33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; };
+ 270E251E092B56AE76BC03DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; };
+ 271FC8FF9535BA5B943803C4 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ 2748F246140E74AF34D2A8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 276090854E12816A7A35B3D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 277CD95799867DBC2DD130E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 277F888F37D8A11ABE37FA14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 279D761D2625F10B9527A035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; };
+ 27D256A43B9060335D1533E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; };
+ 27DA3CBF130A67C5E16A1997 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 27E7098028BE30F84E49D9B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; };
+ 27ED9C6A91E50785CFA8BA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 28092458C427E46CFC4D832D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ 2829B6FF07E693FF64CC5B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 28440D14791AF9B570AAD4BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2864478C42C226B34754D8DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 290A325171E1E397B3C4A9CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 290F124B244C09E6964234E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 295AD44153ADE7714563E352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 298C022C57704BDC157AA9C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 29BF54C26D1118B8618201CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; };
+ 29D582B81D48ACB55B82D3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; };
+ 2A0F270864162E316C58B149 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; };
+ 2A1D8A60BC973056EAC9D44B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2A6913FDD4BD2C9238310B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2A8136A983CE21073E16D40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; };
+ 2AE6B05474C7AB5179544774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; };
+ 2AEEAC331F68F485DB7571A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TouchSurface.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h"; sourceTree = "SOURCE_ROOT"; };
+ 2AF40A5BA00C43D63CB33B4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2B1A206BFB17D26E59EAFA3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2B259B9BA313A92083472063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B3C0405AE9C2BD17690CB2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B4D1C6974F5316B8547C28B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B68FB010C7AF495E226C8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; };
+ 2BD8A54D90B0672EDA9F2316 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2C3519634AA5B8F12D781F41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; };
+ 2C4E2335436A0973B4D3963B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2C55D81A3E5D41505E7689BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
+ 2C5EEC55C1DCC5A3372873C8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ 2C75054FC9998542A3DF49BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 2CD956D8AC55456D758139BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2D04DCD5191030ECAC7A7066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; };
+ 2D09DB1F0F60421C24555BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2DA8268B68970ED28D8C6063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
+ 2DDAB967201CB1E26FB2016B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E0169C5F6520FDCBF0AD415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E1B7948B783544E70AF9866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2E4AEAE2102146D7213B8B52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 2EB3D45896B162CF084B45B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 2EDD997D7FC618ED3304605E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2F04A5D3853A1314F064956C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F05FC33C11271527B090E20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; };
+ 2F07F356B586297441C03FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F4B9232765C11AF743E173F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrumPadLEDProgram.h"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F9E0C26FE9DA472D2D7C2AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 2FD22509C8339B373DC63012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 300E4F29AA370E48EC0BE8DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
+ 30A6525A80C10CAB453C8649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; };
+ 30B31EE1B29FA4116F390154 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
+ 3146322BAEB67344B4969CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; };
+ 325C094CD77DDDF596F68739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; };
+ 32CF5277357C6BF109C965E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 32D7799701743A4B29F6612F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 331AEFECC10C37E8E0735F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootRunner.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h"; sourceTree = "SOURCE_ROOT"; };
+ 331BC507B80F158CF52BD95C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3327CE380357EA5D43960E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
+ 333858A073AA2CF3EF807450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3339C81CCA49FF811D7CEB7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 333B552A05E9BF308C6ADD45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 33C57CA510B922FFF636FC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
+ 33CB13A430A6302290632827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; };
+ 33E1C399F2CA17A09EBB8D2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 34134A573DDF0D91487FFFE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 34210DF6FF04098CE9FDF1D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 344D18532509B867ECE196E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 356836FC63C553DE7E939438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 357E6A36AF5DEB7DAB77280B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; };
+ 35EB2AC6E224BFF79671F5A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3626A7F4986882E314E193DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; };
+ 36402D3C84983BDC6A6C8EA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 367091F171F8B59F6C028662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 36C27C5BFCF651643A90FD30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; };
+ 37080D42462DABCF6250ABE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; };
+ 374284FAB08CABA8749926F4 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; };
+ 3766E76069E307005AC29A3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3782D185E22EF45E19121FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 38180EF0EB0EF5A256F9284F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; };
+ 3839FAD677C474154D1EB001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3845F8554B1817B1D20ABFC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 38A27788CB801465A6398EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
+ 38BEC0B6AFAFA022B355CC1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; };
+ 39338FD8B8C695AE1A834CA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
+ 396D953F95B6F3476E790241 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
+ 39786EE015E3BF240FD18221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; };
+ 397C67B8A5BEE04B873AEE21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; };
+ 39A8BA4E50401A7D579168F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 39B6D1044605C7418ACCA419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 39B8B06446BAB8D893095B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
+ 3A2314D17819BDF12A7EA07E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; };
+ 3A26E022C114766276A15799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 3A534A7474110674C69C1FC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; };
+ 3A58806F1A210DB171E6FDD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3AADA20AD02A1052F80B2857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B3A0DE861C9D67CE502A7FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B4774F8B271C48F991A20BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B78CFAE2DBC0A8DACC832AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B87C21C53D89FE9F71AE8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3B94C5189858C02B00F9D486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlexBox.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3BBAB0E97622DB356777CC5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
+ 3BEA52C4079F6E4E014FBBD8 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ 3C53FF471FF3C7E737CA72DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
+ 3C6487063F6EE89907FC346B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3C6DEA1D9CF09ED6F08F8D97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3C71778B17054C9F858FA865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
+ 3CAD7F04BB8AC0A31D578AA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; };
+ 3D1F21B2DBFA9980BA10CC5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; };
+ 3DDA7C8BF74C996ABCB5E42E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; };
+ 3E28690EA1B84705F43E3D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3E3AD57C396C694F715232F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3E482755EDFA44494FF023D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; };
+ 3E53AAF6A7C50B871CC2B84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3EAA7B2934AA9AF16F86BA43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3F4AD344A9B3A6B75BE3FFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3F50B376A0FED903BEF9D6E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
+ 40636EB94227E67A528D519B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4069912BB1035F584A985757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; };
+ 406F6D35C92A081783503504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; };
+ 4090EEAB1ADDDE82E77B5DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 4090F84100430A95257C056C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4096D9E72DE8958D26ACBBBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
+ 415582B6861C4D9335450BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; };
+ 427DAC6EAAA22DE235AE7ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 429AA59EA439AECCC1F9ECF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
+ 437F1CE387FD226CA02A9454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 4398C562023B9F4EC288F057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 43A9DE0FFB1C5A5CA2CFF625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 43B541DE2AE988D5DF58776B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 43C6225F03FFB572BE6D67AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; };
+ 44232F9780A5411FCF2A8917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 444983159A76796F60409C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 4463E0EE235D2C829F6FDB1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 4483F159C5ACFFC36F93872F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 44D08244DA1B152854D77BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; };
+ 450C2C035F67A393EE398389 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45191F8C48FCE643824B67F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 453ACC771EC4B44D3D8461FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 454F697936B8D253DBE37652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45530FF0DF287CC439A75C68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45BC9079C10E9CE2545372E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45CBAFDFF44F281AC2F0B6BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
+ 4614B1629630EC59F40145A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatusLight.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h"; sourceTree = "SOURCE_ROOT"; };
+ 468B2C73407C4122B3EF31D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 470B0B0B081EDA873AF2B2B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 47D1A2ABF002436D022E4629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4807176892A793726C3030E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 4857997C4BBF4ABFFDAD0513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 48EA76CE620BBF4D6769E156 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; };
+ 4908B3ECE012F00C883F7B33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4911478A57ED2366B40A794A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 49658D638C9D0B372021D4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 499BE80E8E2BD8DDAB5D59AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; };
+ 49DAD9D2B69437A26DAD5748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; };
+ 49DD9B8AC108D8DA6F3C9004 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 49F51637C89080A76F65E9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; };
+ 4A2443720BAB38D3E9C139CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
+ 4A455F78617CEB1A01BA6240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; };
+ 4ABD70F1E7F6F48AF857A965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
+ 4ACE92AA3EA20E9FF19A5EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 4B1711662ECE0954B9C568EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4B3B86DC08726E193EE0B57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
+ 4B407E6A73694445CF7D5822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; };
+ 4BA32E5F03049AB701E3ECE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4BEF56AF8ECCFB74306EC4CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; };
+ 4BF9A214E3239A725C95A0CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; };
+ 4C0AFE09AF33C80188A5B9A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4C3B17A607F33B34D02CE3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
+ 4CA0A983AF6B0E150F60103B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; };
+ 4CBA1C3B21C36425EC84F564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4CEE12CB5E78F95592D44E51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4D104280B481AFB44BF5E2E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 4D4A93B14DDB028B9592C841 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
+ 4D99FF33B0B3A9DCB92F5398 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; };
+ 4D9F8630BD90770B6B0D6AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 4DCF6F0AB88DA09CE8F97DD4 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 4DD7EB80D3CB19DF56D1537A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 4DFBF53F97657E4EFDD52A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
+ 4E02E4AA74C4114212F7CFA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
+ 4E7AC87722BC21E24067C50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4EC1622A1F36D7683C929C35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
+ 4F7E64285CB12F5FBA614387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4FE119D4AAC2809C3D698315 = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = BlocksDrawing/Images.xcassets; sourceTree = "SOURCE_ROOT"; };
+ 503FF47860BD2E0B47D006CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; };
+ 504E881FDAE5D3ED5F44AD8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 519AD5862822EDEBAC0B90BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Block.cpp"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 51A72B6C930D8AF149FD2749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 522270278A659CBC622295F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 52BECDFDC5A1AB81350C3852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 531AF914074A371A2E23A32E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 536BC600CA34FB063F45C1E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 53737E956EE99C3D7259B31A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ 538CFEAD991A38E937468632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 539CD06A40CB5F62F60BEF11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 53EA0626B6F8E27469BAFF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5437AF65F42F7664B4CED35F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 544EC4BB6C544497553841F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 545B97A1511AF973F46E94B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 545E7B8B5CFDFB611D5A6B98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5478200B71A9A9A7BD4480A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 549CA3DE9B8537DB0E936173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 54FD746FB0C4F9AAE87255C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
+ 553A899730E4FED7F493AA03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; };
+ 556073348F35F6B6343EFDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5570A3AA41CD987CB8AF621F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 55AB9D614F2F56C565EC6A8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 55D6BCF1EE93E7115FD25B60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 55E100771C243BB2B46C1945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; };
+ 563EF4C72F8C339ACAD8B523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 567B029174A0A74AB7EAACB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; };
+ 56947856572E0773E89E983D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
+ 56E5943EC268C8ACB54703B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 56F7B561DABAD1E7162DABAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 56FF63000FDC0BC90E5A5A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 5715D8EB7B390BE9ED802636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 5718105921167286442E445B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
+ 574E29C4D824BEE95F94E7D6 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; };
+ 57825B50FC0B9D54AC6F5233 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
+ 57F32BA41566BECD1198F63E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 580E504DE6FCC999560F76A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 5818CD0223532F13C5422A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
+ 58235EEADEC6FAC59636CB96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; };
+ 58368BBE74C33205BA7031C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 584EDA6FA74C50574390206F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; };
+ 58535C354768ADAA4077E080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 586167D6EFD43337BEAAB7B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 58794430869AF8C92E6AED83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 593C779BB2853DA63333F24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; };
+ 597C4C555ECEA36CA936952E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; };
+ 59B47C8DF376CD937166C568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 59ED2CD34E9EE135DEF23CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; };
+ 59F0D2E146BEF01BD369BC66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 5A0915C957A69EF3DBDE24CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 5A1807F25D0037008CA04820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 5B152A04D2196E20B100C945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5B4C1750EC6135B256ABE7DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
+ 5BA4327FBE2B4992AB7D470D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
+ 5BAC2DF04466FBE5A779B774 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5BB58DB08E7DD4BA6CEC8C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 5BC7E933E7CD92D0A381B90D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; };
+ 5BF024E66E12CEFB6DC04E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5BFC1DE795FB9081364BFC41 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ 5C2EDB15A478BC999BC079FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5C4427398C7984C80C2CCB4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5C8D3EA6AD2DD7A4223CB76C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5D21C29E0BFBDBD6033ACD52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ 5D337272B18AD5BA989013E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
+ 5D3DE7592345CB26E453DD88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 5D9031A30530CE59A53E3958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
+ 5DA1AD2BAAAE47639F2CBF52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5DB18DB883B9C7D28EB5B3D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5DCEF8D12AF1DEF74E1A58F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E06F5051C1D854B2455CB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5E22100B218036559DC43F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E23D96E2EB9F88F38D93DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E69CD9BD8767CC7DEC344FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; };
+ 5EA4D7EB503ED1646A1FECA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 5EB0F9F985EEE1043B06F8D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
+ 5EB9EE254F51E02B1D49B873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; };
+ 5F87DFE6A335C9D107B47961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; };
+ 5FA586ADC9B382B988AD8AFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5FEDFC682FF65A4B073C560D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 600E8EE6FDA5AC2D4FCA236A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 601B5502C91035D62D87B506 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; };
+ 60357B0189F033F10BDACB40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 607A351282D13B9C4D931487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 60CC9ADC40B2E610426CADDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 610B1C222257F0AF100C0FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
+ 61117FCD0F1DBE0C0A0848CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 61248F75652B6DAFA4F38B3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
+ 612AFB5CDF7DBBE13AECE21B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; };
+ 612E1D2CE93492314875052C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 61393699FDDCC169D329FB77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6147413C8FDA6F56B2511937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 6149287F9C3FEF175DE93D44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 615C09366D1D8E3D4764C203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 61856C0F54319521E8F3F10C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 621FCE540F6FAB599D909498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 623A644B949C7D20EAA7244F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 624D3D50FD9D2CF430B9E21B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; };
+ 6263919A0E13A478DD9B8E4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 6268C28D72A70127114C3F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; };
+ 631723C152BEC3979C519B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; };
+ 632799D218CC8EF87A1FC4C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ 63E02DCB877D069673E52352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
+ 63E09EC8C65C77DA673583D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlocksProtocolDefinitions.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
+ 63EEFBE330EB5BC4915B3CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 63FB71B51C45DA49179DED38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ 641EFA9EEC15017AE80A1DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; };
+ 644469ECB4E590A9C15A52B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
+ 6458E206EE79D7E0784192D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; };
+ 649085EB467A026676DBB4F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
+ 6492E3152651A34E24D6B872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
+ 64F71A2D964E6A0FB566F130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 65030DB669123C73AD06BC59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; };
+ 653F95F9AB21206540FFEF8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 657A6786386C94EBFB7E3663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 65807062EC07B4BD5D370E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6583030D2AD858AC45E0E96C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; };
+ 663569EC98ED7266031231D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; };
+ 66A487257989CA14B111F1A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ 66B3431BDF25570225A5AB8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 66B742B483616B3D07D6C2A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 673E8C7D27E3CC7E4FC7C140 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; };
+ 6782E466222709D18B09D48D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 67EC8AD0CD7DAC5481B04190 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 684B8A50E02C8162EE2BA64C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 686718D917B30AF24B25AA93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 687AFE2A556575D12727AC97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Topology.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_Topology.h"; sourceTree = "SOURCE_ROOT"; };
+ 6885D505E3F0F066A6A1376B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; };
+ 688727FB029B1A70D165C0F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
+ 68934CD6CE0F82842B38E70D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 6897FB6E71DC9317E49C7878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 69413E19788FD4C8427D2047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
+ 697E431D427707F2C35E355E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 6999B5B3C67F6A85AFE73030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A06D4935ADEFEDD5AD4DEB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LEDGrid.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A60D471004BE04081759888 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6A64E63EE6FDE58B69CD1BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; };
+ 6A6C31420003DA6CA2AC0919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; };
+ 6A7F5A9D49123D2E95B49772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6AB62DA273BBDFC1135E90A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; };
+ 6B1587A046ABBCBECC7EEE89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; };
+ 6B21CA4E90B1E4E4A7C7C58D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 6B671201E1FF73FCDD6CAAEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; };
+ 6C1EE0564BB0C2F66F9C2433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6D0D508CB90E1424BF8A5212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; };
+ 6D39BB7673BAF2E3C8AAE91F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6D6D95F6276628417314D1DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 6D7601A0932A43EF421666F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6D7D30FB2145AC442C40EBA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6DB036256A12DE6707F9C9C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 6DC17D96EC4A453BA5705B5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6DCDA4F97614BC13BEA86E9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6E2A3A00C7C2EED4A2204F64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 6E73F0C077921B8A2626BDBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6ED2B47D5060F8EACFC50640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 6EEA09DB41120AB493D5FBA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F3AA44CBACA9F95B74DFC04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F7146819DE5D5286BA4651F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F7CCD75D031B8B2EC131463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ 6F9576EBF672181637694D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; };
+ 700309127A4E6C1378786002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ 703BE578C7734841E9CD5244 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; };
+ 704D70D4573DECD12CA73CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 70E4E3BFB060C386A0362EB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 711B2D0097F6D3BA4948C4BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; };
+ 711CE5F4BC5BD6E5CAF2685D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 7145E7465DF41F9D6FC45BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
+ 718C420F99242A6295DA9595 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HostPacketDecoder.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 71AD6F9EE810D5E64501A9EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 71F73E3EC2042F072661A063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 72411F578DA78B9085680E25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; };
+ 725A7C4935EEEEA754AB1434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 728BD1D3A907DEC516DFC176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 729650F24BDFFEA4A46D10E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; };
+ 7298CC9DA61DDEC96BD5EE34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; };
+ 73121BD33FD2353A25A35A94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
+ 73992D8767EDEF2D6EB6D53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 73A2D848ED2A8543B70BC377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 73D6496962BD45E5C330E28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
+ 73E90793E3614C263A6C004E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
+ 740927D7BB5A3E806C2B02E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; };
+ 744A990B9EE159A4F317B630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
+ 745138CAA42C288D5138026F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
+ 74544E312D428A452B979DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 74B07A28EB23CC43D62DC171 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 74C4B79ACFD452EE22F2B2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
+ 74E0C059A3F04E23BC7D6CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 7518FF0D86762A4002CB3BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 7536C2D11B41187764CB4EB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 75379B0DDC5FA7ACA7EF1E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 75ACA1805C5BBEBBB33D37A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 75B91A274177138164C8E8FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
+ 75BBB2617BAF223C144AD83F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; };
+ 7672A8DF6CD0B91294F34B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7685A5D611C93CF56AB57982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; };
+ 76B2B7A289FE75D96E2BAD6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 76B90630B964BB29F039EE98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 76D0BF8B5577AF7CF4080556 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
+ 7784DD20B44E78AE08F056BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 7801374F867F19B791714ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
+ 7815F96579EF3984A823D01A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
+ 78246E70C7F9C5C5FE05D6D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ 782DE6A268A9B772E556FE51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 786CCAFDAF17DA58ACE82151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ 78C50D94075B56512516F0C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; };
+ 78D1F8BCE2BDAE743985C02E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; };
+ 79DF44305EB8AD0AB9AA644F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; };
+ 7A1632B101AEB65D2938D05E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
+ 7A1CBB013812C5077EF88455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; };
+ 7A1DC58C900038C5536ECB26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A425A86C84D843976582BAF = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BlocksDrawing.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 7A45E1898C4D332A35D9D4A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A97911264D36FD7DB986799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 7AA7EF5457F7351F93632B42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; };
+ 7AB7D128053D5162018C1306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ 7AD76C1D103EB21BED1F37B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7B16B12DDD0890AD7E7650B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B2051E3A09B3AD07C0779A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7B3545E46376622310EB59B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B362CD435FF7C5FEC8946F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B53E332EE979100E6BF52A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B5BDF0835BFBC98BE1AF40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7BA8C2A9B4FC3423E14BAA1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; };
+ 7C3B053CAFA9B60C2753760B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7C4E346CB297C8402E8B9EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; };
+ 7CAEED526FD3AFEA13661339 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; };
+ 7CD19CD071905D0D5AE9DAA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ 7CDD61D86C377AED49D7C36B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; };
+ 7CE7C89FFEA750504196EE52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 7DB9A958D609645E015285BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
+ 7DF934500DF6CAB57C080788 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 7E7377E9D88AF945C81B1508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7E94ACC1938D2378F8D2A72D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7F1C7B3E3DE4FC281F9900C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; };
+ 80127DADFFB0364380063858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlockModels.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h"; sourceTree = "SOURCE_ROOT"; };
+ 80DCA56117702F7F20E01546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; };
+ 812545D343F30186508BFFCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8219D04401B4E7A3132836E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 82455A57CDA42849C17908BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; };
+ 83532D5F5DDC2434D116D2D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 836AC4D87F03678F04FABB2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 83711972C02675D110592D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 83B5050525D84F2137620F85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
+ 84088AC5990FDBA99C10AEB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; };
+ 8428E9E864E1F19E0EAFD021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8450F40BFBC3B18B98F502C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; };
+ 8543CA9CEB24331404318202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 860B2CB374BD49B9CDBC86F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8625E2827442BA5B44B13073 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
+ 86468BEAA12010DDA016CC10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 86495A92C2E2F86CDE545090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 86966F3165471A68C3980A99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ 86F179E6CEA5A7C8AB72F7EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 8737BFF74A76A096E301AEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 880D898BB1B7F8F39E263670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; };
+ 8832DEAD11A1BDE92F88E96A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8849A3B9AB85002210BAA4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ 886FA35D63BFC08BD7D73835 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
+ 88D3EFCA13604867A1F470CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 88F5C798F640B57B88D360C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_blocks_basics.cpp"; path = "../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 88FBCEC7ABDCCA13CCB051A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 890805204E0C9E6BD0539FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 89742E482CC7CB5B5EF30C62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; };
+ 8A892B3DD7007C51B0C33BF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 8A95F4C0FE8A8B4BD6C3367C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 8ABCCE49B1351D78276E0240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B13D7687A250F53A0657836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B6110EB4D07A18685A846C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B6CB21BA069BE0A9DB997C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B9F98C916563DA675817DB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
+ 8BC9B58760E42691BBF12A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; };
+ 8BD2E34FBF2D665B3EF5B469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8BE1CC0E799319B70AB961BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8C0026D65608D62E221DBC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
+ 8C39F2FC681488A978C02F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8C64DB8B08929B71E71FE00B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8CA9A46A8EEB6EAFF14F01CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Block.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_Block.h"; sourceTree = "SOURCE_ROOT"; };
+ 8DA7C37254BBEA4385A7272C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8DD871588D5CA5B49031268F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 8E09F168C2F3D7F02A560B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; };
+ 8EBA149C544E2531D23342B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 8F288B420371B401EC1F6ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 8FD738198716A7A7EF9F6BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; };
+ 903B180F576936C1C0778FA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 906D9CB145D3B8719E3365D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 90A11F403330C55809F0693A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; };
+ 90F86126F8DDDF7F0B018E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; };
+ 91282DB87C122E33BE6EA725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9179873697C95D0EC0726805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; };
+ 918DF23CD3CA21B3389461F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; };
+ 919C856B02EAB19A18BB3DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 91F579A8D11716F70BBA9E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; };
+ 925CEACF0A1957FAC23FBF29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9264EEC6E37C9794BCF6FECA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; };
+ 92D9732668F8306983A2C8AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9342911CEAFB09DDF359AEB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; };
+ 934AE9A59C6374B938BE3E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; };
+ 945C3EC8D157047CDBB40D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; };
+ 958BCC24A1E4AB1BAEACF4EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 95971D0F582F6929C281163E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; };
+ 95CF46398870352FCFC6060A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
+ 95D25749D94F08E12069A7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 960575CE2C582502E072E8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 963DEAA7F26F49267926BF3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 964801C74A24D3908CF515C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 96A2953B2FA5493A7DE10DF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 96A6E353538E094A04B39037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; };
+ 96C12E88FC9FA008BEDD2B33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuleBasedTopologySource.cpp"; path = "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 96CD68D66422237A8B854E2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 96EC2B19F751907CB45B01BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
+ 972E1506B4B1E6671E3886B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 9783CB2BAA068EB04B2DE913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
+ 9793AB1BCA6FC17E9AB9E2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; };
+ 97B7579F4F3C4CEA23457E9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 97C0AA5352C7C3C7F4A5789D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 986010E9A082A0DF23C16F2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9882D3310A95980C9D5DDD23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; };
+ 98871DB50478294FB98B1250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 98B11261E0FC7EE6D99E7DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
+ 98E2AD4DF8685112F956B0CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9960BC593F02AC48F6A08361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
+ 99CEF028EC17F57AC2E1A9AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; };
+ 9A0F119D9863AE9F5C0A4251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 9ADBEEDEFC166D8D54552C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; };
+ 9AE0690540C8330E95C5378A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 9AE5A43B10E756BA25BAF5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9B0E2E458B1A3A4B032B2B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9B27CF1ED3952EFBFA499E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9B6B508CEEB3F5EC8F7CA865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9B9CD377B20CE92F487443F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 9BFD087AC2047471E1A72573 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
+ 9C3421F6E24D5B91A0CC7D3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9C8498C25697BD9D5A3F6D3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9D20518D03EC11768E1792BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D205E4994ABB6EEDC413B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
+ 9D3604486A3820957442DAC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9D49849845FD1998D6B914AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D7214C957FDDA6BD8392496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; };
+ 9DD0823ED8C33D9A7CA14BAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; };
+ 9DD7345FAE01C04CCDEBA6ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 9DF33E67E71F1CF73BA35B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9E0FC42C47F16D5C57B2E264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9E4BEA0EFDB80D8CA2DD0CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; };
+ 9F85F3E67F54AF4C454660A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 9F8AA48F8045ACA58C8A4F6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9F8EB8E2528BA45535A77C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; };
+ 9FD554B2DB9F180890BD96E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ A036582CCB2DE4B4A8128349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ A0892128AA6C1E5A76986975 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A096FF1C87782BDAEF467316 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Protocol Format.txt"; path = "../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt"; sourceTree = "SOURCE_ROOT"; };
+ A0CB6935196AC5238C8F269C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A0FBE04131F0B428E5382BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ A106D601CEAE46F8612DE89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
+ A11023CB00AE121E7551575E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ A15293F413E554734AF3A401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; };
+ A19D218B170382FEF05E2705 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; };
+ A1C56EE3F45839F0BD3D0EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ A2D1D8C580DFDB5C8E011C80 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+ A2E54CC2C9122D6EAC457A7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
+ A30E3FCC559193AE6F7F1F78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; };
+ A3191FE1009A7FEF6BA3D845 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A38D7A623B8E8ADA0B271A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; };
+ A3BF0F7F436BFD8E77FB20D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
+ A4702F8FBEA4EEC93C642201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ A47D11008150FAF0F5E1BDA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ A4A6D8EFEA6E78DA9B2513AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A4B7673DC138F9C0E9BD0766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A55155A4B2E8B21C942087AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A557DCC45C8C6EB171447483 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
+ A56ED345A6C89B13D2D0AC89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ A5AB415F38801E8B9E42BC18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A5D61A4D8387CE0D63C2EA9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A5FDD01BAD9616628F32C831 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ A6846271DA4C65E13671FDFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A6D97766BECDD4C23BE1B953 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; };
+ A74640D9C2E16C5C87E2E623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; };
+ A78B312A1934BBE26732F230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; };
+ A7F4E51343ED786701A85266 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A949ECFB4D16AACF21B81087 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
+ A995433F093578C88957DE29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HostPacketBuilder.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ A9FDFB5F161125277F1AB460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; };
+ AA0A2049DDF0116D0C91F3A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AA47AA2AF084DD722F045EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
+ AA7CD33408E87BF62FD6196F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexBox.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h"; sourceTree = "SOURCE_ROOT"; };
+ AA90A7B401F1D9F00793F82E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; };
+ AAECFC780C79188EAB8E191A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB15F30C4F3A5709ADA3C5B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB21709C107E99105A6FB362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ AB80352DA944BD5DA249706F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
+ AB989510F98B9761E74742D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AC5639600E1A1B0179AD1E92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; };
+ AC62274498F9BDA29F8E8F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
+ AC97D162AA13FBF82C986A15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ACD13A8C04CEC6BD1ACF93EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AD8F4F2CA47F83B1A807F2E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; };
+ ADB9047E9B3711E62B59B135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; };
+ ADC573E1DE05C8BF45BA5B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; };
+ ADCEAAA615BA2F1E2DA5A552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ADD5B3970974BE782183D773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ ADD7CCBC25DF55BA9E3F37FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; };
+ ADDB77CC79C1F4BFCD8EA214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TouchList.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h"; sourceTree = "SOURCE_ROOT"; };
+ AE1E51D46D5E4831C05F3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AE30CCDA7823BCD359DF6BC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AE8A2F2B590228AA79922EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ AEB4B2FABF1201F9F7B7E047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AF267F3F6B8A83A09D06ED62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; };
+ AF374439C21B2E140A216EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; };
+ B00597263D3795CD71B882B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B01CDF8E11068A6CC13DE786 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ B025DD0A3F91CFD919E11B07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B09A2E2F16477C99EA897073 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; };
+ B1613A82275D9F1E92EDFAC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B1BC8916C2175FCC490D6C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B1C0B81D1BD4D3231134325F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B1DBB67D021C6766CBBE18D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
+ B2219699BDACA12A3379C88C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; };
+ B22866EBFB0C99DE4D42CE0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B242FAC40794E6AA4764100C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; };
+ B264338B2CB821C82D66E580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ B270479985DD8DDA845A54B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; };
+ B2D67E046E2D97AD7F5ABFB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B319C152B230E760D9A72B7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
+ B31E1DE4DBC63408972C8FD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ B38B035A94F8C68FC4213C4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B398D8AEB8B5E0EFF2B4B3FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ B3B971DDAFD16CB2BCA72550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B3BC943D19B19B766F15E473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
+ B3F7540EBF2CB729A670533D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
+ B446D55BAF06032F986AF19C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B4540086B453F0270F5C7110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; };
+ B457A534EA87F2839E1B3FCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ B4A76CB44C7B15E9E6B58980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B4B4DC2B15A8661F0AFEF3E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ B516C7504041F3EE923DDD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; };
+ B522A301353479C5903C2BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; };
+ B53F0009D4FB58F0AC18538C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B5D27AA95B2A067854F67E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BitmapLEDProgram.cpp"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B60CFF7FCC83192561D27CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; };
+ B6B1184B6619487E8B2AE5C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; };
+ B7BA6785B1CEB985232FEF7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
+ B7E8E5CA1ADCAEE8B0B2AE66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ B81A3688EF80E88F9A69CB5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; };
+ B85D5F20DD455F0A09E51890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; };
+ B89E123B84D78A063F86C450 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
+ BA1D0F30B2E5F0F96F4185DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BA3924B82348A40C2FEBFFAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; };
+ BA486909AAA0C990DAE290EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
+ BA4B70F733EAD229E55E0E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuleBasedTopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ BAF0BD1C8BB7C746AAC1D571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BB09C4787A9C5C0AE51C2BD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; };
+ BB2CD5BCE2AEF09C4C823288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
+ BB638189F556D13F0AB77A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
+ BBAB8667033A9E3B295E3211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BBC54027807B8B7B1ACD6000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; };
+ BBF8BBCA90A1B0A4EB6BBBE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
+ BC1AB5217569FF1D6768A3CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BCD71D1B2DEEA1348DCCE537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BD4BD40C6DC55C2F6376E395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; };
+ BD64382F5648F98E5DFB2A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; };
+ BDBD094B7DA913DEDA5D7688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; };
+ BDCD1040A270CAF356A41207 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; };
+ BDF255F033104DE89BBF5753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; };
+ BE4CB834C716473B6B313399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ BE78B2465604039AB4A65752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
+ BE9BAFCCA84A57BCC7757A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
+ BEB30294F6BD8139B70ACA29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
+ BEC2A21C4407F4C73D150093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ BEF26E4CAFF6B05A4704CCB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BF6E03438E370EEFE3BF3D90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BF89725F8EF9FD3F106EF1BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; };
+ BF9F956D877D02F012B010DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; };
+ BFAE76FECFA66C9288BF0538 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; };
+ BFEAE2AA0BF50E036F322649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; };
+ BFEE1CED7A30F4831ECF5640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C043633F2730276BB74DDF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; };
+ C0F6921835D97E2F4D2DB770 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
+ C102AEFE9D479EF1E0C7E711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; };
+ C1128422B16AF4F5D607A27E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
+ C1136BF7764D76BCC07C1786 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ C124E30C7AD0CB0D8F8A92BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C1366849A4AFA9E7B0059002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; };
+ C149A7858B0F10BA32397325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ C14CD4C38D9E545A25173002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
+ C1C083B21DC5F0D62E39804F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; };
+ C1DA9A178649303EA64D9CDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; };
+ C1F06DF70CE1D7CAA0F843EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C21E0DFFD3DE02019FC31C88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C22B01AD2000713B7888F4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C26F3A2EE38B50F90AB4625F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; };
+ C270E46D4AA6167816A24E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C282CB01D300C1E7E27868BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ C289CBA2B8F95F33925A5AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; };
+ C294028BADB2FCB4DFA91F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C2A466EB36712942B38373CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; };
+ C33281228651767DDAA05EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C354BB508CAA843514B0DC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C378F00E8279BEB7A09F2A72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C392ABC2B2ADD1DE523ABE3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; };
+ C3933419918B6A2495795FA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C3D0F7D1F0571E02349725F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C3E8BCE32CB8C9972EEB5706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C40EABB3E75B9AD8FCAB53AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; };
+ C42E1A852A4060C39A22C1BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ C4976B0216C3F8E8A56F712C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
+ C5104A09F22FB66E2AC19B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; };
+ C5350D02D320948DED393876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C5777CD565420A7EB18DD101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
+ C57C03814BDC21126887EA4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C5857532F6E1AE39D90B7917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C6096109CD738B1A58DA3EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C60DA546A123E4426401EEAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; };
+ C64BEB2595FF7B1997AC0915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ C654FC89A62EB1AD67A81BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
+ C69EF03A5A778E53285D19E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C6AC4E412268374ECDE2C99E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ C6E40123A8CC368E7B87C8D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
+ C6F80D596083F77D6657CFAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ C7432E6D6DC03F9DCAD71B62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C7450EA94B66FBE26DD4425C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
+ C759B8DF15E2D97796C44195 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ C7B16C910228ED1FAC8453A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; };
+ C80EFFF599AEAB505C66280D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; };
+ C820D0678311506A298CFE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ C8340D5843D5D25231C0F1C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
+ C896ADB53ABA8E7601D1A370 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
+ C8CE04B8F4CCFEB1D6231EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
+ C8D06833FC91008893DA677E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ C93671CB00DE385BBD8E6618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; };
+ C9521769FA6C438BD18033B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; };
+ C9C7AB9D948E33B00A7EAAA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CA306C285A8508A076AEC761 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; };
+ CA36573F2BB8AE07EEF00E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; };
+ CA3EF1BD5EABE1BD96F43665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
+ CA7F202DB69BC1EC2BC4DD13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CAB0FFD4ACE46B5BB6559F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CAC17359BB40A2600B570176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ CAED4415E9FA4A520C781C91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
+ CB5D7AB96931DD45ABE6D2FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; };
+ CC141B102407EB5556A247F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; };
+ CC1774E1F34D88E2F4CE51F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ CC272EEB471D5EA69C641557 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
+ CC49BFDF0CBBF67ED6045497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; };
+ CCBC090AD7596A080FC7A6CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CCBF278ABD9588C5E6338B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; };
+ CCC470BC52BE24359C9B42AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ CCEA91668214454D3D0F13B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
+ CDAB4B0A9B5B3011F19322A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
+ CDE0660E5F99503610EAA638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootCompiler.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h"; sourceTree = "SOURCE_ROOT"; };
+ CEA4E46726A20B523DC9BCC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
+ CF66C32B9525ACB1889A39E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CF792DD18C25B9EE9757BD61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; };
+ CFA1FBA0FEC0A35E7F6124DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFD4B5AC0AB05BE52362CFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFF2489C2AEB28C3A650B7D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFFA9AE468F79CE1FA0F55B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; };
+ D00256D3C9092D8BE7847E03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
+ D0205E19CC873D8B25BE90BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D0396D5B22E7B4E9C9C500C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D07EEECF4FCC445C2438499D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
+ D09804119A3920F5EE1684C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D0C7B799E38035948C4BE8C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D132800CF893861A1F8C3FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; };
+ D261A0C3567A65D89C588F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
+ D26AB514846D276E9C51FCBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D298D08FA02F684700A19679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ D298FD4455CBACF2527B4505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PhysicalTopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ D2AA8ACBE7710F017D18DF47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ D2E3DCE1B8C06CB72C0E7E1E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ D3A89432A5F60B4D49E6D108 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D40C1EC3546E2816415DF6E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D43C2B7847E15A523A416D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D44B50CE1B7346171B34DB94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D47D205D6F961B6EBC4D54DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D4BFD81E44C76AD3D342F720 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
+ D555883E46392E7615FF364B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D5616DB6D85E2197BF1E9CCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; };
+ D56BD4164BA909ABBB1857A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; };
+ D570A976A21A1659C7780CAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; };
+ D57104B8381FE2B99CDC33A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
+ D57DA2264293864CF1B8406C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D589551CB03EF87450FBBE2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
+ D591CCFE264DB281CEE303A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BitmapLEDProgram.h"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ D5C11D31E672EE9D429E4F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
+ D5C69BC1C552C6E0CD18C7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; };
+ D5D735F8D529C6A5BFC647F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
+ D5F0412FDECBA8A8780CC5FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D609AAFD609E9980F07C042C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
+ D61BBAED71EAA177A28395D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ D69D1212C5157C2BE27910CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D6F89D54CA1A79972E08BADC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D731608ADAF378A4059E1D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
+ D7DCCE5D9835450DDA2E29E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
+ D821537DAB00A6DCF62878A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
+ D89C2F630DFB81B6B2AD1C1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
+ D8BF2EA2311BC20E72F780A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D8F5B60BE5D0577991914A97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D904278081426062CEA4F499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; };
+ D92208AFBEE850525AE7351F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; };
+ D9770C541A17B3531C7332A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
+ D9CF06E1D818462B23A2985D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
+ D9E41616376AD24F34EB84B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DA36F181CAE8082DDDED6C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DA53B98D8C420283A2AB6214 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DA8A4007E66A5DAF6714958C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ DA96E7939F94646A306F2CA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DAFEEA3C749829580D40F99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; };
+ DB2D6628B85027F8AB8BED39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ DB316449643AAC516003AE16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; };
+ DBC3697C47DEEC4E4DAEBFF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
+ DBC93310B4C31F4F591D5552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; };
+ DBE3E85682E80FAA051D6514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DBF3D142BA9A164FB8881C1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; };
+ DC18C91A5FBE1FB377120DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ DC2781F336F044A8731338C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DC5249A582DDDB8CE4D4613A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; };
+ DC948A7B539C9F91096F0D1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DD2A9FD91FDD559EA8CBD65E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; };
+ DD3866A8E0E87FED180DA468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ DD38982F889B495C7BB6D1E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; };
+ DD51BDB967795F88A9BA0F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DDBE3FCE257DCA2725A50F6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; };
+ DDD4F13758E6FDA532A03F05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; };
+ DDDC3967C8D0DD1F07F4F2BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DDF9E58DE5C251C1E7D039CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; };
+ DE6B8ADF052D45BACFF2C641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DF2F608DC15355B00A3BA719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrumPadLEDProgram.cpp"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DF64E9F78EBF3B58607D5865 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DF7E0DE4FE09D4EDF5155754 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; };
+ E012323C1204D53AFDC987D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E05078B9CED5C15A479F71B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; };
+ E0C969049C24A8E43F0486DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E1139AB7DDF9577A4980F362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E14D4575A6CDFC70041FE56A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E1999A43823A763801FB5FA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E1DC127CD1917EDC47AFB39D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
+ E2890F4804E553849187D4AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E2C528BD8EB2A5050E6769AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E31BD7852B2573FF90513217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; };
+ E328A1505415823BCC99CB47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ E3404F1292D9CC1AACC2B822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ E3B5F5DF2A0E372AE356B6CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E3C076697100860027D438CA = {isa = PBXFileReference; lastKnownFileType = text.txt; name = README.txt; path = "../../../../../modules/juce_blocks_basics/README.txt"; sourceTree = "SOURCE_ROOT"; };
+ E3D1CA4CE4EF0702039367EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
+ E3F9E4319F72D8F0196BB395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ E401077524D3DD89DB7CD8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
+ E415B8B616CFA41B4083AA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
+ E4173FC148926780FD1FBB38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ E427494183B988C7A7BD1017 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ E480BC3D7B48F0C74F298C3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; };
+ E4CBBF362EA9FEA76D089795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E536E1E838D941CF1DFF60F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; };
+ E5858F0CD2D3EE349B30CA5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ E5AD2180C57F5EBB1A39F66F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexItem.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h"; sourceTree = "SOURCE_ROOT"; };
+ E650055955C59718FA306757 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E66238B027B9175B79BFE0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
+ E677E7CBC0109236A71D0E76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
+ E6BA2821140CD68469CD8BB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ControlButton.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h"; sourceTree = "SOURCE_ROOT"; };
+ E6C6F3A38D8979DFD60EEF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
+ E6CF77D082C93F8B2D3CAF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E6EC16C0592B91025CC07278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
+ E731A28F9A361B554E8926EE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
+ E7A9C044D65548A7EF9B2408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; };
+ E80DC5E1829B4F57F52EF78D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E8436FD10AED36594510428E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E84DE13A5B4E3CDD6E4E8F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E872F82A42DCC945FB958F16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
+ E875B4CCAA5CA0FACA1C61A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ E87B80F116A6E06039AF6157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BitPackingUtilities.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h"; sourceTree = "SOURCE_ROOT"; };
+ E8A78E0DE10104E0C8152971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E90133E32AE7DA442643EA4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E96DBCF5B4D866A3A1AD89EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E979A50752EE4A8644D8A6C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; };
+ E98E28DDD9FD8ACA2B4DD12B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; };
+ E9E68A3AC31C5D2178BDE8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; };
+ EA8334D3FD2C2BAE1C87A38E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EA87BD84F0A54889DCA2C9B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EA8AA050C16F1217F3438AF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EB064E6E42732DD8623092DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ EBED707414352EB0E0A5D5F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EBF04AA55AD5EAB164D8A8BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ EC1A921FCF02AF23FAECA63B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
+ EC66AD10984C221B97C10667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ECB2EC0CF7DD9626979F4E99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; };
+ ECD62CD88DCBB8DC105ECA90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
+ EE0BE235603DED2039A8A376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; };
+ EE52B7BBD6EEAC47129DA7FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
+ EEECE62F6037C2321B2ACF08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ EF3CADBD60BAEA2B521E0D19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EF4700A5245FE5647708FC59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EF68E830A48DA0C561928454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EF7A763B6ECD5D6D5C352EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ EF9BD384E8E8BFB77E7F0575 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
+ EFD399B3BCDF81ADCFC5D7E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F072240BF81349DCC5A9B9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; };
+ F0FC842DADA7C5B6E493B189 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
+ F0FD67695F37DE1B68129B53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F16303609B5C9ECD7394E4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F17400700CFFDE93F875A0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ F1ECA550F1B8B16C8C8C35B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ F20A54705DDD536DA6C03BA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
+ F20FF0FD69B0994C963541ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootRemoteHeap.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h"; sourceTree = "SOURCE_ROOT"; };
+ F280712C33408DF47B6A301A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F31FBA293A67196F502E6BC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; };
+ F374AAD8894D6D40B4C38E8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; };
+ F378FC2132C2580E4C4E6992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
+ F3A4FF5FDA257CAD38849C35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F3A66E239C90932DE7F6DD40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F4335B83494891C421FA04E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F4470F1C34F0F6A324987570 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; };
+ F46055F9E7B61F6AE9547B05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PhysicalTopologySource.cpp"; path = "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F4A1AD93DE353D13201AB12C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
+ F5088482469904F72E1C5E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; };
+ F6294F7B89B33EB81BF8218B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
+ F6846615852B68E9AC653C15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_blocks_basics.cpp"; path = "../../JuceLibraryCode/juce_blocks_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F6989E8E541E0091DD3117AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
+ F6C2E437248C7285C57D8A86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
+ F71B8097C1E62565B628AC60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F7475ABCEDAEDAF46BB75C54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; };
+ F781B7A10E43CFBC73865282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ F84479395CA00824345C715C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ F875253F49AF427B48942303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; };
+ F8D2FFD56EDB135E44918781 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F9165F30946DC46BCAE86E7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
+ F9192631BB2F48E64EFD2FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
+ F91C18845B000BFD9394DB88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F994478EC1241EE08FB8D207 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ F9D1D7808EB6923DF8954E20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ FA1E892179949EA7374BC35C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FA40DB2441500AF4B0ECA71B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FA537C8B56BCCF97545A916F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
+ FA734613A284C21C1CAE8A93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FAD7FB53E0C69BF3CBDA507A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ FAE35C089A5CE8275D9A348E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; };
+ FB171AC63682377ADBD4DFAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
+ FB565EABA6355CFB94D9E2D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
+ FB678E72A050B9C8405A49D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ FC2AC5AB9DA0202896FFC1A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; };
+ FC849CBFC2B5E9D584151565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
+ FCC8E19B4E8537120C6F3B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FCDDBDCB9EE9E056A6551005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
+ FCE2AB34D1C54832F4AC47C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ FCE4EC729B0D9F1E38B94F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ FD346DC35FA3268FF7304168 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
+ FD796A075B8DA4EAB5C3D4B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; };
+ FDB06E14CF1FCB034663395B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; };
+ FDCB3E4E7614A659785FE0CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FDD9E523BA9313C8F0234145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ FE967F394CAA522759ABA2AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
+ FEA03311B1C8F40C86887D26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FEB48C07204CFD8949E8B669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FECDEC0CF69A38A446783AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; };
+ FF459A86F895958A65E5CA34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FF5A926355A65BE4932368F6 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "LittleFoot Language README.txt"; path = "../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt"; sourceTree = "SOURCE_ROOT"; };
+ FF624BF63C3BBD494478D2A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FFA048FF349F1B798B6471FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
+ AA00B6CDF58EE5901BBEF67C = {isa = PBXGroup; children = (
+ 3A534A7474110674C69C1FC9,
+ 38BEC0B6AFAFA022B355CC1B,
+ 49F51637C89080A76F65E9F7, ); name = Source; sourceTree = "<group>"; };
+ 9886851267A0D1BF2E10BA86 = {isa = PBXGroup; children = (
+ AA00B6CDF58EE5901BBEF67C, ); name = BlocksDrawing; sourceTree = "<group>"; };
+ AAC7F9963EB07D6B45D56BC2 = {isa = PBXGroup; children = (
+ 0DAA3726FC94F23E5A583A67,
+ 6147413C8FDA6F56B2511937,
+ 61856C0F54319521E8F3F10C,
+ BB09C4787A9C5C0AE51C2BD8,
+ C820D0678311506A298CFE8A,
+ D09804119A3920F5EE1684C6,
+ 9882D3310A95980C9D5DDD23, ); name = buffers; sourceTree = "<group>"; };
+ 7BE97121AABF0D2DC7D90986 = {isa = PBXGroup; children = (
+ B1C0B81D1BD4D3231134325F,
+ C282CB01D300C1E7E27868BE,
+ 7C4E346CB297C8402E8B9EF9,
+ 5B152A04D2196E20B100C945,
+ C9521769FA6C438BD18033B4,
+ 3E28690EA1B84705F43E3D50,
+ 563EF4C72F8C339ACAD8B523,
+ 6A60D471004BE04081759888,
+ 1B44B5F73DAEC3C3DC9EA5C7,
+ 63EEFBE330EB5BC4915B3CB7,
+ 48EA76CE620BBF4D6769E156, ); name = effects; sourceTree = "<group>"; };
+ 218394DAC5401A2952F77CBE = {isa = PBXGroup; children = (
+ 0A424FE157B5B3B881DBD947,
+ 86966F3165471A68C3980A99,
+ 586167D6EFD43337BEAAB7B3,
+ C60DA546A123E4426401EEAD,
+ CFA1FBA0FEC0A35E7F6124DF,
+ 4B3B86DC08726E193EE0B57F,
+ D9E41616376AD24F34EB84B4,
+ C26F3A2EE38B50F90AB4625F,
+ 83711972C02675D110592D8F,
+ 4E02E4AA74C4114212F7CFA8,
+ CFD4B5AC0AB05BE52362CFDC,
+ 044AE3BD6F938CFD4D9D8D6F, ); name = midi; sourceTree = "<group>"; };
+ 8E9BA09AC9CC48B00298F01E = {isa = PBXGroup; children = (
+ C33281228651767DDAA05EAF,
+ DC5249A582DDDB8CE4D4613A,
+ 59B47C8DF376CD937166C568,
+ 7CAEED526FD3AFEA13661339,
+ 65807062EC07B4BD5D370E59,
+ 5E22100B218036559DC43F44,
+ CA7F202DB69BC1EC2BC4DD13,
+ FAE35C089A5CE8275D9A348E,
+ 67EC8AD0CD7DAC5481B04190,
+ 1B33F92456804B396B860472,
+ 0A98DFE44610565EF648D538,
+ 8B9F98C916563DA675817DB7,
+ D8F5B60BE5D0577991914A97,
+ 711CE5F4BC5BD6E5CAF2685D,
+ C9C7AB9D948E33B00A7EAAA0,
+ FE967F394CAA522759ABA2AB,
+ 9C3421F6E24D5B91A0CC7D3D,
+ 934AE9A59C6374B938BE3E59, ); name = mpe; sourceTree = "<group>"; };
+ 9468085AB99CBA3D40E407D5 = {isa = PBXGroup; children = (
+ 7CE7C89FFEA750504196EE52,
+ 0A28A390A6643E33040EDB3C,
+ 9FD554B2DB9F180890BD96E7,
+ A4A6D8EFEA6E78DA9B2513AD,
+ FCE4EC729B0D9F1E38B94F3A,
+ 2BD8A54D90B0672EDA9F2316,
+ 972E1506B4B1E6671E3886B0,
+ 61117FCD0F1DBE0C0A0848CD,
+ 6B21CA4E90B1E4E4A7C7C58D,
+ 06848FA37A00867F19726ED2,
+ 35EB2AC6E224BFF79671F5A5,
+ 05506138681C0203DA643FD3,
+ A6846271DA4C65E13671FDFF,
+ B31E1DE4DBC63408972C8FD8,
+ 5FA586ADC9B382B988AD8AFF,
+ 8B13D7687A250F53A0657836, ); name = sources; sourceTree = "<group>"; };
+ B3EF7A6165A3CD04D12D7DD9 = {isa = PBXGroup; children = (
+ 3B87C21C53D89FE9F71AE8C9,
+ 8625E2827442BA5B44B13073, ); name = synthesisers; sourceTree = "<group>"; };
+ 665E1B7D0F3287E61328962A = {isa = PBXGroup; children = (
+ AAC7F9963EB07D6B45D56BC2,
+ 7BE97121AABF0D2DC7D90986,
+ 218394DAC5401A2952F77CBE,
+ 8E9BA09AC9CC48B00298F01E,
+ 9468085AB99CBA3D40E407D5,
+ B3EF7A6165A3CD04D12D7DD9,
+ 2A1D8A60BC973056EAC9D44B,
+ E3404F1292D9CC1AACC2B822,
+ 6782E466222709D18B09D48D,
+ E3404F1292D9CC1AACC2B822, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
+ 69A431AD07DE3F0AE05D053A = {isa = PBXGroup; children = (
+ FEA03311B1C8F40C86887D26,
+ F378FC2132C2580E4C4E6992,
+ 331BC507B80F158CF52BD95C,
+ 1DBC75BB007FC806B0AD27C3,
+ 66B3431BDF25570225A5AB8C,
+ B09A2E2F16477C99EA897073,
+ 0D01598931DB3987F905858C, ); name = "audio_io"; sourceTree = "<group>"; };
+ 3AD9B06998E2D1EB74E33A06 = {isa = PBXGroup; children = (
+ 17D697C3655E797A51607768,
+ EA87BD84F0A54889DCA2C9B3,
+ 06CAEFF83FB934B4F5A5C1A9,
+ E8A78E0DE10104E0C8152971,
+ 499BE80E8E2BD8DDAB5D59AD, ); name = "midi_io"; sourceTree = "<group>"; };
+ D19C419B81A4024618400C5B = {isa = PBXGroup; children = (
+ 33E1C399F2CA17A09EBB8D2B,
+ FF459A86F895958A65E5CA34,
+ EF3CADBD60BAEA2B521E0D19,
+ 333858A073AA2CF3EF807450,
+ 2EDD997D7FC618ED3304605E,
+ BAF0BD1C8BB7C746AAC1D571,
+ E1139AB7DDF9577A4980F362,
+ E2C528BD8EB2A5050E6769AB,
+ 277F888F37D8A11ABE37FA14,
+ 3DDA7C8BF74C996ABCB5E42E,
+ F280712C33408DF47B6A301A,
+ EBED707414352EB0E0A5D5F9,
+ BCD71D1B2DEEA1348DCCE537,
+ 58794430869AF8C92E6AED83, ); name = native; sourceTree = "<group>"; };
+ 55E571DE47F70E240BB41021 = {isa = PBXGroup; children = (
+ 544EC4BB6C544497553841F6,
+ 45CBAFDFF44F281AC2F0B6BB,
+ 427DAC6EAAA22DE235AE7ABE,
+ B3BC943D19B19B766F15E473, ); name = sources; sourceTree = "<group>"; };
+ 9AC105FA2D78A2FF360E72CF = {isa = PBXGroup; children = (
+ 69A431AD07DE3F0AE05D053A,
+ 3AD9B06998E2D1EB74E33A06,
+ D19C419B81A4024618400C5B,
+ 55E571DE47F70E240BB41021,
+ FA734613A284C21C1CAE8A93,
+ 567B029174A0A74AB7EAACB5,
+ 688727FB029B1A70D165C0F5,
+ 567B029174A0A74AB7EAACB5, ); name = "juce_audio_devices"; sourceTree = "<group>"; };
+ C6B10F437B0CF8B8C49EAEC8 = {isa = PBXGroup; children = (
+ 729650F24BDFFEA4A46D10E0,
+ 74C4B79ACFD452EE22F2B2C3,
+ 4DFBF53F97657E4EFDD52A67,
+ A74640D9C2E16C5C87E2E623,
+ 220785A2A29AC379FDD18B23,
+ 49DAD9D2B69437A26DAD5748,
+ 644469ECB4E590A9C15A52B8,
+ BDF255F033104DE89BBF5753,
+ 98B11261E0FC7EE6D99E7DF3,
+ 28092458C427E46CFC4D832D,
+ 27D256A43B9060335D1533E2,
+ AA47AA2AF084DD722F045EDC,
+ 786CCAFDAF17DA58ACE82151,
+ 470B0B0B081EDA873AF2B2B3,
+ A106D601CEAE46F8612DE89B,
+ 429AA59EA439AECCC1F9ECF8, ); name = private; sourceTree = "<group>"; };
+ 545E0A861E308C8AD8C41640 = {isa = PBXGroup; children = (
+ B4540086B453F0270F5C7110,
+ 2F9E0C26FE9DA472D2D7C2AF,
+ 88D3EFCA13604867A1F470CA, ); name = protected; sourceTree = "<group>"; };
+ D88AA386DECE3861744D3CEB = {isa = PBXGroup; children = (
+ C6B10F437B0CF8B8C49EAEC8,
+ 545E0A861E308C8AD8C41640, ); name = include; sourceTree = "<group>"; };
+ 5463C0B47AA6C0E082F60D8B = {isa = PBXGroup; children = (
+ D88AA386DECE3861744D3CEB,
+ 9179873697C95D0EC0726805,
+ 17A479D1C363ADB40C23A6DE,
+ 7F1C7B3E3DE4FC281F9900C5,
+ AA90A7B401F1D9F00793F82E,
+ BDBD094B7DA913DEDA5D7688,
+ E05078B9CED5C15A479F71B0,
+ 4096D9E72DE8958D26ACBBBD,
+ 7A1632B101AEB65D2938D05E,
+ 96CD68D66422237A8B854E2D,
+ A6D97766BECDD4C23BE1B953,
+ 7801374F867F19B791714ABE,
+ F7475ABCEDAEDAF46BB75C54,
+ 2F05FC33C11271527B090E20,
+ 1322CA0A8EE358C0D34334ED,
+ 367091F171F8B59F6C028662, ); name = libFLAC; sourceTree = "<group>"; };
+ BB99CD8BD46B037D95403D3E = {isa = PBXGroup; children = (
+ 5463C0B47AA6C0E082F60D8B,
+ 597C4C555ECEA36CA936952E,
+ BD4BD40C6DC55C2F6376E395,
+ E401077524D3DD89DB7CD8EB,
+ F4470F1C34F0F6A324987570,
+ 1D0631AE2D6F169182E62BAB,
+ FECDEC0CF69A38A446783AA1,
+ C392ABC2B2ADD1DE523ABE3D,
+ 3BEA52C4079F6E4E014FBBD8,
+ 4B407E6A73694445CF7D5822,
+ C6AC4E412268374ECDE2C99E,
+ 3D1F21B2DBFA9980BA10CC5E,
+ 6999B5B3C67F6A85AFE73030,
+ E328A1505415823BCC99CB47,
+ FB171AC63682377ADBD4DFAE, ); name = flac; sourceTree = "<group>"; };
+ C129703C53AF9E19866C4CE1 = {isa = PBXGroup; children = (
+ A3BF0F7F436BFD8E77FB20D9,
+ 0FA78CA2930349913F5B6AF0, ); name = coupled; sourceTree = "<group>"; };
+ B22358316E0E80296EF731A1 = {isa = PBXGroup; children = (
+ C1C083B21DC5F0D62E39804F, ); name = floor; sourceTree = "<group>"; };
+ C03054CA23C615251CB2212A = {isa = PBXGroup; children = (
+ 21554FA46511039569EE00D8, ); name = uncoupled; sourceTree = "<group>"; };
+ 53EB066D33AD2111D9EF79C2 = {isa = PBXGroup; children = (
+ C129703C53AF9E19866C4CE1,
+ B22358316E0E80296EF731A1,
+ C03054CA23C615251CB2212A, ); name = books; sourceTree = "<group>"; };
+ E85AD370C5335EFC0E57DA3D = {isa = PBXGroup; children = (
+ CAED4415E9FA4A520C781C91,
+ AC62274498F9BDA29F8E8F9D,
+ 5E69CD9BD8767CC7DEC344FB,
+ 740927D7BB5A3E806C2B02E3,
+ 13F49EB3AE13CDD2331F0D8A,
+ 5A0915C957A69EF3DBDE24CB,
+ B270479985DD8DDA845A54B8,
+ 728BD1D3A907DEC516DFC176,
+ ADD7CCBC25DF55BA9E3F37FE,
+ FDD9E523BA9313C8F0234145,
+ 20787DE99B3EB58014E2F3F4,
+ DBC93310B4C31F4F591D5552,
+ C8CE04B8F4CCFEB1D6231EDC,
+ E98E28DDD9FD8ACA2B4DD12B,
+ E6EC16C0592B91025CC07278,
+ 64F71A2D964E6A0FB566F130,
+ D5C69BC1C552C6E0CD18C7AD,
+ C42E1A852A4060C39A22C1BF,
+ 5B4C1750EC6135B256ABE7DD, ); name = modes; sourceTree = "<group>"; };
+ D9462E5FB4B84E7E187FFAFF = {isa = PBXGroup; children = (
+ 53EB066D33AD2111D9EF79C2,
+ E85AD370C5335EFC0E57DA3D,
+ 73121BD33FD2353A25A35A94,
+ BA3924B82348A40C2FEBFFAD,
+ 918DF23CD3CA21B3389461F1,
+ E66238B027B9175B79BFE0E0,
+ 83B5050525D84F2137620F85,
+ 17A75A5B2018AF3DD4CAEAE7,
+ 673E8C7D27E3CC7E4FC7C140,
+ 9783CB2BAA068EB04B2DE913,
+ E31BD7852B2573FF90513217,
+ 5DCEF8D12AF1DEF74E1A58F7,
+ E536E1E838D941CF1DFF60F6,
+ BBC54027807B8B7B1ACD6000,
+ 72411F578DA78B9085680E25,
+ 4069912BB1035F584A985757,
+ 203A3979A7100D4DDDB2A141,
+ 91F579A8D11716F70BBA9E1E,
+ 36C27C5BFCF651643A90FD30,
+ 9DD0823ED8C33D9A7CA14BAE,
+ E4173FC148926780FD1FBB38,
+ DBF3D142BA9A164FB8881C1C,
+ 4BEF56AF8ECCFB74306EC4CB,
+ 5BA4327FBE2B4992AB7D470D,
+ 0F49043494C2D1C50D787795,
+ 1C284B833228440ECF8C19FC,
+ 04014274CF6B6AE9CA5C7E59,
+ 95971D0F582F6929C281163E,
+ D904278081426062CEA4F499,
+ 3CAD7F04BB8AC0A31D578AA7,
+ A38D7A623B8E8ADA0B271A17,
+ 9D7214C957FDDA6BD8392496,
+ C7B16C910228ED1FAC8453A8,
+ 7DB9A958D609645E015285BD,
+ B1DBB67D021C6766CBBE18D4,
+ D5616DB6D85E2197BF1E9CCD,
+ 641EFA9EEC15017AE80A1DA5,
+ 4CA0A983AF6B0E150F60103B,
+ 75BBB2617BAF223C144AD83F,
+ 89742E482CC7CB5B5EF30C62,
+ AF267F3F6B8A83A09D06ED62,
+ 357E6A36AF5DEB7DAB77280B,
+ 06CAD3E58038C492162890BF, ); name = lib; sourceTree = "<group>"; };
+ 6756DA467D4D855C9F811404 = {isa = PBXGroup; children = (
+ D9462E5FB4B84E7E187FFAFF, ); name = "libvorbis-1.3.2"; sourceTree = "<group>"; };
+ 0D2209BD6DF15659EB6E5D9C = {isa = PBXGroup; children = (
+ 6756DA467D4D855C9F811404,
+ 11C9AF9C14B3A2D2DF1FD3C4,
+ 20B6868A9DD15D5B4D3174CE,
+ CA3EF1BD5EABE1BD96F43665,
+ 9D205E4994ABB6EEDC413B19,
+ 271FC8FF9535BA5B943803C4,
+ 2E0169C5F6520FDCBF0AD415,
+ 266692C15CCCF1337C225F33,
+ 30B31EE1B29FA4116F390154,
+ 20A823D2665060E49780AB62, ); name = oggvorbis; sourceTree = "<group>"; };
+ 05BDC932DF223A513C3BBEFD = {isa = PBXGroup; children = (
+ BB99CD8BD46B037D95403D3E,
+ 0D2209BD6DF15659EB6E5D9C,
+ 241601E7909618A7E44DA973,
+ A11023CB00AE121E7551575E,
+ D57DA2264293864CF1B8406C,
+ 0862E0316A22E94B2D6D2857,
+ E1999A43823A763801FB5FA8,
+ 4483F159C5ACFFC36F93872F,
+ 0390D1AA08150791B9C14A33,
+ 298C022C57704BDC157AA9C8,
+ DDDC3967C8D0DD1F07F4F2BA,
+ 5BB58DB08E7DD4BA6CEC8C29,
+ 7E94ACC1938D2378F8D2A72D,
+ BE4CB834C716473B6B313399,
+ 1F63961FFD269C4B17EA03F4,
+ 58535C354768ADAA4077E080,
+ 32CF5277357C6BF109C965E3,
+ F9D1D7808EB6923DF8954E20,
+ 4C0AFE09AF33C80188A5B9A8,
+ 7A97911264D36FD7DB986799, ); name = codecs; sourceTree = "<group>"; };
+ E08E84D83084ACF42BE72C32 = {isa = PBXGroup; children = (
+ DC948A7B539C9F91096F0D1B,
+ C64BEB2595FF7B1997AC0915,
+ D3A89432A5F60B4D49E6D108,
+ 5437AF65F42F7664B4CED35F,
+ ACD13A8C04CEC6BD1ACF93EC,
+ 4D104280B481AFB44BF5E2E5,
+ 0B0E6BBD74D806034228CD61,
+ DBC3697C47DEEC4E4DAEBFF0,
+ 4911478A57ED2366B40A794A,
+ 5BC7E933E7CD92D0A381B90D,
+ E3B5F5DF2A0E372AE356B6CA,
+ 7DF934500DF6CAB57C080788,
+ FA1E892179949EA7374BC35C,
+ DC18C91A5FBE1FB377120DA6,
+ 8F288B420371B401EC1F6ED5, ); name = format; sourceTree = "<group>"; };
+ 0C8031BD3BB69E73BE4AB954 = {isa = PBXGroup; children = (
+ AB989510F98B9761E74742D2,
+ 7685A5D611C93CF56AB57982, ); name = sampler; sourceTree = "<group>"; };
+ 3A7E92469DD583BC27D6A0C3 = {isa = PBXGroup; children = (
+ 05BDC932DF223A513C3BBEFD,
+ E08E84D83084ACF42BE72C32,
+ 0C8031BD3BB69E73BE4AB954,
+ A4B7673DC138F9C0E9BD0766,
+ 7A1CBB013812C5077EF88455,
+ 5C8D3EA6AD2DD7A4223CB76C,
+ 7A1CBB013812C5077EF88455, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
+ E7EAF8D1A991C98EA8528707 = {isa = PBXGroup; children = (
+ 519AD5862822EDEBAC0B90BC,
+ 8CA9A46A8EEB6EAFF14F01CF,
+ E6BA2821140CD68469CD8BB0,
+ 6A06D4935ADEFEDD5AD4DEB7,
+ 0353E7FB538930065FE42F3D,
+ 4614B1629630EC59F40145A9,
+ ADDB77CC79C1F4BFCD8EA214,
+ 2AEEAC331F68F485DB7571A0, ); name = blocks; sourceTree = "<group>"; };
+ AA7632D3962ADC005999F52C = {isa = PBXGroup; children = (
+ CDE0660E5F99503610EAA638,
+ F20FF0FD69B0994C963541ED,
+ 331AEFECC10C37E8E0735F15,
+ FF5A926355A65BE4932368F6, ); name = littlefoot; sourceTree = "<group>"; };
+ B7A9C1F5D3346E585128C849 = {isa = PBXGroup; children = (
+ E87B80F116A6E06039AF6157,
+ 80127DADFFB0364380063858,
+ 63E09EC8C65C77DA673583D8,
+ A995433F093578C88957DE29,
+ 718C420F99242A6295DA9595,
+ A096FF1C87782BDAEF467316, ); name = protocol; sourceTree = "<group>"; };
+ CB4086B4854F88013B43CE41 = {isa = PBXGroup; children = (
+ F46055F9E7B61F6AE9547B05,
+ D298FD4455CBACF2527B4505,
+ 96C12E88FC9FA008BEDD2B33,
+ BA4B70F733EAD229E55E0E59,
+ 687AFE2A556575D12727AC97,
+ 16CB2435896E92B50CA98632, ); name = topology; sourceTree = "<group>"; };
+ E548F4B94A1174FA31E734D8 = {isa = PBXGroup; children = (
+ B5D27AA95B2A067854F67E5A,
+ D591CCFE264DB281CEE303A4,
+ DF2F608DC15355B00A3BA719,
+ 2F4B9232765C11AF743E173F, ); name = visualisers; sourceTree = "<group>"; };
+ 6703540BB2129E337C6A36A2 = {isa = PBXGroup; children = (
+ E7EAF8D1A991C98EA8528707,
+ AA7632D3962ADC005999F52C,
+ B7A9C1F5D3346E585128C849,
+ CB4086B4854F88013B43CE41,
+ E548F4B94A1174FA31E734D8,
+ 88F5C798F640B57B88D360C8,
+ 111367FFC293098B75C802F1,
+ E3C076697100860027D438CA,
+ 111367FFC293098B75C802F1, ); name = "juce_blocks_basics"; sourceTree = "<group>"; };
+ 20CDBE2700DDEC3C372E90FA = {isa = PBXGroup; children = (
+ BBAB8667033A9E3B295E3211,
+ A78B312A1934BBE26732F230,
+ 0BB27BEFDC069EDBC8A863CD,
+ CFFA9AE468F79CE1FA0F55B9,
+ B2D67E046E2D97AD7F5ABFB6,
+ 55E100771C243BB2B46C1945,
+ 4D99FF33B0B3A9DCB92F5398,
+ D9CF06E1D818462B23A2985D,
+ AE8A2F2B590228AA79922EFC,
+ 30A6525A80C10CAB453C8649,
+ 0715D437CBE3222794DDA264,
+ 4090EEAB1ADDDE82E77B5DA3,
+ AB21709C107E99105A6FB362,
+ 2AF40A5BA00C43D63CB33B4B,
+ C043633F2730276BB74DDF8E,
+ 96A2953B2FA5493A7DE10DF8,
+ 33C57CA510B922FFF636FC12,
+ 653F95F9AB21206540FFEF8D,
+ EC1A921FCF02AF23FAECA63B,
+ D555883E46392E7615FF364B,
+ 9342911CEAFB09DDF359AEB1, ); name = containers; sourceTree = "<group>"; };
+ FACE74BDA02956499A0AB15D = {isa = PBXGroup; children = (
+ DD51BDB967795F88A9BA0F97,
+ B264338B2CB821C82D66E580,
+ DBE3E85682E80FAA051D6514,
+ 2AE6B05474C7AB5179544774,
+ 1DC4186072CFD272F5AAFF2A,
+ 9D49849845FD1998D6B914AE,
+ 4CBA1C3B21C36425EC84F564,
+ 1CF242F23BD22B44D7299E16,
+ EF4700A5245FE5647708FC59,
+ 20ACFF1C7D40C0262D9FA54E,
+ 40636EB94227E67A528D519B,
+ BE78B2465604039AB4A65752,
+ BE9BAFCCA84A57BCC7757A63,
+ E80DC5E1829B4F57F52EF78D,
+ 697E431D427707F2C35E355E,
+ 5C4427398C7984C80C2CCB4F,
+ 7B362CD435FF7C5FEC8946F1, ); name = files; sourceTree = "<group>"; };
+ F1AAA78F97127D4FC606588C = {isa = PBXGroup; children = (
+ B1BC8916C2175FCC490D6C2F,
+ 6268C28D72A70127114C3F07,
+ B1613A82275D9F1E92EDFAC3,
+ 3BBAB0E97622DB356777CC5E, ); name = javascript; sourceTree = "<group>"; };
+ B1637271FF2957F8B6ABD4EE = {isa = PBXGroup; children = (
+ CFF2489C2AEB28C3A650B7D0,
+ 1FC96295DE9B2B7E4FC939E6,
+ 1A9B604532F7CFF1D0EF3601,
+ 0A230681CA56D1F24FEC0D58, ); name = logging; sourceTree = "<group>"; };
+ 4C16A3E9CC187C3427141BC1 = {isa = PBXGroup; children = (
+ 4E7AC87722BC21E24067C50A,
+ 06E163868146117AB3D4CB5A,
+ 903B180F576936C1C0778FA1,
+ D07EEECF4FCC445C2438499D,
+ 8A892B3DD7007C51B0C33BF5,
+ BFAE76FECFA66C9288BF0538,
+ 24751CDF3F22C8552B26475A,
+ E1DC127CD1917EDC47AFB39D,
+ 9ADBEEDEFC166D8D54552C17,
+ A15293F413E554734AF3A401, ); name = maths; sourceTree = "<group>"; };
+ EEDA2476F0EFFF4EF6EE0DEC = {isa = PBXGroup; children = (
+ 96EC2B19F751907CB45B01BF,
+ 6885D505E3F0F066A6A1376B,
+ 3F50B376A0FED903BEF9D6E3,
+ A4702F8FBEA4EEC93C642201,
+ E875B4CCAA5CA0FACA1C61A8,
+ 1CF7C7004E788245BE5FFF63,
+ 964801C74A24D3908CF515C8,
+ 5D21C29E0BFBDBD6033ACD52,
+ 8A95F4C0FE8A8B4BD6C3367C,
+ 29BF54C26D1118B8618201CC,
+ 4D9F8630BD90770B6B0D6AF4,
+ 612E1D2CE93492314875052C,
+ 0F939B5F2399CFD6C4B5225E,
+ 6492E3152651A34E24D6B872, ); name = memory; sourceTree = "<group>"; };
+ DEBB0416E0B84DE4DF17DDB6 = {isa = PBXGroup; children = (
+ E2890F4804E553849187D4AE,
+ 2A8136A983CE21073E16D40A,
+ 73A2D848ED2A8543B70BC377,
+ 649085EB467A026676DBB4F2,
+ 684B8A50E02C8162EE2BA64C,
+ FA537C8B56BCCF97545A916F,
+ 1DB6128ED112939DF6D08C3F, ); name = misc; sourceTree = "<group>"; };
+ 1AAAFDC1513C44B0B42EF2F6 = {isa = PBXGroup; children = (
+ 1F8E318B3077BCC2B3619EBC,
+ 960575CE2C582502E072E8C9,
+ 12C5696B0718F8EADE90B68B,
+ E650055955C59718FA306757,
+ 0CFA9E39AC23A4599C9C48CB,
+ AA0A2049DDF0116D0C91F3A9,
+ 539CD06A40CB5F62F60BEF11,
+ 6D0D508CB90E1424BF8A5212,
+ C3D0F7D1F0571E02349725F9,
+ CCBC090AD7596A080FC7A6CE,
+ FF624BF63C3BBD494478D2A7,
+ F16303609B5C9ECD7394E4FA,
+ A0892128AA6C1E5A76986975,
+ F3A66E239C90932DE7F6DD40,
+ 4A2443720BAB38D3E9C139CC,
+ D5D735F8D529C6A5BFC647F5,
+ E7A9C044D65548A7EF9B2408,
+ 5718105921167286442E445B,
+ 8DD871588D5CA5B49031268F,
+ 5C2EDB15A478BC999BC079FE,
+ 68934CD6CE0F82842B38E70D,
+ EF68E830A48DA0C561928454,
+ B319C152B230E760D9A72B7B,
+ 90F86126F8DDDF7F0B018E4D,
+ 919C856B02EAB19A18BB3DB0,
+ 98871DB50478294FB98B1250,
+ D40C1EC3546E2816415DF6E6,
+ 545E7B8B5CFDFB611D5A6B98,
+ 12200964DE63BC34253234BF, ); name = native; sourceTree = "<group>"; };
+ DD3B8F9AF20B21D076A70631 = {isa = PBXGroup; children = (
+ 6F7146819DE5D5286BA4651F,
+ 8E09F168C2F3D7F02A560B5D,
+ 290F124B244C09E6964234E0,
+ 1E29FD9905ACC5F2FB124C4B,
+ EA8334D3FD2C2BAE1C87A38E,
+ A19D218B170382FEF05E2705,
+ 7AD76C1D103EB21BED1F37B5,
+ DD2A9FD91FDD559EA8CBD65E,
+ DA96E7939F94646A306F2CA5,
+ 3146322BAEB67344B4969CE5, ); name = network; sourceTree = "<group>"; };
+ 389E649B225AF3FB56651E27 = {isa = PBXGroup; children = (
+ 71AD6F9EE810D5E64501A9EE,
+ EF7A763B6ECD5D6D5C352EEE,
+ 3A58806F1A210DB171E6FDD9,
+ 117B7E82A077413634C11084,
+ 74E0C059A3F04E23BC7D6CFA,
+ 9E0FC42C47F16D5C57B2E264,
+ 5A1807F25D0037008CA04820,
+ C124E30C7AD0CB0D8F8A92BF,
+ 1C686568FEF37CE0C5924CCA,
+ 5BF024E66E12CEFB6DC04E91,
+ 2523D5C265576DB518F93569,
+ 925CEACF0A1957FAC23FBF29,
+ 200B85BD8C1DD5EB49C31EE4,
+ 74544E312D428A452B979DFD,
+ 8219D04401B4E7A3132836E5, ); name = streams; sourceTree = "<group>"; };
+ 3DDFD39183AAE19F3C9856F7 = {isa = PBXGroup; children = (
+ 79DF44305EB8AD0AB9AA644F,
+ EE52B7BBD6EEAC47129DA7FA,
+ 4A455F78617CEB1A01BA6240,
+ 4CEE12CB5E78F95592D44E51,
+ DDF9E58DE5C251C1E7D039CB,
+ 8450F40BFBC3B18B98F502C7, ); name = system; sourceTree = "<group>"; };
+ 726F4A59B5108047E5E49887 = {isa = PBXGroup; children = (
+ 7536C2D11B41187764CB4EB2,
+ C102AEFE9D479EF1E0C7E711,
+ B4A76CB44C7B15E9E6B58980,
+ 0A4A8668A6C39539E9353BF7,
+ FCDDBDCB9EE9E056A6551005,
+ F9192631BB2F48E64EFD2FD2,
+ 39338FD8B8C695AE1A834CA8,
+ 76D0BF8B5577AF7CF4080556,
+ FEB48C07204CFD8949E8B669,
+ 0533F95FEC48FA0ED4AA9411,
+ 812545D343F30186508BFFCB,
+ B522A301353479C5903C2BBD,
+ 0E90D8E7451AF40D3A29DF67,
+ E14D4575A6CDFC70041FE56A,
+ 20BE42D96BA3A58DB9D3808F,
+ 70E4E3BFB060C386A0362EB7,
+ 504E881FDAE5D3ED5F44AD8B,
+ 450C2C035F67A393EE398389,
+ D5C11D31E672EE9D429E4F68,
+ A3191FE1009A7FEF6BA3D845,
+ 3A2314D17819BDF12A7EA07E,
+ D132800CF893861A1F8C3FDE,
+ 95D25749D94F08E12069A7ED,
+ BD64382F5648F98E5DFB2A11, ); name = text; sourceTree = "<group>"; };
+ FF622A51A4BB87CA5F585978 = {isa = PBXGroup; children = (
+ D69D1212C5157C2BE27910CA,
+ FC849CBFC2B5E9D584151565,
+ 8C0026D65608D62E221DBC12,
+ 0CBF3B6DB61DEBB13ACA5C08,
+ 49658D638C9D0B372021D4C6,
+ B398D8AEB8B5E0EFF2B4B3FF,
+ 7784DD20B44E78AE08F056BB,
+ BF9F956D877D02F012B010DC,
+ D0396D5B22E7B4E9C9C500C8,
+ C0F6921835D97E2F4D2DB770,
+ 2864478C42C226B34754D8DF,
+ 9D20518D03EC11768E1792BF,
+ F6294F7B89B33EB81BF8218B,
+ 5715D8EB7B390BE9ED802636,
+ 4F7E64285CB12F5FBA614387,
+ 7815F96579EF3984A823D01A,
+ 725A7C4935EEEEA754AB1434,
+ C21E0DFFD3DE02019FC31C88,
+ 601B5502C91035D62D87B506,
+ D43C2B7847E15A523A416D87,
+ 5D9031A30530CE59A53E3958,
+ 632799D218CC8EF87A1FC4C8, ); name = threads; sourceTree = "<group>"; };
+ 6680962DD4CF7F536FB4F3F8 = {isa = PBXGroup; children = (
+ EA8AA050C16F1217F3438AF1,
+ CC141B102407EB5556A247F9,
+ 1B95DFF730DC4AE8531E5508,
+ 2C3519634AA5B8F12D781F41,
+ 8543CA9CEB24331404318202,
+ 584EDA6FA74C50574390206F, ); name = time; sourceTree = "<group>"; };
+ 203C9945F1484C20A5C48E7A = {isa = PBXGroup; children = (
+ 10C405B7EC6821FEA0C19088,
+ 663569EC98ED7266031231D2, ); name = "unit_tests"; sourceTree = "<group>"; };
+ 1188D6D3E28C8751A8E8EE27 = {isa = PBXGroup; children = (
+ 126A72936BE02A55671DD395,
+ 6DB036256A12DE6707F9C9C9,
+ AE1E51D46D5E4831C05F3DFB,
+ 9264EEC6E37C9794BCF6FECA, ); name = xml; sourceTree = "<group>"; };
+ F8496A4F7C62D3ED32020EE2 = {isa = PBXGroup; children = (
+ 5D337272B18AD5BA989013E2,
+ DAFEEA3C749829580D40F99D,
+ 6AB62DA273BBDFC1135E90A8,
+ 279D761D2625F10B9527A035,
+ FDB06E14CF1FCB034663395B,
+ 1446EB4219341EA5B6B0A500,
+ 73E90793E3614C263A6C004E,
+ 43C6225F03FFB572BE6D67AB,
+ 3B3A0DE861C9D67CE502A7FD,
+ 3B4774F8B271C48F991A20BD,
+ 610B1C222257F0AF100C0FD6,
+ 2B4D1C6974F5316B8547C28B,
+ 61248F75652B6DAFA4F38B3C,
+ AF374439C21B2E140A216EEA,
+ 593C779BB2853DA63333F24D,
+ 3327CE380357EA5D43960E81,
+ 2A0F270864162E316C58B149,
+ 209DF0D0D3C0BC4A7516409B,
+ 6583030D2AD858AC45E0E96C,
+ CDAB4B0A9B5B3011F19322A8,
+ 4DD7EB80D3CB19DF56D1537A,
+ 2DDAB967201CB1E26FB2016B, ); name = zlib; sourceTree = "<group>"; };
+ 1E64E192FD50F5079A5034B8 = {isa = PBXGroup; children = (
+ F8496A4F7C62D3ED32020EE2,
+ EC66AD10984C221B97C10667,
+ B01CDF8E11068A6CC13DE786,
+ 2E1B7948B783544E70AF9866,
+ DB2D6628B85027F8AB8BED39,
+ 9B6B508CEEB3F5EC8F7CA865,
+ E415B8B616CFA41B4083AA2D, ); name = zip; sourceTree = "<group>"; };
+ 502E1E6A813AB55B9E50E94B = {isa = PBXGroup; children = (
+ 20CDBE2700DDEC3C372E90FA,
+ FACE74BDA02956499A0AB15D,
+ F1AAA78F97127D4FC606588C,
+ B1637271FF2957F8B6ABD4EE,
+ 4C16A3E9CC187C3427141BC1,
+ EEDA2476F0EFFF4EF6EE0DEC,
+ DEBB0416E0B84DE4DF17DDB6,
+ 1AAAFDC1513C44B0B42EF2F6,
+ DD3B8F9AF20B21D076A70631,
+ 389E649B225AF3FB56651E27,
+ 3DDFD39183AAE19F3C9856F7,
+ 726F4A59B5108047E5E49887,
+ FF622A51A4BB87CA5F585978,
+ 6680962DD4CF7F536FB4F3F8,
+ 203C9945F1484C20A5C48E7A,
+ 1188D6D3E28C8751A8E8EE27,
+ 1E64E192FD50F5079A5034B8,
+ E4CBBF362EA9FEA76D089795,
+ CEA4E46726A20B523DC9BCC8,
+ 700309127A4E6C1378786002,
+ CEA4E46726A20B523DC9BCC8, ); name = "juce_core"; sourceTree = "<group>"; };
+ CA37D53277019254910AAA19 = {isa = PBXGroup; children = (
+ B446D55BAF06032F986AF19C,
+ B60CFF7FCC83192561D27CB7,
+ 71F73E3EC2042F072661A063,
+ D261A0C3567A65D89C588F83, ); name = "app_properties"; sourceTree = "<group>"; };
+ 2CF04018FFB348C94A91B6F4 = {isa = PBXGroup; children = (
+ D821537DAB00A6DCF62878A1,
+ 6A7F5A9D49123D2E95B49772,
+ 76B90630B964BB29F039EE98, ); name = undomanager; sourceTree = "<group>"; };
+ BC5DEA8B4BBD5820FE973F39 = {isa = PBXGroup; children = (
+ C5857532F6E1AE39D90B7917,
+ 225CC1842905214AED59DA4F,
+ 11EDBFE1682FB3644DC34F20,
+ 1BF823A1A7631546DF008D6A,
+ 4908B3ECE012F00C883F7B33,
+ 0E4DBF54BA05AA884EA76D6F,
+ 0691070A0EAF64964CCCBCB9,
+ 1F5952CBE8D55B60F4321498, ); name = values; sourceTree = "<group>"; };
+ C26A50FC2442172A34F9428E = {isa = PBXGroup; children = (
+ CA37D53277019254910AAA19,
+ 2CF04018FFB348C94A91B6F4,
+ BC5DEA8B4BBD5820FE973F39,
+ 52BECDFDC5A1AB81350C3852,
+ 9960BC593F02AC48F6A08361,
+ 199EC45712172D113F029BDE,
+ 9960BC593F02AC48F6A08361, ); name = "juce_data_structures"; sourceTree = "<group>"; };
+ C325558A75CD1CAFAEA5C706 = {isa = PBXGroup; children = (
+ 74B07A28EB23CC43D62DC171,
+ 73D6496962BD45E5C330E28D,
+ BB638189F556D13F0AB77A18,
+ 7672A8DF6CD0B91294F34B8E,
+ 0CFB9AD4E90B7C8A18E45EBA,
+ 61393699FDDCC169D329FB77,
+ AB80352DA944BD5DA249706F,
+ 3B78CFAE2DBC0A8DACC832AA, ); name = broadcasters; sourceTree = "<group>"; };
+ 085EB0AAAE50A9AE5D451495 = {isa = PBXGroup; children = (
+ 43A9DE0FFB1C5A5CA2CFF625,
+ 246FAAA823101097F5BF571F,
+ FDCB3E4E7614A659785FE0CD,
+ FB565EABA6355CFB94D9E2D6,
+ 18F0BE846D182CD7D58ADDFD,
+ 96A6E353538E094A04B39037, ); name = interprocess; sourceTree = "<group>"; };
+ FD204DBBD4EE9224CCE9F4A5 = {isa = PBXGroup; children = (
+ 836AC4D87F03678F04FABB2A,
+ 59F0D2E146BEF01BD369BC66,
+ 5F87DFE6A335C9D107B47961,
+ DA53B98D8C420283A2AB6214,
+ 2B3C0405AE9C2BD17690CB2C,
+ C6E40123A8CC368E7B87C8D1,
+ CF792DD18C25B9EE9757BD61,
+ BFEE1CED7A30F4831ECF5640,
+ BDCD1040A270CAF356A41207,
+ 5DA1AD2BAAAE47639F2CBF52,
+ 0557CD748B7EF8B3565B5C53,
+ D298D08FA02F684700A19679,
+ 1C51E6A15595ECE194D61C45, ); name = messages; sourceTree = "<group>"; };
+ 225321410D3AF00E955F6C26 = {isa = PBXGroup; children = (
+ DA36F181CAE8082DDDED6C64,
+ 7AB7D128053D5162018C1306,
+ 9F8AA48F8045ACA58C8A4F6F,
+ 062EB42B4D0132456274B1C0,
+ A30E3FCC559193AE6F7F1F78,
+ 437F1CE387FD226CA02A9454,
+ BEC2A21C4407F4C73D150093,
+ 07E433FAF925C1A96D65CF75, ); name = native; sourceTree = "<group>"; };
+ 3EAFEBB90C290C9C055C1A6C = {isa = PBXGroup; children = (
+ E6CF77D082C93F8B2D3CAF9B,
+ 24277D41079C536B0C6928CC,
+ 6DCDA4F97614BC13BEA86E9A,
+ C93671CB00DE385BBD8E6618, ); name = timers; sourceTree = "<group>"; };
+ 640D80D58491993647C1B663 = {isa = PBXGroup; children = (
+ C325558A75CD1CAFAEA5C706,
+ 085EB0AAAE50A9AE5D451495,
+ FD204DBBD4EE9224CCE9F4A5,
+ 225321410D3AF00E955F6C26,
+ 3EAFEBB90C290C9C055C1A6C,
+ 83532D5F5DDC2434D116D2D8,
+ 0BE109C233090B72CC415748,
+ BA486909AAA0C990DAE290EC,
+ 0BE109C233090B72CC415748, ); name = "juce_events"; sourceTree = "<group>"; };
+ 52C34A13D6D60F01D45AE196 = {isa = PBXGroup; children = (
+ 1D59E459EEEDB9E5D454DF5C,
+ 9E4BEA0EFDB80D8CA2DD0CC0,
+ 2CD956D8AC55456D758139BA,
+ 1A835D16C57651EB40C8A2FF,
+ BEF26E4CAFF6B05A4704CCB2,
+ 139BF383AD50AB9D6048C0FA,
+ 906D9CB145D3B8719E3365D0,
+ 0776A47DB06C6E9BCEB00E9F,
+ 82455A57CDA42849C17908BB, ); name = colour; sourceTree = "<group>"; };
+ B96E3F335222D5FF6A3E9E7A = {isa = PBXGroup; children = (
+ 04C9F35AD0D14A85D3757A2E,
+ 88FBCEC7ABDCCA13CCB051A7,
+ 76B2B7A289FE75D96E2BAD6F,
+ 00761EB1B52F84D5D8A980F0,
+ 002081401EB031560B2EC23D,
+ 98E2AD4DF8685112F956B0CC,
+ 7CD19CD071905D0D5AE9DAA1, ); name = contexts; sourceTree = "<group>"; };
+ 70E1FDD3EB1C24EFE5815792 = {isa = PBXGroup; children = (
+ F3A4FF5FDA257CAD38849C35,
+ B6B1184B6619487E8B2AE5C1,
+ 454F697936B8D253DBE37652,
+ D89C2F630DFB81B6B2AD1C1A,
+ C149A7858B0F10BA32397325, ); name = effects; sourceTree = "<group>"; };
+ 3F010FD693D122322C97B3D6 = {isa = PBXGroup; children = (
+ 92D9732668F8306983A2C8AC,
+ 0894BFE1740F84AA20C30B76,
+ 0C012D29026F8ED248922AB9,
+ 2F04A5D3853A1314F064956C,
+ 32D7799701743A4B29F6612F,
+ CCBF278ABD9588C5E6338B4E,
+ E84DE13A5B4E3CDD6E4E8F0C,
+ 325C094CD77DDDF596F68739,
+ 57F32BA41566BECD1198F63E,
+ 094C556F8D0AE8CC6CEED9FB,
+ 556073348F35F6B6343EFDD2,
+ 07B31BAEA3EE6A3568B208E5, ); name = fonts; sourceTree = "<group>"; };
+ F48A1203939B70EDACD50AA7 = {isa = PBXGroup; children = (
+ C354BB508CAA843514B0DC9F,
+ 2F07F356B586297441C03FD6,
+ D56BD4164BA909ABBB1857A1,
+ DC2781F336F044A8731338C8,
+ 56947856572E0773E89E983D,
+ 3E482755EDFA44494FF023D0,
+ 86468BEAA12010DDA016CC10,
+ F4A1AD93DE353D13201AB12C,
+ 704D70D4573DECD12CA73CAA,
+ C8D06833FC91008893DA677E,
+ 56F7B561DABAD1E7162DABAC,
+ 7BA8C2A9B4FC3423E14BAA1A,
+ D9770C541A17B3531C7332A3,
+ A1C56EE3F45839F0BD3D0EFF,
+ 8FD738198716A7A7EF9F6BA6, ); name = geometry; sourceTree = "<group>"; };
+ 4D8173B4C1666D4E59E62895 = {isa = PBXGroup; children = (
+ 15084C7DDC789B403498C10B,
+ 374284FAB08CABA8749926F4,
+ FAD7FB53E0C69BF3CBDA507A,
+ 10EF808AC938A441E7443840,
+ 7145E7465DF41F9D6FC45BC0,
+ 63E02DCB877D069673E52352,
+ 07C1FAD1C77BD6A3DDA9FA4B,
+ 607A351282D13B9C4D931487,
+ 5EB0F9F985EEE1043B06F8D9,
+ 69413E19788FD4C8427D2047,
+ CCC470BC52BE24359C9B42AF,
+ 44D08244DA1B152854D77BB1,
+ 415582B6861C4D9335450BB1,
+ B2219699BDACA12A3379C88C,
+ BBF8BBCA90A1B0A4EB6BBBE2,
+ F374AAD8894D6D40B4C38E8F,
+ 4ACE92AA3EA20E9FF19A5EEA,
+ 3626A7F4986882E314E193DA,
+ BF89725F8EF9FD3F106EF1BC,
+ 9B9CD377B20CE92F487443F6,
+ 63FB71B51C45DA49179DED38,
+ 58235EEADEC6FAC59636CB96,
+ A557DCC45C8C6EB171447483,
+ 38180EF0EB0EF5A256F9284F,
+ 6B671201E1FF73FCDD6CAAEA,
+ 259C02E224011BE7AA3DA3A8,
+ 0DC492C9812308493090CBD2,
+ B242FAC40794E6AA4764100C,
+ FFA048FF349F1B798B6471FF,
+ E6C6F3A38D8979DFD60EEF2E,
+ C1136BF7764D76BCC07C1786,
+ 189A025BB6D9FC4C5A23FBCE,
+ 78D1F8BCE2BDAE743985C02E,
+ 7CDD61D86C377AED49D7C36B,
+ EBF04AA55AD5EAB164D8A8BD,
+ AC5639600E1A1B0179AD1E92,
+ D570A976A21A1659C7780CAB,
+ 333B552A05E9BF308C6ADD45,
+ D57104B8381FE2B99CDC33A1,
+ 631723C152BEC3979C519B05,
+ 886FA35D63BFC08BD7D73835,
+ AD8F4F2CA47F83B1A807F2E7,
+ 4C3B17A607F33B34D02CE3EC,
+ C14CD4C38D9E545A25173002,
+ DF7E0DE4FE09D4EDF5155754,
+ BB2CD5BCE2AEF09C4C823288,
+ 6A6C31420003DA6CA2AC0919,
+ 75B91A274177138164C8E8FB,
+ 2FD22509C8339B373DC63012,
+ 6B1587A046ABBCBECC7EEE89,
+ 7298CC9DA61DDEC96BD5EE34,
+ 880D898BB1B7F8F39E263670,
+ 65030DB669123C73AD06BC59,
+ C5104A09F22FB66E2AC19B0F,
+ 29D582B81D48ACB55B82D3D9,
+ B81A3688EF80E88F9A69CB5F,
+ E9E68A3AC31C5D2178BDE8EB,
+ CB5D7AB96931DD45ABE6D2FD,
+ F20A54705DDD536DA6C03BA0,
+ D00256D3C9092D8BE7847E03, ); name = jpglib; sourceTree = "<group>"; };
+ 30B6D4B4CC98F82CFDB57624 = {isa = PBXGroup; children = (
+ 57825B50FC0B9D54AC6F5233,
+ B3F7540EBF2CB729A670533D,
+ 6F9576EBF672181637694D0C,
+ 703BE578C7734841E9CD5244,
+ 624D3D50FD9D2CF430B9E21B,
+ F6989E8E541E0091DD3117AB,
+ 11A08A66A2A26A8DD64BD9F9,
+ 1B7211B3FE22107FA247E052,
+ 744A990B9EE159A4F317B630,
+ C5777CD565420A7EB18DD101,
+ CCEA91668214454D3D0F13B3,
+ 8BC9B58760E42691BBF12A44,
+ B89E123B84D78A063F86C450,
+ 0D75C63F78F611EF265DDD00,
+ 7AA7EF5457F7351F93632B42,
+ BFEAE2AA0BF50E036F322649,
+ 4463E0EE235D2C829F6FDB1F,
+ 38A27788CB801465A6398EB9,
+ 6A64E63EE6FDE58B69CD1BAC,
+ CA306C285A8508A076AEC761,
+ 4857997C4BBF4ABFFDAD0513, ); name = pnglib; sourceTree = "<group>"; };
+ A9F198332CDDABC3CF20F8DF = {isa = PBXGroup; children = (
+ 4D8173B4C1666D4E59E62895,
+ 30B6D4B4CC98F82CFDB57624,
+ 623A644B949C7D20EAA7244F,
+ AE30CCDA7823BCD359DF6BC7,
+ 3839FAD677C474154D1EB001, ); name = "image_formats"; sourceTree = "<group>"; };
+ 4EF335482201071D06E1C74D = {isa = PBXGroup; children = (
+ A5AB415F38801E8B9E42BC18,
+ 3C71778B17054C9F858FA865,
+ 6EEA09DB41120AB493D5FBA8,
+ C1DA9A178649303EA64D9CDE,
+ 004F22C36FC01D6FDFF1DA3F,
+ DDD4F13758E6FDA532A03F05,
+ 08DD52B8C183D2B128C0D179,
+ 123264F219D032A0058B6208, ); name = images; sourceTree = "<group>"; };
+ 27968A0464BC31C94622A1CD = {isa = PBXGroup; children = (
+ C7432E6D6DC03F9DCAD71B62,
+ 7B5BDF0835BFBC98BE1AF40B,
+ 1EBDE46E356A339CD181E968,
+ 142DACDBB2E8CCDBC92AFA21,
+ CAC17359BB40A2600B570176,
+ 2C55D81A3E5D41505E7689BA,
+ 4807176892A793726C3030E3,
+ EF9BD384E8E8BFB77E7F0575,
+ 9AE0690540C8330E95C5378A,
+ D5F0412FDECBA8A8780CC5FB,
+ 3339C81CCA49FF811D7CEB7A,
+ CF66C32B9525ACB1889A39E2,
+ A55155A4B2E8B21C942087AC, ); name = native; sourceTree = "<group>"; };
+ 5B4463B9C81D8835DEBA8DE1 = {isa = PBXGroup; children = (
+ 33CB13A430A6302290632827,
+ 9AE5A43B10E756BA25BAF5F8,
+ 711B2D0097F6D3BA4948C4BE, ); name = placement; sourceTree = "<group>"; };
+ 691E83AB8952AA6D282C983C = {isa = PBXGroup; children = (
+ 52C34A13D6D60F01D45AE196,
+ B96E3F335222D5FF6A3E9E7A,
+ 70E1FDD3EB1C24EFE5815792,
+ 3F010FD693D122322C97B3D6,
+ F48A1203939B70EDACD50AA7,
+ A9F198332CDDABC3CF20F8DF,
+ 4EF335482201071D06E1C74D,
+ 27968A0464BC31C94622A1CD,
+ 5B4463B9C81D8835DEBA8DE1,
+ AEB4B2FABF1201F9F7B7E047,
+ B7BA6785B1CEB985232FEF7F,
+ C896ADB53ABA8E7601D1A370,
+ B7BA6785B1CEB985232FEF7F, ); name = "juce_graphics"; sourceTree = "<group>"; };
+ 6B80CA0D7CB17A440458028D = {isa = PBXGroup; children = (
+ F8D2FFD56EDB135E44918781,
+ 2DA8268B68970ED28D8C6063, ); name = application; sourceTree = "<group>"; };
+ 3C05FDBD9A9A6A7AA7B48A7B = {isa = PBXGroup; children = (
+ 290A325171E1E397B3C4A9CA,
+ 890805204E0C9E6BD0539FE2,
+ D47D205D6F961B6EBC4D54DE,
+ D609AAFD609E9980F07C042C,
+ 023F49CCDC1E02B09597C66E,
+ 2E4AEAE2102146D7213B8B52,
+ E012323C1204D53AFDC987D3,
+ C80EFFF599AEAB505C66280D,
+ DE6B8ADF052D45BACFF2C641,
+ D731608ADAF378A4059E1D7C,
+ 2D09DB1F0F60421C24555BD3,
+ 3A26E022C114766276A15799,
+ 958BCC24A1E4AB1BAEACF4EE,
+ F31FBA293A67196F502E6BC7,
+ 47D1A2ABF002436D022E4629,
+ A9FDFB5F161125277F1AB460,
+ C69EF03A5A778E53285D19E4,
+ E480BC3D7B48F0C74F298C3A, ); name = buttons; sourceTree = "<group>"; };
+ 556429C32A05088FEFD426D2 = {isa = PBXGroup; children = (
+ 503FF47860BD2E0B47D006CB,
+ 7A1DC58C900038C5536ECB26,
+ 098ED263E040117E51894F15,
+ 3C6487063F6EE89907FC346B,
+ 7518FF0D86762A4002CB3BF3,
+ AC97D162AA13FBF82C986A15,
+ CC1774E1F34D88E2F4CE51F9,
+ 91282DB87C122E33BE6EA725,
+ E3D1CA4CE4EF0702039367EA, ); name = commands; sourceTree = "<group>"; };
+ 717001FE1D0C1757D18A5FEB = {isa = PBXGroup; children = (
+ FD796A075B8DA4EAB5C3D4B5,
+ 545B97A1511AF973F46E94B4,
+ F9165F30946DC46BCAE86E7A,
+ 1607EFD478CD23076A9CBE3E,
+ F072240BF81349DCC5A9B9F4,
+ C57C03814BDC21126887EA4B,
+ ECD62CD88DCBB8DC105ECA90,
+ D6F89D54CA1A79972E08BADC,
+ C1128422B16AF4F5D607A27E, ); name = components; sourceTree = "<group>"; };
+ 25E0615396DB4A887139769A = {isa = PBXGroup; children = (
+ 239FA9458853235C54921F5F,
+ A949ECFB4D16AACF21B81087,
+ 6E73F0C077921B8A2626BDBA,
+ 074F22919B41B0BA14AA4CCC,
+ D0C7B799E38035948C4BE8C1,
+ D92208AFBEE850525AE7351F,
+ ADCEAAA615BA2F1E2DA5A552,
+ B85D5F20DD455F0A09E51890,
+ 4B1711662ECE0954B9C568EF,
+ 453ACC771EC4B44D3D8461FB,
+ C22B01AD2000713B7888F4EB,
+ 9F8EB8E2528BA45535A77C7A,
+ 45BC9079C10E9CE2545372E4,
+ 78C50D94075B56512516F0C8,
+ 0134541F88473B067DD0FC3D, ); name = drawables; sourceTree = "<group>"; };
+ 41509E79850DE855D4C7D71A = {isa = PBXGroup; children = (
+ 0A526E1279C058ECEB5D72E6,
+ 6D6D95F6276628417314D1DD,
+ 0486A2838E9CF6A08E2CDB4D,
+ 396D953F95B6F3476E790241,
+ D26AB514846D276E9C51FCBE,
+ F17400700CFFDE93F875A0C7,
+ 86F179E6CEA5A7C8AB72F7EB,
+ 276090854E12816A7A35B3D8,
+ 185F6931778F33EE877A4A72,
+ 536BC600CA34FB063F45C1E3,
+ 56FF63000FDC0BC90E5A5A12,
+ 0E42B615AFEEDD7E91F69F3E,
+ 963DEAA7F26F49267926BF3B,
+ 860B2CB374BD49B9CDBC86F5,
+ F994478EC1241EE08FB8D207,
+ B7E8E5CA1ADCAEE8B0B2AE66,
+ 686718D917B30AF24B25AA93,
+ E3F9E4319F72D8F0196BB395,
+ F0FD67695F37DE1B68129B53,
+ 2EB3D45896B162CF084B45B4,
+ 356836FC63C553DE7E939438,
+ 04C4492E9BFB187B49F04779, ); name = filebrowser; sourceTree = "<group>"; };
+ 6C5D4E4898415374BA9FDC33 = {isa = PBXGroup; children = (
+ 098F2AE5656DAD86654071F6,
+ 27DA3CBF130A67C5E16A1997,
+ 0F9867566F439625DCCD9E20,
+ DD38982F889B495C7BB6D1E6,
+ 344D18532509B867ECE196E6,
+ 277CD95799867DBC2DD130E5,
+ 9B27CF1ED3952EFBFA499E38,
+ 270E251E092B56AE76BC03DF,
+ B22866EBFB0C99DE4D42CE0D,
+ CC49BFDF0CBBF67ED6045497,
+ 2D04DCD5191030ECAC7A7066,
+ BEB30294F6BD8139B70ACA29,
+ 60CC9ADC40B2E610426CADDC, ); name = keyboard; sourceTree = "<group>"; };
+ 43C16176F563713473606FD6 = {isa = PBXGroup; children = (
+ E872F82A42DCC945FB958F16,
+ B516C7504041F3EE923DDD57,
+ 3766E76069E307005AC29A3F,
+ 39786EE015E3BF240FD18221,
+ 037F0FA4D8A2AF9C315C4043,
+ 27E7098028BE30F84E49D9B1,
+ 218311C48E20518B540D871F,
+ 53737E956EE99C3D7259B31A,
+ 2C4E2335436A0973B4D3963B,
+ DDBE3FCE257DCA2725A50F6C,
+ 45191F8C48FCE643824B67F7,
+ 141B5486B9DE5E175F54300E,
+ 3B94C5189858C02B00F9D486,
+ AA7CD33408E87BF62FD6196F,
+ E5AD2180C57F5EBB1A39F66F,
+ 8428E9E864E1F19E0EAFD021,
+ DD3866A8E0E87FED180DA468,
+ 3845F8554B1817B1D20ABFC9,
+ 44232F9780A5411FCF2A8917,
+ 549CA3DE9B8537DB0E936173,
+ F84479395CA00824345C715C,
+ 3E3AD57C396C694F715232F2,
+ A5FDD01BAD9616628F32C831,
+ 55D6BCF1EE93E7115FD25B60,
+ 580E504DE6FCC999560F76A9,
+ 8C39F2FC681488A978C02F5C,
+ F5088482469904F72E1C5E87,
+ A5D61A4D8387CE0D63C2EA9E,
+ 73992D8767EDEF2D6EB6D53D,
+ 2B1A206BFB17D26E59EAFA3B,
+ ECB2EC0CF7DD9626979F4E99,
+ 7E7377E9D88AF945C81B1508,
+ 300E4F29AA370E48EC0BE8DD,
+ DF64E9F78EBF3B58607D5865,
+ 444983159A76796F60409C6F,
+ BF6E03438E370EEFE3BF3D90,
+ 8ABCCE49B1351D78276E0240,
+ 2748F246140E74AF34D2A8AC,
+ 12B17FE38D1A47D2558DC45D, ); name = layout; sourceTree = "<group>"; };
+ 0D65A6A8738870F1E232F7F7 = {isa = PBXGroup; children = (
+ 8737BFF74A76A096E301AEE2,
+ F6C2E437248C7285C57D8A86,
+ 7C3B053CAFA9B60C2753760B,
+ 37080D42462DABCF6250ABE2,
+ 2A6913FDD4BD2C9238310B2D,
+ E979A50752EE4A8644D8A6C0,
+ 5BAC2DF04466FBE5A779B774,
+ 99CEF028EC17F57AC2E1A9AA, ); name = lookandfeel; sourceTree = "<group>"; };
+ 627F025357659BFF9D5D407B = {isa = PBXGroup; children = (
+ B00597263D3795CD71B882B3,
+ 0066F77648F3BDE61FA586D4,
+ 28440D14791AF9B570AAD4BD,
+ 6458E206EE79D7E0784192D0,
+ 55AB9D614F2F56C565EC6A8D,
+ C4976B0216C3F8E8A56F712C, ); name = menus; sourceTree = "<group>"; };
+ 4228B509C46C892BB44ED093 = {isa = PBXGroup; children = (
+ B53F0009D4FB58F0AC18538C,
+ 05FDDC9D91284C827AB9499E,
+ E90133E32AE7DA442643EA4D,
+ 80DCA56117702F7F20E01546, ); name = misc; sourceTree = "<group>"; };
+ 88BEF0EC977F4FDA5EC98E70 = {isa = PBXGroup; children = (
+ B3B971DDAFD16CB2BCA72550,
+ EE0BE235603DED2039A8A376,
+ 4090F84100430A95257C056C,
+ 54FD746FB0C4F9AAE87255C8,
+ 0CD3B19FFE35170797E44D6A,
+ EB064E6E42732DD8623092DF,
+ 8EBA149C544E2531D23342B3,
+ 10C0A00B736989F933478B16,
+ D7DCCE5D9835450DDA2E29E0,
+ E96DBCF5B4D866A3A1AD89EF,
+ EEECE62F6037C2321B2ACF08,
+ F71B8097C1E62565B628AC60,
+ 66A487257989CA14B111F1A7,
+ 97C0AA5352C7C3C7F4A5789D,
+ 75ACA1805C5BBEBBB33D37A1,
+ 66B742B483616B3D07D6C2A0,
+ 9F85F3E67F54AF4C454660A9,
+ 49DD9B8AC108D8DA6F3C9004,
+ 6E2A3A00C7C2EED4A2204F64,
+ 1F93660A522905B8BC5D5164, ); name = mouse; sourceTree = "<group>"; };
+ 7BC145596A3A4D3C7CE71A7D = {isa = PBXGroup; children = (
+ FCC8E19B4E8537120C6F3B2D,
+ EFD399B3BCDF81ADCFC5D7E1,
+ 1EA05B488621472B657800BD,
+ FD346DC35FA3268FF7304168,
+ B025DD0A3F91CFD919E11B07,
+ 1F90991691844766DEBB34EC,
+ 8C64DB8B08929B71E71FE00B,
+ 4EC1622A1F36D7683C929C35,
+ FC2AC5AB9DA0202896FFC1A3,
+ 1582CA65E7C557627CAA8F5A,
+ CC272EEB471D5EA69C641557,
+ C654FC89A62EB1AD67A81BBD,
+ 612AFB5CDF7DBBE13AECE21B,
+ 6DC17D96EC4A453BA5705B5A,
+ 0D6AF3E024957A409531B0B0,
+ D0205E19CC873D8B25BE90BF, ); name = native; sourceTree = "<group>"; };
+ A020AC1B01801FCB9D5067D3 = {isa = PBXGroup; children = (
+ AAECFC780C79188EAB8E191A,
+ 2B68FB010C7AF495E226C8CD,
+ 782DE6A268A9B772E556FE51,
+ F0FC842DADA7C5B6E493B189,
+ 53EA0626B6F8E27469BAFF6D,
+ 39B8B06446BAB8D893095B95,
+ 600E8EE6FDA5AC2D4FCA236A,
+ 213B4C6C828E14CDCEA7B8D6,
+ 75379B0DDC5FA7ACA7EF1E0F,
+ C2A466EB36712942B38373CE,
+ 12047DF1AFFBAEEE3F13B2D7,
+ C7450EA94B66FBE26DD4425C,
+ D44B50CE1B7346171B34DB94,
+ 6263919A0E13A478DD9B8E4E, ); name = positioning; sourceTree = "<group>"; };
+ 8FF678763A9F802FE7535A3D = {isa = PBXGroup; children = (
+ 7A45E1898C4D332A35D9D4A4,
+ 2609C83BFD2B75F9D2063825,
+ 2829B6FF07E693FF64CC5B02,
+ 7B3545E46376622310EB59B4,
+ 9DF33E67E71F1CF73BA35B14,
+ 657A6786386C94EBFB7E3663,
+ 615C09366D1D8E3D4764C203,
+ ADD5B3970974BE782183D773,
+ 295AD44153ADE7714563E352,
+ 39B6D1044605C7418ACCA419,
+ C378F00E8279BEB7A09F2A72,
+ 9DD7345FAE01C04CCDEBA6ED,
+ 6F3AA44CBACA9F95B74DFC04,
+ 1288968137D5024242866470, ); name = properties; sourceTree = "<group>"; };
+ B55FB3B5BA62BDAFD8288296 = {isa = PBXGroup; children = (
+ 1940D822E35A6628F81E845A,
+ D589551CB03EF87450FBBE2D,
+ 8BD2E34FBF2D665B3EF5B469,
+ A036582CCB2DE4B4A8128349,
+ 8BE1CC0E799319B70AB961BC,
+ 745138CAA42C288D5138026F,
+ 3F4AD344A9B3A6B75BE3FFED,
+ F781B7A10E43CFBC73865282,
+ 60357B0189F033F10BDACB40,
+ A2E54CC2C9122D6EAC457A7A,
+ 11B718FAF15A06E8A910207D,
+ F875253F49AF427B48942303,
+ B38B035A94F8C68FC4213C4D,
+ 1639FF06D27B84F3842F4562,
+ 4BA32E5F03049AB701E3ECE2,
+ B457A534EA87F2839E1B3FCE,
+ 1FFFFF4E5B8F6EE4F2654FF5,
+ 4BF9A214E3239A725C95A0CB,
+ 468B2C73407C4122B3EF31D7,
+ 7B16B12DDD0890AD7E7650B6,
+ C1F06DF70CE1D7CAA0F843EA,
+ 51A72B6C930D8AF149FD2749,
+ ADB9047E9B3711E62B59B135,
+ 3E53AAF6A7C50B871CC2B84B,
+ 1BCEE41B6DCEE197CABD276E,
+ F91C18845B000BFD9394DB88,
+ 7B53E332EE979100E6BF52A2, ); name = widgets; sourceTree = "<group>"; };
+ 608B013A25741BF543C2D4CB = {isa = PBXGroup; children = (
+ C3E8BCE32CB8C9972EEB5706,
+ 8B6110EB4D07A18685A846C2,
+ 3C6DEA1D9CF09ED6F08F8D97,
+ 247D1A676F993924931F2B11,
+ 7B2051E3A09B3AD07C0779A4,
+ 945C3EC8D157047CDBB40D8F,
+ 6D39BB7673BAF2E3C8AAE91F,
+ 531AF914074A371A2E23A32E,
+ 6D7D30FB2145AC442C40EBA5,
+ D2AA8ACBE7710F017D18DF47,
+ 43B541DE2AE988D5DF58776B,
+ 8832DEAD11A1BDE92F88E96A,
+ 9A0F119D9863AE9F5C0A4251,
+ 5478200B71A9A9A7BD4480A5,
+ 2C75054FC9998542A3DF49BD,
+ 3EAA7B2934AA9AF16F86BA43,
+ D61BBAED71EAA177A28395D4,
+ 24AB7780B4E122BE96675243,
+ A47D11008150FAF0F5E1BDA8, ); name = windows; sourceTree = "<group>"; };
+ 68C7055DF9613AA86B2E7AF2 = {isa = PBXGroup; children = (
+ 6B80CA0D7CB17A440458028D,
+ 3C05FDBD9A9A6A7AA7B48A7B,
+ 556429C32A05088FEFD426D2,
+ 717001FE1D0C1757D18A5FEB,
+ 25E0615396DB4A887139769A,
+ 41509E79850DE855D4C7D71A,
+ 6C5D4E4898415374BA9FDC33,
+ 43C16176F563713473606FD6,
+ 0D65A6A8738870F1E232F7F7,
+ 627F025357659BFF9D5D407B,
+ 4228B509C46C892BB44ED093,
+ 88BEF0EC977F4FDA5EC98E70,
+ 7BC145596A3A4D3C7CE71A7D,
+ A020AC1B01801FCB9D5067D3,
+ 8FF678763A9F802FE7535A3D,
+ B55FB3B5BA62BDAFD8288296,
+ 608B013A25741BF543C2D4CB,
+ 3782D185E22EF45E19121FDE,
+ FCE2AB34D1C54832F4AC47C9,
+ 9C8498C25697BD9D5A3F6D3F,
+ FCE2AB34D1C54832F4AC47C9, ); name = "juce_gui_basics"; sourceTree = "<group>"; };
+ E40852D67BDC756789D8E51E = {isa = PBXGroup; children = (
+ 9B0E2E458B1A3A4B032B2B0C,
+ 39A8BA4E50401A7D579168F4,
+ CAB0FFD4ACE46B5BB6559F49,
+ C270E46D4AA6167816A24E2B,
+ 1A8D73AA5A4FED553C046781,
+ 0470B740800E2B92D64815BF,
+ 056DBA62F34F5450839B7FC2,
+ 1940FFAA55755E1B278A64E3,
+ 1CA65E651664075BFF4A4A64,
+ 3AADA20AD02A1052F80B2857,
+ 45530FF0DF287CC439A75C68,
+ 2B259B9BA313A92083472063, ); name = "code_editor"; sourceTree = "<group>"; };
+ 96B6E2368368F4D2A8BB7045 = {isa = PBXGroup; children = (
+ 6C1EE0564BB0C2F66F9C2433,
+ 34134A573DDF0D91487FFFE8, ); name = documents; sourceTree = "<group>"; };
+ 4F6FD1275DC7EC86601A5AB6 = {isa = PBXGroup; children = (
+ FB678E72A050B9C8405A49D3,
+ 192285B9EE21A90ED7F8E0C3,
+ 1B6526803945EC2E65A2003A, ); name = embedding; sourceTree = "<group>"; };
+ 48AF61937B2A3861191A8C99 = {isa = PBXGroup; children = (
+ 0146ADA6A37B56C2B80B664B,
+ C5350D02D320948DED393876,
+ 14D6FADA9CE0607012BE74D6,
+ 5FEDFC682FF65A4B073C560D,
+ E5858F0CD2D3EE349B30CA5B,
+ A0CB6935196AC5238C8F269C,
+ 9BFD087AC2047471E1A72573,
+ BC1AB5217569FF1D6768A3CC,
+ 5570A3AA41CD987CB8AF621F,
+ 86495A92C2E2F86CDE545090,
+ C40EABB3E75B9AD8FCAB53AC,
+ 5E06F5051C1D854B2455CB87,
+ 6ED2B47D5060F8EACFC50640,
+ F4335B83494891C421FA04E8,
+ 3C53FF471FF3C7E737CA72DA,
+ BA1D0F30B2E5F0F96F4185DB,
+ 02C1D8DDC7431B47680C884D,
+ 24D67156E1F4D111F2A7B66B,
+ C3933419918B6A2495795FA2,
+ 4398C562023B9F4EC288F057, ); name = misc; sourceTree = "<group>"; };
+ 144D15BAD8CA69A8DBB82C31 = {isa = PBXGroup; children = (
+ E8436FD10AED36594510428E,
+ A0FBE04131F0B428E5382BAD,
+ E0C969049C24A8E43F0486DB,
+ A7F4E51343ED786701A85266,
+ 59ED2CD34E9EE135DEF23CBB,
+ B4B4DC2B15A8661F0AFEF3E6,
+ 23BAF64A603F0EB4AFCDCD5C,
+ 522270278A659CBC622295F7,
+ 9D3604486A3820957442DAC7,
+ 36402D3C84983BDC6A6C8EA6,
+ FA40DB2441500AF4B0ECA71B,
+ 0BA1A36CC006BB5B35A09E06, ); name = native; sourceTree = "<group>"; };
+ 958D4B16CF3F96E9E70828DA = {isa = PBXGroup; children = (
+ E40852D67BDC756789D8E51E,
+ 96B6E2368368F4D2A8BB7045,
+ 4F6FD1275DC7EC86601A5AB6,
+ 48AF61937B2A3861191A8C99,
+ 144D15BAD8CA69A8DBB82C31,
+ 8DA7C37254BBEA4385A7272C,
+ 9793AB1BCA6FC17E9AB9E2E8,
+ 5818CD0223532F13C5422A26,
+ 9793AB1BCA6FC17E9AB9E2E8, ); name = "juce_gui_extra"; sourceTree = "<group>"; };
+ D3E81FAA09463622E66FD17F = {isa = PBXGroup; children = (
+ C289CBA2B8F95F33925A5AEB,
+ DB316449643AAC516003AE16,
+ 5EB9EE254F51E02B1D49B873,
+ 5E23D96E2EB9F88F38D93DFF, ); name = geometry; sourceTree = "<group>"; };
+ C9F0830E4E15FC5E70DDF18A = {isa = PBXGroup; children = (
+ D4BFD81E44C76AD3D342F720,
+ 8B6CB21BA069BE0A9DB997C0,
+ 553A899730E4FED7F493AA03,
+ 406F6D35C92A081783503504,
+ ADC573E1DE05C8BF45BA5B59,
+ 84088AC5990FDBA99C10AEB3,
+ C1366849A4AFA9E7B0059002, ); name = native; sourceTree = "<group>"; };
+ A4C10C12427AB28FF717AB52 = {isa = PBXGroup; children = (
+ 27ED9C6A91E50785CFA8BA31,
+ 5D3DE7592345CB26E453DD88,
+ 6149287F9C3FEF175DE93D44,
+ F1ECA550F1B8B16C8C8C35B6,
+ AB15F30C4F3A5709ADA3C5B0,
+ 5EA4D7EB503ED1646A1FECA6,
+ 56E5943EC268C8ACB54703B8,
+ 538CFEAD991A38E937468632,
+ 621FCE540F6FAB599D909498,
+ 90A11F403330C55809F0693A,
+ C6096109CD738B1A58DA3EBF,
+ 97B7579F4F3C4CEA23457E9F,
+ 8849A3B9AB85002210BAA4DB,
+ D8BF2EA2311BC20E72F780A2,
+ 6F7CCD75D031B8B2EC131463,
+ 6D7601A0932A43EF421666F9,
+ 397C67B8A5BEE04B873AEE21, ); name = opengl; sourceTree = "<group>"; };
+ F82EAEE695163CE0AF613BF3 = {isa = PBXGroup; children = (
+ 5DB18DB883B9C7D28EB5B3D3,
+ C294028BADB2FCB4DFA91F50, ); name = utils; sourceTree = "<group>"; };
+ 8B4985F5B17C0907B2D0280A = {isa = PBXGroup; children = (
+ D3E81FAA09463622E66FD17F,
+ C9F0830E4E15FC5E70DDF18A,
+ A4C10C12427AB28FF717AB52,
+ F82EAEE695163CE0AF613BF3,
+ 986010E9A082A0DF23C16F2D,
+ CA36573F2BB8AE07EEF00E23,
+ A56ED345A6C89B13D2D0AC89,
+ CA36573F2BB8AE07EEF00E23, ); name = "juce_opengl"; sourceTree = "<group>"; };
+ ACF438DCCC7951F80306FB81 = {isa = PBXGroup; children = (
+ 665E1B7D0F3287E61328962A,
+ 9AC105FA2D78A2FF360E72CF,
+ 3A7E92469DD583BC27D6A0C3,
+ 6703540BB2129E337C6A36A2,
+ 502E1E6A813AB55B9E50E94B,
+ C26A50FC2442172A34F9428E,
+ 640D80D58491993647C1B663,
+ 691E83AB8952AA6D282C983C,
+ 68C7055DF9613AA86B2E7AF2,
+ 958D4B16CF3F96E9E70828DA,
+ 8B4985F5B17C0907B2D0280A, ); name = "Juce Modules"; sourceTree = "<group>"; };
+ 04F9940C78EBE86BC90AC333 = {isa = PBXGroup; children = (
+ 4ABD70F1E7F6F48AF857A965,
+ DA8A4007E66A5DAF6714958C,
+ 95CF46398870352FCFC6060A,
+ 6897FB6E71DC9317E49C7878,
+ F6846615852B68E9AC653C15,
+ 1ACBA85AD353C8C85A01F6A4,
+ 78246E70C7F9C5C5FE05D6D3,
+ 051FF93BB3EA12E38D1FBA70,
+ 34210DF6FF04098CE9FDF1D7,
+ 58368BBE74C33205BA7031C6,
+ C8340D5843D5D25231C0F1C0,
+ C6F80D596083F77D6657CFAF,
+ E677E7CBC0109236A71D0E76, ); name = "Juce Library Code"; sourceTree = "<group>"; };
+ BA3276FE3301BF867BBA6FBA = {isa = PBXGroup; children = (
+ 574E29C4D824BEE95F94E7D6,
+ 4FE119D4AAC2809C3D698315, ); name = Resources; sourceTree = "<group>"; };
+ EB0D13905DE35B7EECA09529 = {isa = PBXGroup; children = (
+ 2C5EEC55C1DCC5A3372873C8,
+ 5BFC1DE795FB9081364BFC41,
+ 2534868A44A9EAA66A584C16,
+ 11AEC78B996D849B2EA9C96F,
+ E427494183B988C7A7BD1017,
+ A2D1D8C580DFDB5C8E011C80,
+ 4D4A93B14DDB028B9592C841,
+ C759B8DF15E2D97796C44195,
+ E731A28F9A361B554E8926EE,
+ D2E3DCE1B8C06CB72C0E7E1E,
+ 4DCF6F0AB88DA09CE8F97DD4, ); name = Frameworks; sourceTree = "<group>"; };
+ 31F4C36D3B12DC4E69F5D5A7 = {isa = PBXGroup; children = (
+ 7A425A86C84D843976582BAF, ); name = Products; sourceTree = "<group>"; };
+ 0E79852FE469702C8F99D6F3 = {isa = PBXGroup; children = (
+ 9886851267A0D1BF2E10BA86,
+ ACF438DCCC7951F80306FB81,
+ 04F9940C78EBE86BC90AC333,
+ BA3276FE3301BF867BBA6FBA,
+ EB0D13905DE35B7EECA09529,
+ 31F4C36D3B12DC4E69F5D5A7, ); name = Source; sourceTree = "<group>"; };
+ DF3B86DBD39059B08B65FFDE = {isa = XCBuildConfiguration; buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_DEBUG=1",
+ "DEBUG=1",
+ "JUCER_XCODE_IPHONE_5BC26AE3=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000", );
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
+ INFOPLIST_FILE = Info-App.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksDrawing; }; name = Debug; };
+ D1EA6139431E47DBB7B1986D = {isa = XCBuildConfiguration; buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ DEAD_CODE_STRIPPING = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_NDEBUG=1",
+ "NDEBUG=1",
+ "JUCER_XCODE_IPHONE_5BC26AE3=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000", );
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
+ INFOPLIST_FILE = Info-App.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksDrawing; }; name = Release; };
+ 43CD600C065BABAB527F39FC = {isa = XCBuildConfiguration; buildSettings = {
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.3;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "BlocksDrawing";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WARNING_CFLAGS = -Wreorder;
+ ZERO_LINK = NO; }; name = Debug; };
+ EC99C60653432B6B3FB22D6B = {isa = XCBuildConfiguration; buildSettings = {
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.3;
+ PRODUCT_NAME = "BlocksDrawing";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WARNING_CFLAGS = -Wreorder;
+ ZERO_LINK = NO; }; name = Release; };
+ 0F059C1E8ACF3FBEF730CA15 = {isa = PBXTargetDependency; target = F0C1DAFB0E78213F565F044F; };
+ DD23365E44ACBF007DC85D46 = {isa = XCConfigurationList; buildConfigurations = (
+ 43CD600C065BABAB527F39FC,
+ EC99C60653432B6B3FB22D6B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
+ A3CB76965E92DC1E80F3F9AF = {isa = XCConfigurationList; buildConfigurations = (
+ DF3B86DBD39059B08B65FFDE,
+ D1EA6139431E47DBB7B1986D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
+ B64F4B6419098A6C579D0EDB = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (
+ 2A5E87443C41335CD944ACB8, ); runOnlyForDeploymentPostprocessing = 0; };
+ 6F1EAB6EC19EDAB88EF14DE0 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
+ D354A0AD7CBDBDD1D8132ECC,
+ F1C1D8F4BDE85067F5E61D08,
+ 24C420997F20D0A7722D42F4,
+ 049EFBDC407E74FEFD6B5BC4,
+ 14F7090DA7E5514C84EDEAEC,
+ 6A180703D5E1FF08436F86BD,
+ 778865742AAC536B855F7811,
+ 3605BE75533AB0654207D383,
+ 28112EC95408B63449B78115,
+ 24904A3173013B4EDA6F3C5C,
+ D0BFD385DEAF6A175C6DFD65,
+ 30A9BAE82518913F1E845471,
+ E5F0AAB587D9B91BD29F8FB5, ); runOnlyForDeploymentPostprocessing = 0; };
+ 704E8CB52C968D24DAE2ABD5 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
+ DC3B31CFC2AD4291556EC0C5,
+ BBE14F0993C20E2D963EB167,
+ 2A39C67F26307A5C8875160A,
+ 23D2896D495239FEA26A3255,
+ EE68388C08422C998F9418CC,
+ E759B32B9B193C5530B5728D,
+ 6CC5F22634ACED43D520FDF1,
+ BBFB0402058A2B62B9CAF548,
+ 1A7FD937E40C4CF89386EEE0,
+ 3517782FB58BA6883F7A9D6F,
+ 7292839DA84380BAA0F12E31, ); runOnlyForDeploymentPostprocessing = 0; };
+ F0C1DAFB0E78213F565F044F = {isa = PBXNativeTarget; buildConfigurationList = A3CB76965E92DC1E80F3F9AF; buildPhases = (
+ B64F4B6419098A6C579D0EDB,
+ 6F1EAB6EC19EDAB88EF14DE0,
+ 704E8CB52C968D24DAE2ABD5, ); buildRules = ( ); dependencies = ( ); name = "BlocksDrawing (App)"; productName = BlocksDrawing; productReference = 7A425A86C84D843976582BAF; productType = "com.apple.product-type.application"; };
+ 46C68557D30B3B44D3FE037B = {isa = PBXProject; buildConfigurationList = DD23365E44ACBF007DC85D46; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { F0C1DAFB0E78213F565F044F = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0E79852FE469702C8F99D6F3; projectDirPath = ""; projectRoot = ""; targets = (F0C1DAFB0E78213F565F044F); };
+ };
+ rootObject = 46C68557D30B3B44D3FE037B;
+}
--- /dev/null
+{\r
+ "images": [\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "29x29",\r
+ "filename": "Icon-29.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "29x29",\r
+ "filename": "Icon-29@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "29x29",\r
+ "filename": "Icon-29@3x.png",\r
+ "scale": "3x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "40x40",\r
+ "filename": "Icon-Spotlight-40@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "40x40",\r
+ "filename": "Icon-Spotlight-40@3x.png",\r
+ "scale": "3x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "57x57",\r
+ "filename": "Icon.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "57x57",\r
+ "filename": "Icon@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "60x60",\r
+ "filename": "Icon-60@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "60x60",\r
+ "filename": "Icon-@3x.png",\r
+ "scale": "3x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "29x29",\r
+ "filename": "Icon-Small-1.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "29x29",\r
+ "filename": "Icon-Small@2x-1.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "40x40",\r
+ "filename": "Icon-Spotlight-40.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "40x40",\r
+ "filename": "Icon-Spotlight-40@2x-1.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "50x50",\r
+ "filename": "Icon-Small-50.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "50x50",\r
+ "filename": "Icon-Small-50@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "72x72",\r
+ "filename": "Icon-72.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "72x72",\r
+ "filename": "Icon-72@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "76x76",\r
+ "filename": "Icon-76.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "76x76",\r
+ "filename": "Icon-76@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "83.5x83.5",\r
+ "filename": "Icon-83.5@2x.png",\r
+ "scale": "2x"\r
+ }\r
+ ],\r
+ "info": {\r
+ "version": 1,\r
+ "author": "xcode"\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+{\r
+ "images": [\r
+ {\r
+ "orientation": "portrait",\r
+ "idiom": "iphone",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "2x",\r
+ "filename": "LaunchImage-iphone-2x.png"\r
+ },\r
+ {\r
+ "orientation": "portrait",\r
+ "idiom": "iphone",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "2x",\r
+ "filename": "LaunchImage-iphone-retina4.png",\r
+ "subtype": "retina4"\r
+ },\r
+ {\r
+ "orientation": "portrait",\r
+ "idiom": "ipad",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "1x",\r
+ "filename": "LaunchImage-ipad-portrait-1x.png"\r
+ },\r
+ {\r
+ "orientation": "landscape",\r
+ "idiom": "ipad",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "1x",\r
+ "filename": "LaunchImage-ipad-landscape-1x.png"\r
+ },\r
+ {\r
+ "orientation": "portrait",\r
+ "idiom": "ipad",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "2x",\r
+ "filename": "LaunchImage-ipad-portrait-2x.png"\r
+ },\r
+ {\r
+ "orientation": "landscape",\r
+ "idiom": "ipad",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "2x",\r
+ "filename": "LaunchImage-ipad-landscape-2x.png"\r
+ }\r
+ ],\r
+ "info": {\r
+ "version": 1,\r
+ "author": "xcode"\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\r
+<plist>\r
+ <dict>\r
+ <key>LSRequiresIPhoneOS</key>\r
+ <true/>\r
+ <key>UIViewControllerBasedStatusBarAppearance</key>\r
+ <false/>\r
+ <key>CFBundleExecutable</key>\r
+ <string>${EXECUTABLE_NAME}</string>\r
+ <key>CFBundleIdentifier</key>\r
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\r
+ <key>CFBundleName</key>\r
+ <string>BlocksDrawing</string>\r
+ <key>CFBundleDisplayName</key>\r
+ <string>BlocksDrawing</string>\r
+ <key>CFBundlePackageType</key>\r
+ <string>APPL</string>\r
+ <key>CFBundleSignature</key>\r
+ <string>????</string>\r
+ <key>CFBundleShortVersionString</key>\r
+ <string>1.0.0</string>\r
+ <key>CFBundleVersion</key>\r
+ <string>1.0.0</string>\r
+ <key>NSHumanReadableCopyright</key>\r
+ <string></string>\r
+ <key>NSHighResolutionCapable</key>\r
+ <true/>\r
+ <key>UIRequiresFullScreen</key>\r
+ <true/>\r
+ <key>UIStatusBarHidden</key>\r
+ <true/>\r
+ <key>UISupportedInterfaceOrientations</key>\r
+ <array>\r
+ <string>UIInterfaceOrientationPortrait</string>\r
+ <string>UIInterfaceOrientationLandscapeLeft</string>\r
+ <string>UIInterfaceOrientationLandscapeRight</string>\r
+ </array>\r
+ <key>UIBackgroundModes</key>\r
+ <array/>\r
+ </dict>\r
+</plist>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+ There's a section below where you can add your own custom code safely, and the\r
+ Projucer will preserve the contents of that block, but the best way to change\r
+ any of these definitions is by using the Projucer's project settings.\r
+\r
+ Any commented-out settings will assume their default values.\r
+\r
+*/\r
+\r
+#ifndef __JUCE_APPCONFIG_AA4REI__\r
+#define __JUCE_APPCONFIG_AA4REI__\r
+\r
+//==============================================================================\r
+// [BEGIN_USER_CODE_SECTION]\r
+\r
+// (You can add your own code in this section, and the Projucer will not overwrite it)\r
+\r
+// [END_USER_CODE_SECTION]\r
+\r
+//==============================================================================\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1\r
+#define JUCE_MODULE_AVAILABLE_juce_blocks_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_core 1\r
+#define JUCE_MODULE_AVAILABLE_juce_data_structures 1\r
+#define JUCE_MODULE_AVAILABLE_juce_events 1\r
+#define JUCE_MODULE_AVAILABLE_juce_graphics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1\r
+#define JUCE_MODULE_AVAILABLE_juce_opengl 1\r
+\r
+//==============================================================================\r
+#ifndef JUCE_STANDALONE_APPLICATION\r
+ #ifdef JucePlugin_Build_Standalone\r
+ #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone\r
+ #else\r
+ #define JUCE_STANDALONE_APPLICATION 1\r
+ #endif\r
+#endif\r
+\r
+#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1\r
+\r
+//==============================================================================\r
+// juce_audio_devices flags:\r
+\r
+#ifndef JUCE_ASIO\r
+ //#define JUCE_ASIO\r
+#endif\r
+\r
+#ifndef JUCE_WASAPI\r
+ //#define JUCE_WASAPI\r
+#endif\r
+\r
+#ifndef JUCE_WASAPI_EXCLUSIVE\r
+ //#define JUCE_WASAPI_EXCLUSIVE\r
+#endif\r
+\r
+#ifndef JUCE_DIRECTSOUND\r
+ //#define JUCE_DIRECTSOUND\r
+#endif\r
+\r
+#ifndef JUCE_ALSA\r
+ //#define JUCE_ALSA\r
+#endif\r
+\r
+#ifndef JUCE_JACK\r
+ //#define JUCE_JACK\r
+#endif\r
+\r
+#ifndef JUCE_USE_ANDROID_OPENSLES\r
+ //#define JUCE_USE_ANDROID_OPENSLES\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_audio_formats flags:\r
+\r
+#ifndef JUCE_USE_FLAC\r
+ //#define JUCE_USE_FLAC\r
+#endif\r
+\r
+#ifndef JUCE_USE_OGGVORBIS\r
+ //#define JUCE_USE_OGGVORBIS\r
+#endif\r
+\r
+#ifndef JUCE_USE_MP3AUDIOFORMAT\r
+ //#define JUCE_USE_MP3AUDIOFORMAT\r
+#endif\r
+\r
+#ifndef JUCE_USE_LAME_AUDIO_FORMAT\r
+ //#define JUCE_USE_LAME_AUDIO_FORMAT\r
+#endif\r
+\r
+#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT\r
+ //#define JUCE_USE_WINDOWS_MEDIA_FORMAT\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_core flags:\r
+\r
+#ifndef JUCE_FORCE_DEBUG\r
+ //#define JUCE_FORCE_DEBUG\r
+#endif\r
+\r
+#ifndef JUCE_LOG_ASSERTIONS\r
+ //#define JUCE_LOG_ASSERTIONS\r
+#endif\r
+\r
+#ifndef JUCE_CHECK_MEMORY_LEAKS\r
+ //#define JUCE_CHECK_MEMORY_LEAKS\r
+#endif\r
+\r
+#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES\r
+ //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES\r
+#endif\r
+\r
+#ifndef JUCE_INCLUDE_ZLIB_CODE\r
+ //#define JUCE_INCLUDE_ZLIB_CODE\r
+#endif\r
+\r
+#ifndef JUCE_USE_CURL\r
+ //#define JUCE_USE_CURL\r
+#endif\r
+\r
+#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS\r
+ //#define JUCE_CATCH_UNHANDLED_EXCEPTIONS\r
+#endif\r
+\r
+#ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES\r
+ //#define JUCE_ALLOW_STATIC_NULL_VARIABLES\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_graphics flags:\r
+\r
+#ifndef JUCE_USE_COREIMAGE_LOADER\r
+ //#define JUCE_USE_COREIMAGE_LOADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_DIRECTWRITE\r
+ //#define JUCE_USE_DIRECTWRITE\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_gui_basics flags:\r
+\r
+#ifndef JUCE_ENABLE_REPAINT_DEBUGGING\r
+ //#define JUCE_ENABLE_REPAINT_DEBUGGING\r
+#endif\r
+\r
+#ifndef JUCE_USE_XSHM\r
+ //#define JUCE_USE_XSHM\r
+#endif\r
+\r
+#ifndef JUCE_USE_XRENDER\r
+ //#define JUCE_USE_XRENDER\r
+#endif\r
+\r
+#ifndef JUCE_USE_XCURSOR\r
+ //#define JUCE_USE_XCURSOR\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_gui_extra flags:\r
+\r
+#ifndef JUCE_WEB_BROWSER\r
+ //#define JUCE_WEB_BROWSER\r
+#endif\r
+\r
+#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR\r
+ //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR\r
+#endif\r
+\r
+\r
+#endif // __JUCE_APPCONFIG_AA4REI__\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+ This is the header file that your files should include in order to get all the\r
+ JUCE library headers. You should avoid including the JUCE headers directly in\r
+ your own source files, because that wouldn't pick up the correct configuration\r
+ options for your app.\r
+\r
+*/\r
+\r
+#ifndef __APPHEADERFILE_AA4REI__\r
+#define __APPHEADERFILE_AA4REI__\r
+\r
+#include "AppConfig.h"\r
+\r
+#include <juce_audio_basics/juce_audio_basics.h>\r
+#include <juce_audio_devices/juce_audio_devices.h>\r
+#include <juce_audio_formats/juce_audio_formats.h>\r
+#include <juce_blocks_basics/juce_blocks_basics.h>\r
+#include <juce_core/juce_core.h>\r
+#include <juce_data_structures/juce_data_structures.h>\r
+#include <juce_events/juce_events.h>\r
+#include <juce_graphics/juce_graphics.h>\r
+#include <juce_gui_basics/juce_gui_basics.h>\r
+#include <juce_gui_extra/juce_gui_extra.h>\r
+#include <juce_opengl/juce_opengl.h>\r
+\r
+\r
+#if ! DONT_SET_USING_JUCE_NAMESPACE\r
+ // If your code uses a lot of JUCE classes, then this will obviously save you\r
+ // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.\r
+ using namespace juce;\r
+#endif\r
+\r
+#if ! JUCE_DONT_DECLARE_PROJECTINFO\r
+namespace ProjectInfo\r
+{\r
+ const char* const projectName = "BlocksDrawing";\r
+ const char* const versionString = "1.0.0";\r
+ const int versionNumber = 0x10000;\r
+}\r
+#endif\r
+\r
+#endif // __APPHEADERFILE_AA4REI__\r
--- /dev/null
+\r
+ Important Note!!\r
+ ================\r
+\r
+The purpose of this folder is to contain files that are auto-generated by the Projucer,\r
+and ALL files in this folder will be mercilessly DELETED and completely re-written whenever\r
+the Projucer saves your project.\r
+\r
+Therefore, it's a bad idea to make any manual changes to the files in here, or to\r
+put any of your own files in here if you don't want to lose them. (Of course you may choose\r
+to add the folder's contents to your version-control system so that you can re-merge your own\r
+modifications after the Projucer has saved its changes).\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_basics/juce_audio_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_basics/juce_audio_basics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_devices/juce_audio_devices.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_devices/juce_audio_devices.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_formats/juce_audio_formats.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_formats/juce_audio_formats.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_blocks_basics/juce_blocks_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_core/juce_core.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_core/juce_core.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_data_structures/juce_data_structures.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_data_structures/juce_data_structures.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_events/juce_events.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_events/juce_events.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_graphics/juce_graphics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_graphics/juce_graphics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_basics/juce_gui_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_basics/juce_gui_basics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_extra/juce_gui_extra.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_extra/juce_gui_extra.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_opengl/juce_opengl.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_opengl/juce_opengl.mm>\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file was auto-generated!\r
+\r
+ It contains the basic startup code for a Juce application.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+#include "MainComponent.h"\r
+\r
+\r
+//==============================================================================\r
+class BlocksDrawingApplication : public JUCEApplication\r
+{\r
+public:\r
+ //==============================================================================\r
+ BlocksDrawingApplication() {}\r
+\r
+ const String getApplicationName() override { return ProjectInfo::projectName; }\r
+ const String getApplicationVersion() override { return ProjectInfo::versionString; }\r
+\r
+ //==============================================================================\r
+ void initialise (const String& /*commandLine*/) override { mainWindow = new MainWindow (getApplicationName()); }\r
+ void shutdown() override { mainWindow = nullptr; }\r
+\r
+ //==============================================================================\r
+ class MainWindow : public DocumentWindow\r
+ {\r
+ public:\r
+ MainWindow (String name) : DocumentWindow (name,\r
+ Colours::lightgrey,\r
+ DocumentWindow::allButtons)\r
+ {\r
+ setUsingNativeTitleBar (true);\r
+ setContentOwned (new MainComponent(), true);\r
+\r
+ centreWithSize (getWidth(), getHeight());\r
+ setResizable (true, true);\r
+ setVisible (true);\r
+ }\r
+\r
+ void closeButtonPressed() override\r
+ {\r
+ JUCEApplication::getInstance()->systemRequestedQuit();\r
+ }\r
+\r
+ private:\r
+ TooltipWindow tooltipWindow;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r
+ };\r
+\r
+private:\r
+ ScopedPointer<MainWindow> mainWindow;\r
+};\r
+\r
+//==============================================================================\r
+START_JUCE_APPLICATION (BlocksDrawingApplication)\r
--- /dev/null
+\r
+#ifndef MAINCOMPONENT_H_INCLUDED\r
+#define MAINCOMPONENT_H_INCLUDED\r
+\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+\r
+/**\r
+ A struct that handles the setup and layout of the DrumPadGridProgram\r
+*/\r
+struct ColourGrid\r
+{\r
+ ColourGrid (int cols, int rows)\r
+ : numColumns (cols),\r
+ numRows (rows)\r
+ {\r
+ constructGridFillArray();\r
+ }\r
+\r
+ /** Creates a GridFill object for each pad in the grid and sets its colour\r
+ and fill before adding it to an array of GridFill objects\r
+ */\r
+ void constructGridFillArray()\r
+ {\r
+ gridFillArray.clear();\r
+\r
+ int counter = 0;\r
+\r
+ for (int i = 0; i < numColumns; ++i)\r
+ {\r
+ for (int j = 0; j < numRows; ++j)\r
+ {\r
+ DrumPadGridProgram::GridFill fill;\r
+ Colour colourToUse = colourArray.getUnchecked (counter);\r
+\r
+ fill.colour = colourToUse.withBrightness (colourToUse == currentColour ? 1.0 : 0.1);\r
+\r
+ if (colourToUse == Colours::black)\r
+ fill.fillType = DrumPadGridProgram::GridFill::FillType::hollow;\r
+ else\r
+ fill.fillType = DrumPadGridProgram::GridFill::FillType::filled;\r
+\r
+ gridFillArray.add (fill);\r
+\r
+ if (++counter == colourArray.size())\r
+ counter = 0;\r
+ }\r
+ }\r
+ }\r
+\r
+ /** Sets which colour should be active for a given touch co-ordinate. Returns\r
+ true if the colour has changed\r
+ */\r
+ bool setActiveColourForTouch (int x, int y)\r
+ {\r
+ bool colourHasChanged = false;\r
+\r
+ int xindex = x / 5;\r
+ int yindex = y / 5;\r
+\r
+ Colour newColour = colourArray.getUnchecked ((yindex * 3) + xindex);\r
+ if (currentColour != newColour)\r
+ {\r
+ currentColour = newColour;\r
+ constructGridFillArray();\r
+ colourHasChanged = true;\r
+ }\r
+\r
+ return colourHasChanged;\r
+ }\r
+\r
+ //==============================================================================\r
+ int numColumns, numRows;\r
+ float width, height;\r
+\r
+ Array<DrumPadGridProgram::GridFill> gridFillArray;\r
+ Array<Colour> colourArray = { Colours::white, Colours::red, Colours::green, Colours::blue, Colours::hotpink,\r
+ Colours::orange, Colours::magenta, Colours::cyan, Colours::black };\r
+ Colour currentColour = Colours::hotpink;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ColourGrid)\r
+};\r
+\r
+/**\r
+ The main component\r
+*/\r
+class MainComponent : public Component,\r
+ public TopologySource::Listener,\r
+ private TouchSurface::Listener,\r
+ private ControlButton::Listener,\r
+ private Timer\r
+{\r
+public:\r
+ MainComponent() : layout (3, 3)\r
+ {\r
+ setSize (600, 400);\r
+\r
+ activeLeds.clear();\r
+\r
+ // Register MainContentComponent as a listener to the PhysicalTopologySource object\r
+ topologySource.addListener (this);\r
+ }\r
+\r
+ ~MainComponent()\r
+ {\r
+ if (activeBlock != nullptr)\r
+ detachActiveBlock();\r
+ }\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ g.fillAll (Colours::lightgrey);\r
+ g.drawText ("Connect a Lightpad Block to draw.", getLocalBounds(), Justification::centred, false);\r
+ }\r
+\r
+ void resized() override {}\r
+\r
+ /** Overridden from TopologySource::Listener. Called when the topology changes */\r
+ void topologyChanged() override\r
+ {\r
+ // Reset the activeBlock object\r
+ if (activeBlock != nullptr)\r
+ detachActiveBlock();\r
+\r
+ // Get the array of currently connected Block objects from the PhysicalTopologySource\r
+ Block::Array blocks = topologySource.getCurrentTopology().blocks;\r
+\r
+ // Iterate over the array of Block objects\r
+ for (auto b : blocks)\r
+ {\r
+ // Find the first Lightpad\r
+ if (b->getType() == Block::Type::lightPadBlock)\r
+ {\r
+ activeBlock = b;\r
+\r
+ // Register MainContentComponent as a listener to the touch surface\r
+ if (auto surface = activeBlock->getTouchSurface())\r
+ surface->addListener (this);\r
+\r
+ // Register MainContentComponent as a listener to any buttons\r
+ for (auto button : activeBlock->getButtons())\r
+ button->addListener (this);\r
+\r
+ // Get the LEDGrid object from the Lightpad and set its program to the program for the current mode\r
+ if (auto grid = activeBlock->getLEDGrid())\r
+ {\r
+ // Work out scale factors to translate X and Y touches to LED indexes\r
+ scaleX = (float) (grid->getNumColumns() - 1) / activeBlock->getWidth();\r
+ scaleY = (float) (grid->getNumRows() - 1) / activeBlock->getHeight();\r
+\r
+ setLEDProgram (grid);\r
+ }\r
+\r
+ break;\r
+ }\r
+ }\r
+ }\r
+\r
+private:\r
+ /** Overridden from TouchSurface::Listener. Called when a Touch is received on the Lightpad */\r
+ void touchChanged (TouchSurface&, const TouchSurface::Touch& touch) override\r
+ {\r
+ // Translate X and Y touch events to LED indexes\r
+ int xLed = roundToInt (touch.x * scaleX);\r
+ int yLed = roundToInt (touch.y * scaleY);\r
+\r
+ if (currentMode == colourPalette)\r
+ {\r
+ if (layout.setActiveColourForTouch (xLed, yLed))\r
+ colourPaletteProgram->setGridFills (layout.numColumns, layout.numRows, layout.gridFillArray);\r
+ }\r
+ else if (currentMode == canvas)\r
+ {\r
+ drawLEDs ((uint32) xLed, (uint32) yLed, touch.z, layout.currentColour);\r
+ }\r
+ }\r
+\r
+ /** Overridden from ControlButton::Listener. Called when a button on the Lightpad is pressed */\r
+ void buttonPressed (ControlButton&, Block::Timestamp) override {};\r
+\r
+ /** Overridden from ControlButton::Listener. Called when a button on the Lightpad is released */\r
+ void buttonReleased (ControlButton&, Block::Timestamp) override\r
+ {\r
+ if (currentMode == canvas)\r
+ {\r
+ // Wait 500ms to see if there is a second press\r
+ if (! isTimerRunning())\r
+ startTimer (500);\r
+ else\r
+ doublePress = true;\r
+ }\r
+ else if (currentMode == colourPalette)\r
+ {\r
+ // Switch to canvas mode and set the LEDGrid program\r
+ currentMode = canvas;\r
+ setLEDProgram (activeBlock->getLEDGrid());\r
+ }\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ if (doublePress)\r
+ {\r
+ // Clear the LED grid\r
+ for (uint32 x = 0; x < 15; ++x)\r
+ for (uint32 y = 0; y < 15; ++ y)\r
+ canvasProgram->setLED (x, y, Colours::black);\r
+\r
+ // Clear the ActiveLED array\r
+ activeLeds.clear();\r
+\r
+ // Reset the doublePress flag\r
+ doublePress = false;\r
+ }\r
+ else\r
+ {\r
+ // Switch to colour palette mode and set the LEDGrid program\r
+ currentMode = colourPalette;\r
+ setLEDProgram (activeBlock->getLEDGrid());\r
+ }\r
+\r
+ stopTimer();\r
+ }\r
+\r
+ /** Removes TouchSurface and ControlButton listeners and sets activeBlock to nullptr */\r
+ void detachActiveBlock()\r
+ {\r
+ if (auto surface = activeBlock->getTouchSurface())\r
+ surface->removeListener (this);\r
+\r
+ for (auto button : activeBlock->getButtons())\r
+ button->removeListener (this);\r
+\r
+ activeBlock = nullptr;\r
+ }\r
+\r
+ /** Sets the LEDGrid Program for the selected mode */\r
+ void setLEDProgram (LEDGrid* grid)\r
+ {\r
+ if (currentMode == canvas)\r
+ {\r
+ // Create a new BitmapLEDProgram for the LEDGrid\r
+ canvasProgram = new BitmapLEDProgram (*grid);\r
+\r
+ // Set the LEDGrid program\r
+ grid->setProgram (canvasProgram);\r
+\r
+ // Redraw any previously drawn LEDs\r
+ redrawLEDs();\r
+ }\r
+ else if (currentMode == colourPalette)\r
+ {\r
+ // Create a new DrumPadGridProgram for the LEDGrid\r
+ colourPaletteProgram = new DrumPadGridProgram (*grid);\r
+\r
+ // Set the LEDGrid program\r
+ grid->setProgram (colourPaletteProgram);\r
+\r
+ // Setup the grid layout\r
+ colourPaletteProgram->setGridFills (layout.numColumns, layout.numRows, layout.gridFillArray);\r
+ }\r
+ }\r
+\r
+ /** Sets an LED on the Lightpad for a given touch co-ordinate and pressure */\r
+ void drawLEDs (uint32 x0, uint32 y0, float z, Colour drawColour)\r
+ {\r
+ // Check if the activeLeds array already contains an ActiveLED object for this LED\r
+ int index = -1;\r
+ for (int i = 0; i < activeLeds.size(); ++i)\r
+ {\r
+ if (activeLeds.getReference(i).occupies (x0, y0))\r
+ {\r
+ index = i;\r
+ break;\r
+ }\r
+ }\r
+\r
+ // If the colour is black then just set the LED to black and return\r
+ if (drawColour == Colours::black)\r
+ {\r
+ if (index != -1)\r
+ {\r
+ canvasProgram->setLED (x0, y0, Colours::black);\r
+ activeLeds.remove (index);\r
+ }\r
+\r
+ return;\r
+ }\r
+\r
+ // If there is no ActiveLED obejct for this LED then create one,\r
+ // add it to the array, set the LED on the Block and return\r
+ if (index == -1)\r
+ {\r
+ ActiveLED led;\r
+ led.x = x0;\r
+ led.y = y0;\r
+ led.colour = drawColour;\r
+ led.brightness = z;\r
+\r
+ activeLeds.add (led);\r
+ canvasProgram->setLED (led.x, led.y, led.colour.withBrightness (led.brightness));\r
+\r
+ return;\r
+ }\r
+\r
+ // Get the ActiveLED object for this LED\r
+ ActiveLED currentLed = activeLeds.getReference (index);\r
+\r
+ // If the LED colour is the same as the draw colour, add the brightnesses together.\r
+ // If it is different, blend the colours\r
+ if (currentLed.colour == drawColour)\r
+ currentLed.brightness = jmin (currentLed.brightness + z, 1.0f);\r
+ else\r
+ currentLed.colour = currentLed.colour.interpolatedWith (drawColour, z);\r
+\r
+\r
+ // Set the LED on the Block and change the ActiveLED object in the activeLeds array\r
+ canvasProgram->setLED (currentLed.x, currentLed.y, currentLed.colour.withBrightness (currentLed.brightness));\r
+ activeLeds.set (index, currentLed);\r
+ }\r
+\r
+ /** Redraws the LEDs on the Lightpad from the activeLeds array */\r
+ void redrawLEDs()\r
+ {\r
+ // Iterate over the activeLeds array and set the LEDs on the Block\r
+ for (auto led : activeLeds)\r
+ canvasProgram->setLED (led.x, led.y, led.colour.withBrightness (led.brightness));\r
+ }\r
+\r
+ /**\r
+ A struct that represents an active LED on the Lightpad.\r
+ Has a position, colour and brightness.\r
+ */\r
+ struct ActiveLED\r
+ {\r
+ uint32 x;\r
+ uint32 y;\r
+ Colour colour;\r
+ float brightness;\r
+\r
+ /** Returns true if this LED occupies the given co-ordiantes */\r
+ bool occupies (uint32 xPos, uint32 yPos) const\r
+ {\r
+ if (xPos == x && yPos == y)\r
+ return true;\r
+\r
+ return false;\r
+ }\r
+ };\r
+ Array<ActiveLED> activeLeds;\r
+\r
+ /**\r
+ enum for the two modes\r
+ */\r
+ enum DisplayMode\r
+ {\r
+ colourPalette = 0,\r
+ canvas\r
+ };\r
+ DisplayMode currentMode = colourPalette;\r
+\r
+ //==============================================================================\r
+ BitmapLEDProgram* canvasProgram;\r
+ DrumPadGridProgram* colourPaletteProgram;\r
+\r
+ ColourGrid layout;\r
+ PhysicalTopologySource topologySource;\r
+ Block::Ptr activeBlock;\r
+\r
+ float scaleX = 0.0;\r
+ float scaleY = 0.0;\r
+\r
+ bool doublePress = false;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainComponent)\r
+};\r
+\r
+\r
+#endif // MAINCOMPONENT_H_INCLUDED\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<JUCERPROJECT id="X7eXs7" name="BlocksMonitor" projectType="guiapp" version="1.0.0"\r
+ bundleIdentifier="com.yourcompany.BlocksInfo" includeBinaryInAppConfig="1"\r
+ jucerVersion="4.3.0">\r
+ <MAINGROUP id="msZ9DB" name="BlocksMonitor">\r
+ <GROUP id="{2C318C74-6596-8102-3CA6-602595447F25}" name="Source">\r
+ <FILE id="Tw2mMp" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>\r
+ <FILE id="lyGFuY" name="BlockComponents.h" compile="0" resource="0"\r
+ file="Source/BlockComponents.h"/>\r
+ <FILE id="bXevSG" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>\r
+ </GROUP>\r
+ </MAINGROUP>\r
+ <EXPORTFORMATS>\r
+ <XCODE_MAC targetFolder="Builds/MacOSX" extraCompilerFlags="">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksMonitor"/>\r
+ <CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksMonitor"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </XCODE_MAC>\r
+ <VS2013 targetFolder="Builds/VisualStudio2013">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="1" optimisation="1" targetName="BlocksMonitor"/>\r
+ <CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="0" optimisation="3" targetName="BlocksMonitor"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </VS2013>\r
+ <VS2015 targetFolder="Builds/VisualStudio2015">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="1" optimisation="1" targetName="BlocksMonitor"/>\r
+ <CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="0" optimisation="3" targetName="BlocksMonitor"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </VS2015>\r
+ <LINUX_MAKE targetFolder="Builds/LinuxMakefile">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksMonitor"/>\r
+ <CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksMonitor"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </LINUX_MAKE>\r
+ </EXPORTFORMATS>\r
+ <MODULES>\r
+ <MODULE id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_blocks_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_core" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_events" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_gui_extra" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_opengl" showAllCode="1" useLocalCopy="0"/>\r
+ </MODULES>\r
+ <JUCEOPTIONS/>\r
+ <LIVE_SETTINGS>\r
+ <OSX/>\r
+ </LIVE_SETTINGS>\r
+</JUCERPROJECT>\r
--- /dev/null
+# Automatically generated makefile, created by the Projucer\r
+# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!\r
+\r
+# (this disables dependency generation if multiple architectures are set)\r
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)\r
+\r
+ifndef STRIP\r
+ STRIP=strip\r
+endif\r
+\r
+ifndef AR\r
+ AR=ar\r
+endif\r
+\r
+ifndef CONFIG\r
+ CONFIG=Debug\r
+endif\r
+\r
+ifeq ($(CONFIG),Debug)\r
+ JUCE_BINDIR := build\r
+ JUCE_LIBDIR := build\r
+ JUCE_OBJDIR := build/intermediate/Debug\r
+ JUCE_OUTDIR := build\r
+\r
+ ifeq ($(TARGET_ARCH),)\r
+ TARGET_ARCH := -march=native\r
+ endif\r
+\r
+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules\r
+ JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0\r
+ JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11\r
+ JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt \r
+\r
+ TARGET := BlocksMonitor\r
+ BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)\r
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)\r
+endif\r
+\r
+ifeq ($(CONFIG),Release)\r
+ JUCE_BINDIR := build\r
+ JUCE_LIBDIR := build\r
+ JUCE_OBJDIR := build/intermediate/Release\r
+ JUCE_OUTDIR := build\r
+\r
+ ifeq ($(TARGET_ARCH),)\r
+ TARGET_ARCH := -march=native\r
+ endif\r
+\r
+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules\r
+ JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3\r
+ JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11\r
+ JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt \r
+\r
+ TARGET := BlocksMonitor\r
+ BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)\r
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)\r
+endif\r
+\r
+OBJECTS := \\r
+ $(JUCE_OBJDIR)/Main_90ebc5c2.o \\r
+ $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \\r
+ $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \\r
+ $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \\r
+ $(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o \\r
+ $(JUCE_OBJDIR)/juce_core_75b14332.o \\r
+ $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \\r
+ $(JUCE_OBJDIR)/juce_events_d2be882c.o \\r
+ $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \\r
+ $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \\r
+ $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \\r
+ $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \\r
+\r
+.PHONY: clean\r
+\r
+$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES)\r
+ @echo Linking BlocksMonitor\r
+ -@mkdir -p $(JUCE_BINDIR)\r
+ -@mkdir -p $(JUCE_LIBDIR)\r
+ -@mkdir -p $(JUCE_OUTDIR)\r
+ @$(BLDCMD)\r
+\r
+check-pkg-config:\r
+ @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }\r
+ @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama\r
+\r
+clean:\r
+ @echo Cleaning BlocksMonitor\r
+ @$(CLEANCMD)\r
+\r
+strip:\r
+ @echo Stripping BlocksMonitor\r
+ -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)\r
+\r
+$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling Main.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_devices.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_formats.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o: ../../JuceLibraryCode/juce_blocks_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_blocks_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_core.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_data_structures.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_events.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_graphics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_gui_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_gui_extra.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_opengl.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+-include $(OBJECTS:%.o=%.d)\r
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+ EDB2A950FFE8C3AE8932A5BC = {isa = PBXBuildFile; fileRef = 00558AF4AA37DD00B15B21A8; };
+ 732F2CFE7C7968D6638BC5D1 = {isa = PBXBuildFile; fileRef = 3ABF91F41A610658F5B17523; };
+ 76FF951CD8921AFDC24648FB = {isa = PBXBuildFile; fileRef = 230ECC5997D02F79080DD55D; };
+ 008B9154CD1A3DA5E9CD8906 = {isa = PBXBuildFile; fileRef = 9D63747A1AC7F1B45F979B77; };
+ F4FE7210ADC22CB4EE3B4E99 = {isa = PBXBuildFile; fileRef = B6BDA73EB716235B26A1A07D; };
+ 924BC7B8C552402D22C30959 = {isa = PBXBuildFile; fileRef = D4DA6EE18C4F580FC8A220B8; };
+ 1D0987A356ABA1C3B4A785BD = {isa = PBXBuildFile; fileRef = B5A57064DFB2BD47270A42E6; };
+ 78281823E26AAEC18651518D = {isa = PBXBuildFile; fileRef = 836168A271F7647CF27CEBC3; };
+ DEA8C47FDE11DD9F5C6BFB00 = {isa = PBXBuildFile; fileRef = 4566EC91B27507F913B9C78A; };
+ 3601C134F7B5A1AB67E814D7 = {isa = PBXBuildFile; fileRef = 6D2AA08C51674AC355C3C4B9; };
+ 9764F74837E00A1346670B5F = {isa = PBXBuildFile; fileRef = BA32D082BA0C0C95BDB6DFF2; };
+ 409E36B0E4F619B95CBD0F9E = {isa = PBXBuildFile; fileRef = 70C687011AA5142190BB5634; };
+ D2EAAF12976946EE8C45FB0B = {isa = PBXBuildFile; fileRef = DE1AA6017CEF48540B7D5521; };
+ 1AED1945B3F869251C0AE961 = {isa = PBXBuildFile; fileRef = C0CE2DBD3E07E03623F29618; };
+ E17C689ADF6944C5DBFB87FC = {isa = PBXBuildFile; fileRef = 5D4BEFEC0E129949C58876DD; };
+ 09AD8FE14AB25476E5B895F0 = {isa = PBXBuildFile; fileRef = 1559C4DCC579423B1A05CF89; };
+ 8DCEF084990118E5E8781096 = {isa = PBXBuildFile; fileRef = 830F7516AA78496143854C16; };
+ 3A0447CE74DA2F6F547581E2 = {isa = PBXBuildFile; fileRef = 7BAF11556203D550CE5E1560; };
+ 7D8C07117F2E674F24031D72 = {isa = PBXBuildFile; fileRef = 9B6EFF388E31F7E480380796; };
+ C8DA641BA677BA04FD298869 = {isa = PBXBuildFile; fileRef = 993004BB53091A0FBEB0E418; };
+ D650FA605147B0260A8A94C7 = {isa = PBXBuildFile; fileRef = 787FCE42F8EFF4F62B69363D; };
+ C38A78F09BFE9B4378FF23C0 = {isa = PBXBuildFile; fileRef = E6D09BB9A4D7592AA53FA63C; };
+ 86C00C6333D9F12FED7C221A = {isa = PBXBuildFile; fileRef = EF02685FDE72675F4B750650; };
+ 3FB72C8D23D5F6CB77C88C63 = {isa = PBXBuildFile; fileRef = 5D456364DF7A1A1C1CBCA1F0; };
+ 00558AF4AA37DD00B15B21A8 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BlocksMonitor.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 0063493D90122A5E9F9000A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
+ 007566E450CC50CB63D1C11C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; };
+ 00D6F7A03576F399711D5ABC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 012B74A5BAF1F975F4A0C648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LEDRow.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h"; sourceTree = "SOURCE_ROOT"; };
+ 012EF1197FF04E76BD620071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 0138E84BEADF91E11BF423E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
+ 01B2BABD6C54666254257CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
+ 01F94B27ADD4198E3CC15C0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; };
+ 02148EBC074DA2992CC96E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 02633833709D15831BB6A4B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 02B1467586FBA8F5C471CDCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 02CE3CA00AB6A0E0C6EA7C45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 031D1BC4C76359BA17663E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 034E4F3996519B2624117798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PhysicalTopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ 036AB53DA1FCBDB74F591CC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 0377FDB5BDD3EC08C3F83FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
+ 03AF279CB4C8AA1B917C9E6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
+ 04185482CCC0316BF46B2DC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 044402CF33BF673FD4FE541E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0460787CA1702E4A267536CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 04874C168F8DB8B3661AE099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
+ 0496A10293C6532DB2889643 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
+ 04B6090AAC1B334B1F121BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 04C07E0DE8225D8E6F791D96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 04D3FE9C1AC2AB770BFFE0EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 04E0627AC999CE642D9009F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0589A9A25D0130ABC2840F23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; };
+ 05F4C8ED36A49DC106309AB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; };
+ 060D039A8903F16757040051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 06497F2BEB751B1840F27F62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0697A131C2572A76CBC3A2D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 06B84EC6276C82A50AA87A78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 06BB9F1EBA1172275FE5413D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 06EC101285EA08EEDDB65F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ 0717F6008681C056FF92AE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; };
+ 0721D51684D1E4BEAF849793 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
+ 078D0122C02815C45F14E220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
+ 0798ABC473768B7DA59020BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 07E12DE4ACDC0607DB48477A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; };
+ 084F07B2269A72130EDC450D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; };
+ 08C26B85297999984DECB587 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 093309B3FE42407C9C80EB2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 096474E2642303EBBE13AD4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
+ 09BB66CFEE9A832CFCF2CCD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 0A268ACBB1D36A862A755465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
+ 0A7A9EA59E25C13CB9C14A7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A986A71F3920D38E7D88F58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0A9B3441E4C766603206171A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; };
+ 0AA6BBC6867F7EEA5C10722A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; };
+ 0B3FBA4C1CFF6D65E98AEFE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0BB1CC68B7BB505B480D6174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
+ 0BB1F767785BA329DAE91DBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 0C338FC94EF538E20E3BD3CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 0C59026808740853C23AE185 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 0CC5574662C83E89FB9A4F6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D5C830BBE28DBA8795B10DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0DA6CC35E4AFC202C7D5298F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0DA6F88B400D1BA27A9EF72B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0DE80059716B40D2D9BBEFC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0DEF8B7D54BF56ED8569D690 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0E18DB38D8B88859C5D16D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ 0E204D9C847CEC5AE4391ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
+ 0E4C2A01524E87834E2FB4B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 0EC222E14CC7DADB74BE6E80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0EE7D572D91B088532018993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0F40FDDE37B6B63FEA333F05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
+ 0FBF55B74F1BFBAF8F670E2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
+ 104CA8597373932F80F25354 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; };
+ 104FFDFF6CC57A7630FB7EAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 1072ED1E4C961324C65D3305 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
+ 108582FEE483C0EAE1FF767D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 10AAEECABC6BA65A3D2C4933 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 11A1987734275CA22120DD49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 11D3E71143E92D6D541C2E68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 122B74F324719CFD9425A135 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
+ 12B073CF9C72D46B540CB899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1311A028E6551920CCB23899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 132DA30E80054A4CB1682F5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 134A859AAAD880C6CA78BA16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 135A4D01694084A7B641D217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; };
+ 137382482B888F9A1245CB52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 13B537AE02190300E0DA5322 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
+ 13ECF6CF71CA92E4E1F845C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ 13F0C5C5B5775E09051D19D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 148AC48B82DFEC98FECBF5AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; };
+ 1520C6D07978AEAC58F684F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 15494D9F18EC8265BBB4BA44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1559C4DCC579423B1A05CF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 15BEE6B9299B0E97F16C07D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 16118DB20238C2B904A3FDA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; };
+ 1655D2F156B917E893A29FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 1673C95BCCE19C8F4664703E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 16E132B11E1648815CEFF729 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; };
+ 1719057E5D9514D7DD88DEB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1758DCBCE1766DA3968BEC1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 177856ECCAE5F779DB31EBCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
+ 17B2AAE117564DA4933B70AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; };
+ 18319D005DF6998885AC677F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
+ 184CE8BA435703F28975DC5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; };
+ 18828011791118DF6440C6A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 1896F7A05A4372B4247C34A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; };
+ 190BFEB9E9811F1D73306F79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; };
+ 193954F9CF9005014377F9FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 193EE3A9C056FB7BFD83667C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_blocks_basics.h"; path = "../../../../../modules/juce_blocks_basics/juce_blocks_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ 19482F63E164192F9C0CC655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; };
+ 197D3D704A44AA39F3F92F1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 199FB84B17D7610C48A08C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 19BF72ABEB3B9D8D776744EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; };
+ 19CDD6C2AE371BE31174D5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1A54156E7F0715AA90652992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 1A58C7E03F2C3D22E356E817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1A9FEB70EB440AE3B3BE52D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B3FB995CF83C1B588F8F9BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B6684D65B3AF31CAB4D7B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ 1BB1E8928FBEB3F72621F2F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; };
+ 1BE918CC1F7F26F93A4B8EC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; };
+ 1C024E345C38DCAB8D0BE6F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; };
+ 1C14BD4230F9672D9AE44BFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1CC0B58D7AEA47DADB041C96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1CDA4FD4B1B51222AEE6DCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; };
+ 1CF24016C5884A75DE865988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; };
+ 1D0E04EA23573F4C5199DFF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; };
+ 1D9A7BEB060662FBA38DF385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1DC75AA5AD6118F35371BDB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1DCD9527835FD4771E959818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; };
+ 1DFD35C6D473DCAEE12C18DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1E5474F79E3971C77F173C21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; };
+ 1E614A63C2C2AA7B858DF4C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1E78B98A70BD5E14381302DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1EAF33874D8D4F13676C412C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BitmapLEDProgram.h"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ 1ED66F4F7C1B6FA4369A8E95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
+ 1F58F7262450884A7E6BEF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
+ 1FEB7C2AD69F03FD21C04CD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 1FF09BE12A8EE7359DEB6A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 200E7992C80ECC1AE74C9468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 20352597FF0FD0A4B487CCFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 20AFC08D3825F8F1EA4C4352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
+ 20E50B7CC91B87CFA1CC8C17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; };
+ 2116BBCD560828B835577E82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
+ 21479ABF74938D58A8859E57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 215273F35854D93D4684F590 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 215A5B82922A9A95F68FE7BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 21E9D0E35F84BCF5897B262C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 222A183111DEA8A63599510A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BlockComponents.h; path = ../../Source/BlockComponents.h; sourceTree = "SOURCE_ROOT"; };
+ 226BD1CCCAD60DBD0167568E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2282324E575678E8837470EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
+ 22866A3227D44A6B5CF577F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
+ 228C128F3835E988917C908E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
+ 228CF6C968876BDA6ABC9242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
+ 22A1487B587036337AC48F11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; };
+ 22A423BB04E0A3F1C2C3CA63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
+ 22B33EA86FAB7366A914C948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
+ 22B991F37C9D185AD22048F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
+ 22ED7F3091B15731766D82C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; };
+ 23063052109C21CA6277AA4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; };
+ 230ECC5997D02F79080DD55D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ 2317A757B8847CE1AE30010F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23543D16B95632B1C14B943E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; };
+ 23C4B5A7859ACA959F99FDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 23C9352D9EEFA048506947EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23DAF49B90FB33BB97015CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23E0BB729907E348A33E996F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Block.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_Block.h"; sourceTree = "SOURCE_ROOT"; };
+ 23E572AAE21BB03B019F07EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; };
+ 243F5C11D97748ED03B760C6 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = README.txt; path = "../../../../../modules/juce_blocks_basics/README.txt"; sourceTree = "SOURCE_ROOT"; };
+ 2440CDB6EEC69DDB25DABA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2524470C265DC4C41D0F12FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 255D982E8E88EC37AF5D58CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 25616CCE492D37070C5FCBFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; };
+ 259877493D9B71079446749E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 259D44F4C84C586F476BBA0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; };
+ 26083ECFA60A676C6365DA3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 263C2C63172A2793CE67D3D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 269A9F80899756D1F87AA82D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 26D37FF39DEC1AAD1AC03A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; };
+ 26FC7D9E7E5BB2D4535FB0CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 271866450733C15873B1E46D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ 272EA32D51A8C8AD73A45D9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; };
+ 2736B4003A6B1E2AFB5B0F60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 27609A10FE09083D4C31AC75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 276FEE4DBCB6806D06E959BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 27957B112247D501D6B6FB8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; };
+ 2799B7075032596236A1A6C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 287298405BC363E9C2492200 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; };
+ 289FA55DC2B007BF300AA35E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 28DC9D131B0DAEB78CEA016A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 28EA90843E65FB432CDF2329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
+ 2926E85AC4A3BDBC357DADA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 296E767F3EC21EEDF71AACD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ 2972426DAB18DB5F584BC1E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2973E5E96EE07B12B06E4901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
+ 2A1D123CDD681C79A4830CD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexBox.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 2A28AB08780C76D52CA8D732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2AAF0E53F74A1B4AD7B0684A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2AC4F829CD8C78F19827A695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 2ACDC9BC9FB57E955B8D2811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B64FDC069A6D6C03128F3C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B6844B8253422926CF12456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; };
+ 2BAB647B7DA103003A8A11AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; };
+ 2BC6A9CE84273433047F4C50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; };
+ 2C126377CD039D5D20DF0090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2C7B8BA92ACDE7200C096AD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2D0232CD6B55510B10D2D04D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Block.cpp"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2D2C6DAA3B50438E63266771 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
+ 2D583C31EE6E9A5D8ACD988F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E3883BEB89636D207BB88B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E667E8E327AB96B7E56BEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E735512175F5ADD2853D83D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2E7B68565DA034DDCF34573C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2EA0BA49F0FEBB8B4BBEE3E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2EA29D7871008E52A033BE16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
+ 2ED4E37632885A949CCB9BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2F03461E6CBD4354FE073460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2F407D57D8476238C54F8112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F6F34739BCD0348BAC4D5BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F7EBCA1222D6D2E4B89FC2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F85284E588516584213B5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
+ 2FAF11C9F6C314A36C879445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 2FB1B8992C3497C5EFE0EB53 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; };
+ 2FB361FFB25BD8EFB6160374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
+ 303AA74F7D9B6F2E8804A2C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
+ 3067E2B75D1E66CAC8DD65C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; };
+ 30845B589D24B592C853C93E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 30B2BDB16DA4D564F64D5CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ 30E6F8EE669C2F151A9F2956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 31531D45E19AEC8E3EC90C90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 31AA33CB3A5577B36EE0017D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 31F899D8732CEAF956AA7A72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; };
+ 321F587832C3C6C024BDD0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
+ 3228E413B22DEEBDBA7ABF83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 322BA1353F7CA1DDDE9CAA4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; };
+ 3284EB2D81A682511A78D1AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 332586DA099D853A0202054A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 335219963DCBA3F85AC6C232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 33FED0E86133FA3439FCA42B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 340CD5C7C9744CCCBE3AC335 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; };
+ 340EA1B2263C37EC8A7B6014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 346470CBB2B9F42E9CB6E7C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 34A09EB72E861BC2E41CF66E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
+ 34A1D01D8C72A0B39C0CF6D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 34A1DB27664840651D853100 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
+ 34B3D0B92C86C84AB27BBE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
+ 352E7E01ACE857617C20A3E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; };
+ 35656731DCD6703896CEE2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3568F7E50F7858A1B6279DDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; };
+ 35A297789A17E01FBE82827F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TouchSurface.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h"; sourceTree = "SOURCE_ROOT"; };
+ 36AB1E409836F7CDCD24CE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 36CA5FBB8A3CE191E952D894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 36D79F468C67AF3D0B800E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 378D773196595D931B25B784 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ 38034209A283D7F8D56B5E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 38448998E8030347F182B334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 3851E8BB5BD4F284C8489033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; };
+ 38A03045629DB69AE42D4206 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ 392CEE74B1D96166F05D02D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 3986436BB1332AA00187E0BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 398873B7F0980B7D27356464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 39B450967D7D7D4B1E1ECED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; };
+ 39D9DEE8F862C43CF6F4DA7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3A56A49F2C3025A4E7E74C35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3A5708787015E10D959ED324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
+ 3A648036804F8E2D52E5B60E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 3A795BC053BEA2428052FEBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3AB83A04D08F2F329AB81AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 3ABF91F41A610658F5B17523 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ 3AE6DEF29143AA3E59CEB1DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B2A1B51E2C33786098AAE49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3B4E0B86B77DC40F15FB3F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
+ 3B63BB4D108A10D0C5FECBEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; };
+ 3B9D6C4308A396C6953A2B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3BD3060E486C89B438B21F43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3BEC5630096C646AACD87205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3C03483C05460B67987EA712 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
+ 3C43BD70ACCE68D03688BBBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
+ 3C5760CD990742E382358250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; };
+ 3CCEB87B02CFD73B01FE5E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
+ 3DA85B078D53F40F9AE66620 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 3DE8B0B99FE443C92EE32CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3DFE53F6F99C7D51A8032CB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; };
+ 3E176A88BA217ABC03C93CD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ 3E17AE4B984D9E4083124600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
+ 3E18E1893DB1F592952F6E8F = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "LittleFoot Language README.txt"; path = "../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt"; sourceTree = "SOURCE_ROOT"; };
+ 3E2249E2AB8DC6FDCC87F9BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3E7005B5E5C7E2B1EE1FEA55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
+ 3E85FF93FDA0C5C93F8EE3FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 3E8E3CBF730E14A6EC9BEF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; };
+ 3FFE8EE77F46A343C6D7464E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
+ 40096AE757FEA9F663BF88B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 40B2DF2617C73C0928FF7D93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 40BCCE9C782DBAF6459C3EDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; };
+ 40C17131B384BEEB66A4FAB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 416061525348EB462B1603AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 41641B5371BDC760981FDF9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ 418464056E84CF38CAE498FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
+ 41AB492EEF462863E50AF460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 41B259559A84E4D37B411E9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 41EA8B9F834209FF197ECE40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 4227DAE98212844575D0D944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; };
+ 4231BEF0941784C4F2CDF362 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ 424E6E480FA0C70D02DF349A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; };
+ 42D58F7C9468DB8F354B353F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
+ 4307B791E5DC631C9447D24C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; };
+ 434FD5F26F8F5052AA287287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 43573D003FDD2FEA313A8B2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 43AF9A4E676708B5C9B936DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; };
+ 43BB607E9D1BC08AAF03B711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 441A0BB8FD08721B0768A41C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 448196AC5604B89ED7BC2086 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4490CBDB4F5B394BC4C8E22E = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ 44ECB2E8A37E35CED1BDEB44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
+ 451702B185B088648F14A833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4566EC91B27507F913B9C78A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ 457AE3EFAEB98FE93CEB0ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4581D33463D9A6F637E8CDD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45DD050BF036D8362025CC86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 46A6F1936584ED15D40366DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
+ 46AF0A703258AEE24688FE5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 46EA57BC815C91944C720D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 4765710DC062B04830654235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 47787A636075A669F8FFA434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 478C6A7FDD7B257654B67B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; };
+ 48037047F1CC53BDB2CBF2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4840F2FDA6C6A3E0CA41FA3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; };
+ 4846DC8E7DFB0B17B0FCFF60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 4860027F79C430D081214B03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 488FA6954BBFB6694C21AEB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 48FC93C2649A6B6B478AB4B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 490E933166E75FBF2163CAE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 49294AB2D8C5CCBBE763EA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 492DC3C535B73B14A707133A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 4986E10C464822F15B91C7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 49D0C33F5968B4B16D73521F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 49E68BE55F02C76D1A39B8E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4A46906896AD28D34B0218F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; };
+ 4A65ADBD6816BF0C9FE56E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 4A78F089AF9BAFC1586AF196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4A7D2BA623D3A1DE6B99DF1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; };
+ 4A7DB9A482CFE6B1FCCA6174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 4AC6C62FB545839E566D0FE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; };
+ 4B28F11FE91DFD5341610403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 4BE7254995C059C494538C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlockModels.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h"; sourceTree = "SOURCE_ROOT"; };
+ 4C512E6E088C4B973E866756 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 4C9BD4A188792CD1AA04D76E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4D2D9C398522FA01A9FFFCBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4D4461D4DE302DC06DE22D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4D69C440B571531C56B12E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
+ 4D84F3F6235C49D0ABAF4885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4DCF8D8075DD05492643A922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; };
+ 4E8EA77D5F1F16096D60F3CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 4E93F48CAB3C538054B0D9B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; };
+ 4EDEDEAB7029C5B5C2A63A15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; };
+ 4EECFA337A245BA2F32FDE9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4EFDE9EEDF6DA6E5A066F2DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ 4F2671111CAD35AA9A14E50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 505900B3A9C3E0EB350784F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; };
+ 50FB808D07149E5872D146C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ 5122839D8D39723AA8BFBC70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 515145EF420E45BB7E0402C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; };
+ 518466F491B5DC8B80063C73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
+ 5236F7786FD9BFC43D9ABD94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 5247BE9855469B053C368F24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5289927ABB985AA0C17AFF50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 529810AFE34B3B173DF7E89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 52C4BC3D28F8184BC2F6B022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 531078615D14BDA90A50AA53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5321E4A1DB897A2B7CF23AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexItem.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h"; sourceTree = "SOURCE_ROOT"; };
+ 5329122490F95D7339752A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 53C70300D106400F1AF2C123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 541BEA0E11518594C696094F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5467983B508645F3246CADF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 54C8D084F87C2B0A407CB3A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
+ 54EB9618ADF1901432C2345F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 54EDF505CD9D19D1FD59D612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; };
+ 54FF63024B2057CB82A3009C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 55EFBD6183E831FBD8826325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5634188A865D1AED86FC1030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5687068AA9A10610CCCAE92C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 56A2B221F07582C3693CFABC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 56E56C2AB629F7288EFFDF99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
+ 57436F09E9FE1CB619681DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5779480339AAA112A12315A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
+ 57BFD80A8E5673123D9004B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; };
+ 580B644027718870A081DC4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 58880E117B1FCE6771ED958A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; };
+ 58C7100720C49C23EA841B13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5901AE44435BBEA1841F2028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; };
+ 593FDB1011C838F5CB25E6A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; };
+ 599F21A262B43F26B31A0137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 59DBC804E4110F9FCDDAB23F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 5AC1394BDDA0F1C11051F763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 5AD9E3796F5E585A81810A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
+ 5AEA510A742A1D7BAF22EC41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; };
+ 5B3703950FC13A76F07CC0B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5B9750AEC9BF60E5C75D6F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5B9F3AC6C97B813BB96F9C07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
+ 5BC395EBD64E8CAD3F608735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5BD41E05243398FB26BC8041 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
+ 5C67296AC2E94992F244B1A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 5C843AB1BC6467611517390A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; };
+ 5CD9180E4223F79C65313EF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5CF0F5458B69B697F084D1CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ 5D456364DF7A1A1C1CBCA1F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5D4BEFEC0E129949C58876DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5D55891DEDD0EEFA6F294941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5D55C700506847B0C3E7992A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5E0AA1FA0367D0B8D32A5FDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5E11C3AEEEBFB5D3ACE79B2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
+ 5ECB1585CB10B6336F35039E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5F2ABD15045B9C2D45BBB281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 5FB96EBC6B8E73E76F2C2D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5FDD76A98FDD6FAD2CB88606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; };
+ 5FEDA06DD9D390733743ED0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5FFD4BC1A7EB346271391205 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 60001B432129FD5855629F3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; };
+ 601F5CB6345EC149C773CAEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 60200D25748FFB8436112D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 604CC1744C3DFD07E43F6A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; };
+ 609A9DCD9B58779BFE402BBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 60D50FA5390DEADA129CBD25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
+ 60EEA5E3658D36513E1A25FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; };
+ 621C85154E8537D98DD550D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6259E41DD05DF414BFAEFF1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 62D3C5C70DDBEEE7E16DD1F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; };
+ 62D3CBF544E4AB48E11D77E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; };
+ 63A0B0B37AAB0387A610F6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 63B20B7D5AB4BA7C645F10AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; };
+ 63B8C5F0192F2C0767C38B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 64045131E5C2BA8A8DE951BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 641322D5C3949AED6682C101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 64DFFD927FB3D86B97E36EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 64E3E6EDAFEA1CE0C515588A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 64E5B84F1FA947FA88171033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; };
+ 64F35E547771BD3A4ABFDB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 6509144104CFCCC2661C84AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 650E5906E5CAAEABABFEEE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 656121CD59DA8E95455ABC28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; };
+ 65E03D29E9BA76F1CF344B75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 661EF1C85FF1D2B6070163EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; };
+ 66AE29E32EB365E37B34FDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 66AF1158C662CB915EE1F216 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 66FEE3D850AB3A3D9FACAAE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; };
+ 671BC724698C6A4A159738A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; };
+ 67606EF1CD1DDF9D69C93DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 676856EAC9E9FFB013E6B910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; };
+ 678100D85EB6578B7390BE6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 67C85156717AC5DD60AD4279 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; };
+ 67EE78D1C669F6DDED31CB39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 680095499A49102EF1B7F3C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 684A7466DDEA4CA1F785AAAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 687551D7CBDC73E3D249A30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6897A03FBCF6F3E3FE02DD69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 68C49A6E9109C5F448289C25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; };
+ 68F432AE5DFBDF416D381D69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 69571EA44314BEC40565D70D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 699EFC7DCE06711BB6C07F36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; };
+ 69AC4DA97DAF6291FB4831EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
+ 69B3DA0D93EFA18D005D4BBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A194777720E39F99CEBDE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A5C7073E616E3C027C7298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A84B8A22E5DA1A769CCC18C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A88B631279A877CBF1EE8FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6A95798F17AF7D10D2677BD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6ABDB6B3BC707D5EA4E754E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
+ 6B130B8EFF75E1ECF0E20F21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6C0699AE325D1A41FB8CC560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6C2B97454AB4AD2B7BFE0776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; };
+ 6C3BD063682D8A97CE28ED2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; };
+ 6C3D05CB8D915E9E8C1286EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; };
+ 6C75E5D335754A26EDB64C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; };
+ 6C783023901E82078E0F2435 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 6D105609475B730F812FE7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 6D2AA08C51674AC355C3C4B9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ 6D665D953ABA975CDB21318F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; };
+ 6DE2EDC2238B94B55FA5167C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
+ 6E0317C6D582381E18F6FC28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6E6A0A28D29F9CE5A97D9603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; };
+ 6E77E7974D18C2A3889C94D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ 6EB3442488752F0077F61CFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; };
+ 6F303FBDC38398256ADA7BA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F4AE6971D02991BCC1B7F1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; };
+ 6F4E9231B5C05BC368C3450E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F6F12174D4A4E4D1266894F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; };
+ 6FACB6671DF178C374D288C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 6FC15D6A4868FBA38C374110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; };
+ 6FC3B994387E6EDAF2BDEE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 703BF13C50FBAA0690EB819D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 707DD628F538166D4733876E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 70A3109F4B0C80AA941F513C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 70C687011AA5142190BB5634 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
+ 70C841CF701E3FB91C81E547 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; };
+ 70DB5546A7436EC8159F7825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 713A0BDC7ACC4F399C378A0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; };
+ 716E7225D1FAE92136DDE91A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 71E11286C74E10382B85CAF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 721BC1EF4670F969B327BCFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 72300583DCD807FB8965116E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
+ 72CC4E382F4DD97DE7D2265B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
+ 72D5B90B3F201DE61EFF5904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 72D97C35265816BF84B17A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
+ 72F093BD43569F666B148B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 731A4FE5C9250FE1D83D2008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
+ 734EDE0CB353BEB637FB28DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; };
+ 7352B3C338D6C18D80BA03B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ 735B02968773FD74934EC9B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
+ 737EA145B8366E0A55A8D6A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 73EF2B898A07179D14B9EE08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; };
+ 7433092862D26C58AF93AE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 752759743BA54E6A4E34EBC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ 7533170247A4B5A10D70246B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 7597CCE58D1B95FB4342EA91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 759D310E427CAB584332F916 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
+ 75AA9C6E3FC6AAE881B93CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 75F17FFBBC74680724103F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 76374244710CA4A53830D7E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; };
+ 76597C68627FE0AF43DEC454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 769FABFC14A17F7AC2BBC65D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
+ 76DB19422D33EF95B030AF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; };
+ 76F731D0553785FDCEC0CCC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
+ 770D1A48C625E77273E34C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
+ 7736BA69BFD6B79E44DCF9D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 77847C660F3D9562BD1469FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 779FC2189E09A0B4A15C45F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
+ 77D91228977E55D6C4D6C97A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; };
+ 77E856C4EDFB5608F03EBC99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 77F678CCA2C005969380CA48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; };
+ 78329D02001CA45058DCF1AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 785C1C92060466C4968202D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 78655006F91EC8E5C99A6991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 787FCE42F8EFF4F62B69363D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 7890A2750EB787AEBCA75F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 78977B6BAB87C72BE8A6825A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 78B2E56220F1F3D0E9C06FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuleBasedTopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ 78D3A157D1DCAB72DC7D4FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 7991C45FB3CCD45D46A7EBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
+ 7A5FADFA9A6CF71D5D2B9FC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 7AB01CF3ABEAA9948DC8E0F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7ADB824594D23926754D9ABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7B121FD3C6971459B5EC4DE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B844571D08EC929B21A5ACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; };
+ 7BAF11556203D550CE5E1560 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ 7BC44A73343EBF0012783283 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 7BD3D12701E20AD0509702C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ 7BF8065AC65F92C392CDB058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7C137769611C5A269332467B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7C145A4C116A743CB8D0624F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7C164C4F47469F58BA6DCDD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; };
+ 7C22E5FD3C91AB34CB539E2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7C3158B229AE5B18BAD208FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PhysicalTopologySource.cpp"; path = "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7C955BABA03F3EF1E19E178E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; };
+ 7CA69469B3AFC9137FB98243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ 7D272E58C41C4B21A689C487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7E4D2E09A56241058D485070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7E4D7F844737CE5D8C9BD1CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; };
+ 7E5C701836EE0E311AE805B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7EC2BB0FBA7BEC433B901162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 7F0EFEADDCDF0B8C3BD1278B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7F5A0B43EA4CE0599C30637B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7F615DFC87CDB7F78660077C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; };
+ 7F81AFE4D54AA74B17E81899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8033E71C6724106F16F7FC35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 8056F5AAE245F445D1F5FA26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
+ 8079D10F25DE8A660DFD7F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 80A162921EA7B00DF95B9D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; };
+ 80D52462F8B49C3D1FBB6349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
+ 80E4BC98EF30B463FCBF95C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; };
+ 810D7E7AC4E48A67AB84B75D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 813AE492EA6457096991918B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; };
+ 814F764F531DA3B45B982764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; };
+ 816E973AAA295DE63DEBC95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 818FAF2D047AE69BA11091D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 8195E5CA20B1E6DE88148B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 81F5049B4903492A6902FAE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
+ 8221F414FAE8FBF996CBF033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 82CD7AB6C8788920318BFFF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 830F7516AA78496143854C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_blocks_basics.cpp"; path = "../../JuceLibraryCode/juce_blocks_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 831C32DB068A571A3E99E55B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 836168A271F7647CF27CEBC3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
+ 83B3F4B22F3603CFF3199C33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; };
+ 84568194A9D160AD5459F013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 847F33928C5A70863F673938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 84A04C8B8DE6E1C4FDC3F4A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8559A01D9B969E13A40980C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 857C1BA3AF5C0210A8711464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; };
+ 85A0ABA6D4313DEAF9C7FBEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 85D8D664D73759C455C4E8DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; };
+ 8646E594783C3E937A259EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
+ 865CC068EAD0A9E54C77BBB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; };
+ 86A4BD370ED34FF4CC252A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 86C050562945072E55B2304F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 86C53DA3976331FD98DF115F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8818BE9F1A26A6F0393DF753 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 8853EE56290506D1C5B1A324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; };
+ 88EE9BAF87CBE950013CD3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8941D9AFE6BE0F15F8391874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuleBasedTopologySource.cpp"; path = "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8A974C1E78DF69BEDF4760D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 8A9F1BF21DEC92A64F468E9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B1B3FA81F246E78CB5F2D99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B4505D4C9EBC3014C27D6D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; };
+ 8C99020753B8736AEF7D04D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 8D5DB6220A070CA7C6EF649B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; };
+ 8D9598B7B36DB4A8DC7F257A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
+ 8DAD27599B4D76AA741E2F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
+ 8DE0F4ADDA1C7FD72763835F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; };
+ 8E25DB9F4F02D1EB553DD954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 8E607B1E70CF61A3B3F8B230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8E841F589CA7AAD4294FD631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; };
+ 8EE36E6294B0521F7F8FA4AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8F7A2483AB8A87ED367B8276 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; };
+ 90168C92385FFFE93633DD25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 906854E5A523A5B01E5B5E63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ 909C06CF037053D160E1D911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ 90EB80CDB45A0909C2ABDCCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
+ 911142143AB852FE25C27BEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 9118ECA920DB03C9623ACABB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BitPackingUtilities.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h"; sourceTree = "SOURCE_ROOT"; };
+ 914600CCFA720261FC69CCD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 919C366862EB3C10E5850D70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 9209F549B676E740E0B83FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; };
+ 920EC1092F93EC048706028A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 925360F7E3AA48D3AC8FC71B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 930DC0F3CD592DE7B6A6945E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 93286547177CBA88A45187FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 932D69952B622B2BCFB904AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9415AEBC23728926E143CA87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
+ 948A5AC343109E364FF586C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; };
+ 948ACEC6E5E7FB3963593D14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
+ 95521385B606A5AF9DC25621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 95DAFF093BC64C4E8AFFAD39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootCompiler.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h"; sourceTree = "SOURCE_ROOT"; };
+ 961B5BA203F6A096FC1D5221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
+ 9621212C05067BDBB1EDC4B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; };
+ 96B0988BE177AFFCCB353FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
+ 96F7798575656A87A58107DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
+ 976DD9AF4615787148AD3141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; };
+ 97AD1E50A2BA5069A53B385F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 97C4CF34A7B666E1076D8643 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9851670A2A94D090ABDCD8EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 98536B7D7BF6DCCC121EF75F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 986D508D78EA59268FADE965 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
+ 98BD14DB6D84583B0A2138AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; };
+ 9915EA36F2BC695AD5DA1FB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; };
+ 993004BB53091A0FBEB0E418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9966516477648BBFCF5B0B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 99670416B9C5B1427EFDC235 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 99ACE9D856A4E22A5BACF1F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 99D1B54C81E3B11E5A515449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
+ 9A61D74797BF0F66E4942D15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
+ 9A798AA0771301D879ACA0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9AAD723B4A3EF1165901402F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 9AB6CB5AF2F228CAC1AE63D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ 9AB80400C174A565798B4DC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 9B6A0011D68BE05B0848FD8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9B6EFF388E31F7E480380796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9B83893AFBF95FF07B65E433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 9B8C599BB498481CB64141B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 9BAE8416CA03B3EE29D0DB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 9BD70EEF4FCF2A636DAA3C48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9BEA281CBD5878DF1330C6E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9BEF8EED62BFF46A514824A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; };
+ 9C2237E651B7A187DCBB75B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9C75C797BAEC7A8B9693A06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9CD5DB53DE796873DC2EE4E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D08A5F790FC71D1BE770D20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9D45A965F9A8184B64460680 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D63747A1AC7F1B45F979B77 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
+ 9D86489534874805E5005BEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 9DB368AB3A1712F5E741DF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9DCF20D6DD5D63567ED73A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 9E742F2C0DCF21E717C69EC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9E8FB4DD69AA02041D70B749 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; };
+ 9EA3A564C2056CABF6F64F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 9EB8EAADA992AB7525B04C57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; };
+ 9EBFDCA556AB40E02BC2D3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9EC497EFAB1C323884D011FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9ED1E59E0EDEB57492B8B339 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; };
+ 9F0CD34B5E00755ED32C633A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
+ 9F8621A060D21CD4F8E52082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9F8A9B400F29F93177C13068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
+ 9FBEC2F41AEF630320F831AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; };
+ 9FF3D6166AF80343ACC2DF7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9FF679F47F9901DBEE96E2F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ A02B644EE002D5CDFDBEB472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A02D981AD55D9C837497D9DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A06FEA5708DBBF89F31BC095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ A07531AA213977EA9B7ABFC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A0A4D1CCCA84F1D6EC92D442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ A0B76982E47F6552E076C115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; };
+ A0DDE4018BE50F9FF0F6D4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; };
+ A1596463A5167EF7B3B9E3F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A212A98178DA800BC7104EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; };
+ A285CB0E88EA469C72C4C086 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ControlButton.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h"; sourceTree = "SOURCE_ROOT"; };
+ A288992FC193721FE3DB4BD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A31630141AF03CAE86F4228C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A34E3CFE305D1CC76C0046C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ A36BCC5ED3A26F2E5592EE32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; };
+ A378497FA09036F13FA411C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ A3913125232A72EF480476F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; };
+ A3B3FBDBB67F69256BA6A290 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A409C91727751590682E3237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
+ A427924174225CB14EA8B615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A49C327EA3CD090C4768925D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A4D2F92AAE55340EB431CF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; };
+ A4D97A4003659632818C71FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; };
+ A50045AA484A93660F5D0DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A572695065599E9D922B476A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; };
+ A5824D06228D6B5120269F73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
+ A59CDBDDAAB25C0621DE2C22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ A61B0324CAD4DE2A04ECAF2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; };
+ A66CEA1922F1866BA9A10592 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ A6722561E959322FC2D3F8D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; };
+ A6C807BA364341686874B1BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A6EA6620D7460A9405F56693 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A79EA78DB02B7098DE470DC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A7E2C39A7FF81AC0C2B0BB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; };
+ A7F8A897765E91543FF21D5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ A8ABBA51A3DEB23F46A5EAE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; };
+ A92093FCCEED7408744E3706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ A9711C6C2B654B0B95C93ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; };
+ A9717066C7343E734BBA14A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ A9819750A6C5E908DBE3A309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
+ AA1F66345AFB2EFA32855F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AA6CA28DA51A2BAAD979771B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AAABD4AE1DD0BB0519C4863F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
+ AAC7E9D875D6B6AA83E571AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB7710558CEE0A3C649AD2AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB86D69CE5472E765749D5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; };
+ AB90BC12E5EAC2E1A7FDF691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
+ ABA533A5D4493250568E3659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ AC8A8FB37E03EAD593C68BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ACB9D9A21F63B364C3E431DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ ACBA16D63E4470083B7CE29D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ AD2E097A960F2A4A946CF177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ AD7225D561558BAFDF65BBC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrumPadLEDProgram.h"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ AD7FCDD3AC5EF4057B4E669B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
+ ADD75823E8C98A3F7F299385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ADD9F9EB5E0EFC63E2992ED7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; };
+ AE19C39D6B958349413E5F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AE4AAFB284B168518E366EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; };
+ AED53153DA5BEE178C227DDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ AEE9960FEFED454FB6DB18A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatusLight.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h"; sourceTree = "SOURCE_ROOT"; };
+ AEFAF28C900A0DFFC5F6FD40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AF000B66A6C3683AA30FFA85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ AF11A0E66EA77FF9F426CBDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AF4D1F728B7B429CBDEDC468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
+ AFDDCF42011A661D8A965550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
+ AFE49D942B97B2FE5BF6345F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; };
+ B000E9B383585F14D4106B33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B0276417E1FCAC6415FEC24C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
+ B087CFCD5381A67E8ABE789D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B0A159D25E2692435B03ACC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B107BF03016269AF7369630B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B1657D09D3DF467A04A87E6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ B19D61C3D2D7BF60030FD1E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
+ B2015E328522144C463397DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ B213182B13BE510B8B96939D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; };
+ B22A37C8077912A763F8FAEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B29BA78743A8C82A8575D41C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ B2D8F96F3F4463D678951CD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
+ B2EA904753A758EA2A653D82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B327326ADE69CAEA4410249D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; };
+ B35985BF65A5735648F332DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
+ B37091252E2FC04C254016C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; };
+ B3A5905404A72FDE0888DF46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B3A97D5DC77DB3FD2FC5FCEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B3C5E4089AD8803D08F9067E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B3CD18208A4368D7AE29D706 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BitmapLEDProgram.cpp"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B41BF21771B358856B2C44C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; };
+ B435295F7A3969E6EBD4E9B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B46FA7622255695A963FCEA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B4E737B45F3090ECA81D34CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; };
+ B50D99789F7F83360780022E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B58ED38442F322226E81E930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B5A57064DFB2BD47270A42E6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+ B5FE94B9AE535C0F0FA1D88B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B62F00B50AC42FC2DC1ADEEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B6345846B766F695A8CAD09E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
+ B67DEB7456F7A7FE9E99F5AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; };
+ B6BDA73EB716235B26A1A07D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+ B6C06A491AB738501ACC77AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ B6F1AD93847540736A7C3B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; };
+ B70BB65A467220F7972C4FB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
+ B7EDEB203D0BB0EAE5EE555B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
+ B86B55CF411F403FBE6EDD8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ B92C211B36B75E20B97D094E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
+ B945AE13CE5FA99C9B48D98B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B979BF385FBD2717200311E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ B9C32654F4F4FBDD5B8D8371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; };
+ B9C392935DD8F5D8D0ABCF2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; };
+ BA32D082BA0C0C95BDB6DFF2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
+ BA5EBAC0C16D620D37B80143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ BAE124F36EE934FEC863965A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
+ BAE69D4E9ABF50B36C2844C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; };
+ BAF64118ACD931F4A899D18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
+ BAFE0AA564EEF3F790410FDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BB6321248114A79859B8468B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BB8D9E34C22532DC6AFDA9DD = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Protocol Format.txt"; path = "../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt"; sourceTree = "SOURCE_ROOT"; };
+ BC2B18695DB1F8287E5CD7A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
+ BC6DCFE13B8042F59C065CC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
+ BCBB30471154DD69D59BEBE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; };
+ BCD101DB744482011FB7EA98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BCF2751331F61000AA2E6D8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
+ BD290FDCC12F4ADF00DAD43B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BD2ACF51D2EDBB8D946C168B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; };
+ BD7737BC6B7B6EE4AE3DD687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; };
+ BE0489F4AA110E7A4BE6880E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BE1493D37BFED1206A196B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; };
+ BE27A021A21278415868C466 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ BE472B6711E509DE55C83D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
+ BE531AFED218010571C90AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BEA1459932A75A2D6AAD4B43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
+ BEB701ADA012A1394ACCDD18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BEE43FF11F7D88506B3B6E90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
+ BF1E8D386E1C71322F7B6321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; };
+ BFB75579514FA95EADD75AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
+ BFE7003BFA12C79A7E70E2F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C08E2831019572E220A71669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
+ C09EE24431A651C996153ACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
+ C0CE2DBD3E07E03623F29618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ C0DD1473C48AEF7B3AB0087D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ C0DE626D028AA9B00127F9BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C1474E839569EDA193F71BBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; };
+ C1884E8D2D10F0AFEB1D87F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C19A71E5C01BB38E1EEA2110 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C19D89C56696F5747C298985 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; };
+ C1EA59968F46E68D75AABDCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C237671BF283E95CF9F93936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TouchList.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h"; sourceTree = "SOURCE_ROOT"; };
+ C2585C4A959C4CBA76BCEE6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C29107288DAD3ABB3719015D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C29CB9EBB689083DD7D99F54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; };
+ C2B755C206D3AE7B0B4463ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C3104BD68827E3B23FE7BF51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; };
+ C315E5EE86688FF6DEA57CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C33F5E40671D8969529DC1F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; };
+ C37E5834DB1CC5410BF93D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
+ C3891745EE7DBD352727B9B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C3CD93C748F880042436180B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C3E4493CE69B1B931CB96EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HostPacketDecoder.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h"; sourceTree = "SOURCE_ROOT"; };
+ C42467520EB918DFA024D0AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; };
+ C438A00F7FAE0D151BC99D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C468BC4730E745AD31CA903D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
+ C49F54FB785A0B5D4D41B6BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
+ C4DDAA034449093B3E5A60ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
+ C4E4C2AD07EA064EB32326F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HostPacketBuilder.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ C4F45122F361CE23DDB32596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
+ C50386097FEBEBECC9E84866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; };
+ C52BA5CFAC5D4DE4CEF2A51D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
+ C5AC27F3564EF36AAFFAD703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C5EDD0AB18A362054E8FE283 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C6144891191A6E1C95E21A25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
+ C62BDB035997E471AE3096E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
+ C6438C01636AC02F3ACEF42D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ C6A122F6B606753C30C30BD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrumPadLEDProgram.cpp"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C6FFBF028815A3D4D197C1ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C720BCE4770D82EE19B5E304 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
+ C75E0D3ABA4599B591806B6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
+ C79F1FCCE8950900DAE6BB50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C7EE187163451061AE2A3153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
+ C8F3A77AFEF173C097EB08CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; };
+ C917343C99E5B7DD04F04FE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; };
+ C91C155CE2FBFB917E03E114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; };
+ C91DD17FBE7A7541E7787987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ C9D366816AA16012A9FD56D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C9EEE195FD4C2C90915219FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; };
+ C9F2ECCBC4868DE614C90303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ CA7EE521D0323E69E581633A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CAC8EEB08140F6C3189606EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CAF5049EC08F7E410AEDD901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
+ CAF65D1EFDDC93B47321327C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
+ CB01B5AD5F8CC26814C1FAE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; };
+ CB6596103EE0B3579B8D2C3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CBAB521E6B494AABD42A4B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; };
+ CBDAC7F54358B29D622C7659 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CC485BE41CFF25257214B6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
+ CC7A625D7B7F517BC85C5578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_blocks_basics.cpp"; path = "../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CCA01BB46B276DA072718679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; };
+ CCE2ADA7EF8B417B5D5EC92C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ CD768752C091A375ADC708A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CD875963C6F9C05BA11A4AC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CD9017D48D6C56C7D57426E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ CDA6D006DEE688324E2540AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ CDCF7C7420D481D45CDDBE85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; };
+ CE2F5008560ED985C0B8B5EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CE38F82B1484802D0AD0E8BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
+ CE9B22F2034E803714CB8433 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; };
+ CEB10C78DD0C1F9970029F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ CEB18F1BEA68F075D50BD6CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CED32466B0978556B4914463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CEF6725F5E19BCCBFFE5EB68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CF095321F298B5EBCC94F41C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; };
+ CF0A728B82AEB2D5931DB6A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; };
+ CF632EB4950A71EC56190E3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CF6716C0AD7BC8E630CEA8DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFA6A67D8C7733249ED7FBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; };
+ D02263425E49C20B4A8CD405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; };
+ D051EB3531C22746F7AF08E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; };
+ D07C119AB16FE4E41B441B71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
+ D0F5CD629E1D7C466E87A7E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
+ D1508B7542B04397ACF773B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D1831592A88B72CE43CB9130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ D18C4FDF34147BDD22C16EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlocksProtocolDefinitions.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
+ D1C39914B1CDF9FDCF40F03C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ D1E81EF119824692C769695E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; };
+ D202B1DF5EEDD627489E729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; };
+ D2232FD5C2B1A361C7240C8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ D2785AE695E6FDF8147EEA2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
+ D2A1AACEFAB1D922788314A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D2B02C379123F7D621B82B6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
+ D2CEF899F0C7DBD82CF4E7C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; };
+ D2F9B4B64C205F3461541930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; };
+ D3B2CF92BBBABE4AEEC691A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; };
+ D3BB46A0AFF947844690B42F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ D403908B6B803FA4EF5BDBBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D49A5F16D99EF86770359BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D4C6A262AAC6CD01030A56FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
+ D4DA6EE18C4F580FC8A220B8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+ D4F1502ACF6109D1AA059455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
+ D58546D794E5BEBD2F10412A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D5EAF5AB7E64FA98BFCCA1A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D62EA842B44315CFBCB24BCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D67495EC058C6FDEB8C0FA6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D67E60A34C5191583B542922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D69A8DC089FEB04DDEE6E9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; };
+ D6A0E899C3D79A7DF75035C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D71710BA7E52689EBFD91588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D7303A04A2ED6BD0AB0D997D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
+ D73F9D1ECAA60F87E31F531C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D7689628C83E6E2DB2341628 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
+ D76F72244214BDDDB9C1D42A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D7AB3E868A90774E1FAFD51B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; };
+ D7BEC4451FBA09761F065B12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D7C00C099F40E38AD415AD56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; };
+ D81B4D2BFB753FFD2D6F3AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ D81D661338436E213B25F8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; };
+ D87D6545B471F09EF677902C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D8A1D9C7F7B42C75598A385F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
+ D8A792DD4E2CD58BDAC9BBFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
+ D8D329C0D501906C8E581010 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; };
+ D9158BF72A9410721CF32E92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; };
+ D93AEDCD9AA6F35A008C6B10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; };
+ D96E2FC22E02FEC19FAC3F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; };
+ D9BB56CF58E7421832148DEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D9C96A95268D1705E5EFD77F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; };
+ D9F59FD82ECF3FDA305537AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; };
+ DA5417FE6CC33732AF61D3BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DA6680F2E017C1451B8B3E09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; };
+ DAFEB9CD6997FA5768A7DBA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; };
+ DB116314BC85AB60708C199F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; };
+ DB9E8BE921489285C4B9ED99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
+ DC20E4741780F1519099EA3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DC7062591F0E20788EDC379E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; };
+ DD1DAA35FC2A68363DBCDE50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; };
+ DDA658B496D43C8BD1DF3410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ DDB3B7DDB5B4F5D87CBA6C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; };
+ DDE841F2D06B35620C95F7BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; };
+ DE1AA6017CEF48540B7D5521 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; };
+ DE2F36F94C5AF00C806A885D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
+ DE56F99143A2BEF2EC4E15A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
+ DE9704A65773501DE347230E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; };
+ DEB1AA246A3B2804C43992C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DEBEFE952C92EE38B62CCBA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; };
+ DED4D4557567F40DCDA8340A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
+ DEE463950B10373AB5BF1415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ DEE913D46DAAD878430264D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; };
+ DF5C47F2732316263F27F35B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ DFA0BD689C1C350DD66B8F10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DFD83A7CDABE2CC9D9D29FEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ E00E9055E0D461FBA65415F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; };
+ E08C436C85606AA1432C5C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ E0A6645BF35A873306104E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; };
+ E0CD810D85D163FCA2E05D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
+ E1C8BA4CF79BCC3B0E758A9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ E20191F0BE305DA483AE955F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ E222435250E8A57C88E441F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; };
+ E23D59AE5843A019D0B20D61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; };
+ E24521953703852377A32D70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E25FE62CDBD305515BE0E974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E2760CFD55AAE533FAD166FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ E2778AA90308DEB0DDB6C0DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; };
+ E280D05067385BEC1E3B4766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
+ E2CD239EB674A987631C1F95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
+ E2D85F080ACAE32DED909D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E30A6EED52F978044DBCB34C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E30FA02A405F056C289608F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; };
+ E3455619FB6BC525C9407A6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootRemoteHeap.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h"; sourceTree = "SOURCE_ROOT"; };
+ E39BFCA09C446A2AD541D66C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E40C81964A35DCBA5C07A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; };
+ E48849E0B20A2D2B2391BD36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E4A7590FF79E8EAE3286C76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ E4E4B644F52739096EC9ED59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
+ E4FE73FA8F2ADD14B7E7812E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ E51819C6E2E6881C993A9C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; };
+ E5578FB0E512495116B71F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; };
+ E55BD37DA91B20BB60D8BC5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ E5B77FA0E883FC22ED9A07E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; };
+ E5F14F3C17FA5BC721CF06CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
+ E5F243A42AFB91068026ADA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ E61A0BF68D610DA6AB86F94D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; };
+ E61D74DA18777D3ED9B604B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
+ E6335D36399077078BC78ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
+ E6D09BB9A4D7592AA53FA63C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ E758FAA869708918584DA19D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E77ED2BF4E691CDA0BDF67E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; };
+ E799718167E8643572309303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
+ E7AAC5B8A3584327D2A77AE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
+ E8345B1296211CB1845D88C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ E844B59EADE8FBB9804FCC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E87BA58A31E5AF84D1819E1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; };
+ E8A878C2CE1A7EB1EEF6B92E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E912FFD60443431073F49E05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ E92CA7282B750596908F685C = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
+ E93C91661F22E59660A807AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; };
+ E94CBCD3B3C4F726DDC7145E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
+ E9AB8309552BD30792B23FCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ E9DEFB9A762600C429F59B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ EA01768CDAAD4D13D769C371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ EA1AA20402977B302BF5D363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EA21A9139BBAE2238DBB6920 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; };
+ EA2B74AE3EBD1A8CE6BBE889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; };
+ EA5D4A0F009B78BF824D7226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EA7F1EB1FFEFB4937039BFDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; };
+ EAB8F9E9C69FDA9046914C57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ EACA2C832850D2A048AF852C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
+ EAEA770719580DF72D030505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
+ EB6CAC1FED2456D7379245AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; };
+ EBB04C1A8397DA42E15EFB00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EBF51AE520FC44EE056995D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LEDGrid.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h"; sourceTree = "SOURCE_ROOT"; };
+ EC7D9B630F5FB46258974133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EC98B82ADF1187D4060FC49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ ECB315B1E096D167076B058A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ ED351CFC37C81F20B6D6B01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EE0075DEF550FBC64F7D8B9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; };
+ EE16A3FB712E9DFB3EE0A875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
+ EEC74F1DE224D270462503B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; };
+ EECE5BDB038D0EBEAF36303E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; };
+ EEE8C92FC3679E29251522E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ EEF550D385BC7AEA1172FE5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; };
+ EF02685FDE72675F4B750650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
+ EF66F9A77305AAF55D3A8C7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; };
+ EFD32E4A4A81815891CF54FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; };
+ F053B1F18F39980BB1E8F98A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F075BDDDD4F7DBB900BB457B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; };
+ F0BA9CA48CC49E14CB65B10A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; };
+ F1444750AF2DEB43BE2E1658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Topology.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_Topology.h"; sourceTree = "SOURCE_ROOT"; };
+ F18CEC0613E333793CE487D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; };
+ F1CB294C66C69F817C9CDC1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; };
+ F2070BC848C05F66E134D7E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
+ F21AB2745631CDDDEEA35B1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F295C837D985F94DE7AB4A7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
+ F2CFFDE197B95A56FD3D2794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; };
+ F312C15C8FF357815A5D852D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F392A87E5AE1D4D390FCF488 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
+ F3E5F7DB01292CFF33EE3971 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; };
+ F40688B881E38D0CEC413A0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
+ F4259584E00B36526D5CFB0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; };
+ F49D80F0D4131FFEA98F85BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F4E74A5B357BA4EA4CEC0F13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ F5668D6CDFED46BDB46C2E75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F581127924048FE75A58A428 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F597712CD0CFE5D1F1145B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ F59BA79A83B6BAD01FDA01DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ F5AA13686E3E014FA127B57E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; };
+ F5B9A3BC6E33C98DFD9C9246 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F5CCD78E2928A6021051AEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ F6EB5AF7554635EB441568FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; };
+ F6F326524DED75455C217520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ F72B09FDE33658D77B49C7A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F75524422C20C513FC73502B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F75CCB348B732B0AFEE4B4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F78A0ACB1EADC8578B82664C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; };
+ F7E2CB260B70E401BF91E236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootRunner.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h"; sourceTree = "SOURCE_ROOT"; };
+ F80A4EA6BE0D985876B9D4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F83D0DB57AB2C58AA5FFCE39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F8612CE49A62B80AD1612B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F86729C1E690C3B06646ECAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F879359E8211BD2E1CFE5FE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
+ F8B25FD2FE72F0862EDA70AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
+ F8B3AB36958E31EB6BDD2ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
+ F9AB49CA88C89C26093CB1B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
+ F9AF151A90E61714965D67D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F9D767E4012A0A1ADD83A533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
+ FA06D31009B123A360853CCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; };
+ FA1ADE34C41760B0FBCCDE64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FA66CC9414AAEA72869BE969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
+ FA67F7DC71898AC7AD4F0284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ FAB83E6CF91D59901CD87D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FAF382A2237B019DC61920B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FAF5B61706BC2CD2EB68B550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
+ FB6917E81414FA81F7442188 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlexBox.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FB87C64D7D673B76E4B5209D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FBA7E37B32790A96A06D3D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FBB15A363BAC741113987D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FBEB137F69B8A261A4B64760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; };
+ FBEF609D497831012E3D8829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FC25CF1063C88216E3462839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; };
+ FC70FA0EABE4EDF87260618B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
+ FC7AD77D53883AA7C906A6A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FCC43FCAF92C64F580AA70C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FCEA59DF5F16B5921093D94E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; };
+ FD227C7F5CE97D9F54705672 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; };
+ FD2C8067AE30B6CEE4CE988F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FD456DC8A0AA86BA70897D1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ FDB3638BA6DA63B26AB72151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; };
+ FE6B0496C0CC7E25BCB6A277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; };
+ FE9F36798B9C61600626D1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ FEB6A996354866F8AE7221C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FEF8D1DEC14F53F54985AB63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ FF00E084ABFC561A9CDFF2CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; };
+ FF4021F0CFBE14A6FD29CCC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ FF748D1941B41C1794A241EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FFB390B0993D0BDD8DD46932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; };
+ FFC7EE5AC5B2F327351AE86C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 545FE4C9D51A36132F172336 = {isa = PBXGroup; children = (
+ DE1AA6017CEF48540B7D5521,
+ 222A183111DEA8A63599510A,
+ ADD9F9EB5E0EFC63E2992ED7, ); name = Source; sourceTree = "<group>"; };
+ C09481DD2BAC5454AB6D8772 = {isa = PBXGroup; children = (
+ 545FE4C9D51A36132F172336, ); name = BlocksMonitor; sourceTree = "<group>"; };
+ 6A7EBAAF199594E266A2AABC = {isa = PBXGroup; children = (
+ 1719057E5D9514D7DD88DEB9,
+ D7689628C83E6E2DB2341628,
+ BD290FDCC12F4ADF00DAD43B,
+ FDB3638BA6DA63B26AB72151,
+ 0E18DB38D8B88859C5D16D11,
+ 9C75C797BAEC7A8B9693A06B,
+ 340CD5C7C9744CCCBE3AC335, ); name = buffers; sourceTree = "<group>"; };
+ 6174AAEB049EF89001A54845 = {isa = PBXGroup; children = (
+ BAFE0AA564EEF3F790410FDB,
+ F59BA79A83B6BAD01FDA01DE,
+ EECE5BDB038D0EBEAF36303E,
+ C315E5EE86688FF6DEA57CE7,
+ AE4AAFB284B168518E366EBD,
+ 4986E10C464822F15B91C7ED,
+ B1657D09D3DF467A04A87E6A,
+ C79F1FCCE8950900DAE6BB50,
+ A92093FCCEED7408744E3706,
+ EEE8C92FC3679E29251522E3,
+ 2ACDC9BC9FB57E955B8D2811, ); name = effects; sourceTree = "<group>"; };
+ 517D48DA3D86D147A2174768 = {isa = PBXGroup; children = (
+ 4D2D9C398522FA01A9FFFCBB,
+ 4231BEF0941784C4F2CDF362,
+ 48037047F1CC53BDB2CBF2E9,
+ FF00E084ABFC561A9CDFF2CB,
+ 5FB96EBC6B8E73E76F2C2D7A,
+ B7EDEB203D0BB0EAE5EE555B,
+ EBB04C1A8397DA42E15EFB00,
+ C50386097FEBEBECC9E84866,
+ AA6CA28DA51A2BAAD979771B,
+ F295C837D985F94DE7AB4A7E,
+ FFC7EE5AC5B2F327351AE86C,
+ 5E11C3AEEEBFB5D3ACE79B2E, ); name = midi; sourceTree = "<group>"; };
+ DC93E1DF7BCD2B46DCC1F158 = {isa = PBXGroup; children = (
+ A50045AA484A93660F5D0DEC,
+ 22ED7F3091B15731766D82C9,
+ 1E614A63C2C2AA7B858DF4C1,
+ 8B4505D4C9EBC3014C27D6D9,
+ 26FC7D9E7E5BB2D4535FB0CE,
+ 228CF6C968876BDA6ABC9242,
+ BE0489F4AA110E7A4BE6880E,
+ 3E8E3CBF730E14A6EC9BEF89,
+ 847F33928C5A70863F673938,
+ E23D59AE5843A019D0B20D61,
+ 99ACE9D856A4E22A5BACF1F9,
+ C37E5834DB1CC5410BF93D8F,
+ BB6321248114A79859B8468B,
+ CBAB521E6B494AABD42A4B90,
+ D73F9D1ECAA60F87E31F531C,
+ A409C91727751590682E3237,
+ FA1ADE34C41760B0FBCCDE64,
+ 0589A9A25D0130ABC2840F23, ); name = mpe; sourceTree = "<group>"; };
+ C47AFB64084B93622220C070 = {isa = PBXGroup; children = (
+ AED53153DA5BEE178C227DDF,
+ 488FA6954BBFB6694C21AEB4,
+ E5F243A42AFB91068026ADA4,
+ F5B9A3BC6E33C98DFD9C9246,
+ F597712CD0CFE5D1F1145B83,
+ FBEF609D497831012E3D8829,
+ 72F093BD43569F666B148B27,
+ F75524422C20C513FC73502B,
+ 9B83893AFBF95FF07B65E433,
+ 6C783023901E82078E0F2435,
+ DC20E4741780F1519099EA3C,
+ 21E9D0E35F84BCF5897B262C,
+ 88EE9BAF87CBE950013CD3AB,
+ 68F432AE5DFBDF416D381D69,
+ B0A159D25E2692435B03ACC0,
+ DDA658B496D43C8BD1DF3410, ); name = sources; sourceTree = "<group>"; };
+ 2C7D50068311979A293C7896 = {isa = PBXGroup; children = (
+ 5D55891DEDD0EEFA6F294941,
+ FA66CC9414AAEA72869BE969, ); name = synthesisers; sourceTree = "<group>"; };
+ D50B2337B08D012224137BB2 = {isa = PBXGroup; children = (
+ 6A7EBAAF199594E266A2AABC,
+ 6174AAEB049EF89001A54845,
+ 517D48DA3D86D147A2174768,
+ DC93E1DF7BCD2B46DCC1F158,
+ C47AFB64084B93622220C070,
+ 2C7D50068311979A293C7896,
+ 70DB5546A7436EC8159F7825,
+ 8B1B3FA81F246E78CB5F2D99,
+ 7BC44A73343EBF0012783283,
+ 8B1B3FA81F246E78CB5F2D99, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
+ D65E79E69A55F01F0AC7917D = {isa = PBXGroup; children = (
+ 1D9A7BEB060662FBA38DF385,
+ 3E85FF93FDA0C5C93F8EE3FA,
+ 1E78B98A70BD5E14381302DC,
+ F78A0ACB1EADC8578B82664C,
+ 9966516477648BBFCF5B0B94,
+ 67C85156717AC5DD60AD4279,
+ F879359E8211BD2E1CFE5FE4, ); name = "audio_io"; sourceTree = "<group>"; };
+ C80A9F785F2081A97227C18E = {isa = PBXGroup; children = (
+ 54EDF505CD9D19D1FD59D612,
+ 70A3109F4B0C80AA941F513C,
+ B67DEB7456F7A7FE9E99F5AC,
+ 86C050562945072E55B2304F,
+ 22A1487B587036337AC48F11, ); name = "midi_io"; sourceTree = "<group>"; };
+ F6BD837B724D3DDF240ABC40 = {isa = PBXGroup; children = (
+ 831C32DB068A571A3E99E55B,
+ A1596463A5167EF7B3B9E3F3,
+ AAC7E9D875D6B6AA83E571AB,
+ C1EA59968F46E68D75AABDCE,
+ CA7EE521D0323E69E581633A,
+ C9D366816AA16012A9FD56D0,
+ F75CCB348B732B0AFEE4B4FC,
+ 9BD70EEF4FCF2A636DAA3C48,
+ 5B3703950FC13A76F07CC0B0,
+ C917343C99E5B7DD04F04FE3,
+ FEB6A996354866F8AE7221C3,
+ 39D9DEE8F862C43CF6F4DA7F,
+ 9FF3D6166AF80343ACC2DF7A,
+ CF6716C0AD7BC8E630CEA8DD, ); name = native; sourceTree = "<group>"; };
+ 0226D256277F3CB1491B9CFB = {isa = PBXGroup; children = (
+ C29107288DAD3ABB3719015D,
+ B6345846B766F695A8CAD09E,
+ F86729C1E690C3B06646ECAE,
+ 0460787CA1702E4A267536CD, ); name = sources; sourceTree = "<group>"; };
+ 6D10CDFC1618B6213AFBE599 = {isa = PBXGroup; children = (
+ D65E79E69A55F01F0AC7917D,
+ C80A9F785F2081A97227C18E,
+ F6BD837B724D3DDF240ABC40,
+ 0226D256277F3CB1491B9CFB,
+ CAC8EEB08140F6C3189606EC,
+ D02263425E49C20B4A8CD405,
+ 3FFE8EE77F46A343C6D7464E,
+ D02263425E49C20B4A8CD405, ); name = "juce_audio_devices"; sourceTree = "<group>"; };
+ 9757775CBE25913D73CC0497 = {isa = PBXGroup; children = (
+ 05F4C8ED36A49DC106309AB3,
+ 76F731D0553785FDCEC0CCC4,
+ A9819750A6C5E908DBE3A309,
+ 865CC068EAD0A9E54C77BBB1,
+ B9C392935DD8F5D8D0ABCF2D,
+ 4A46906896AD28D34B0218F3,
+ D4F1502ACF6109D1AA059455,
+ D1E81EF119824692C769695E,
+ 8DAD27599B4D76AA741E2F94,
+ B2015E328522144C463397DC,
+ D69A8DC089FEB04DDEE6E9AC,
+ 9F0CD34B5E00755ED32C633A,
+ 7352B3C338D6C18D80BA03B6,
+ 8A974C1E78DF69BEDF4760D0,
+ F9AB49CA88C89C26093CB1B6,
+ D2B02C379123F7D621B82B6D, ); name = private; sourceTree = "<group>"; };
+ F5D5BB6522B49CA562F51654 = {isa = PBXGroup; children = (
+ CFA6A67D8C7733249ED7FBC5,
+ 7533170247A4B5A10D70246B,
+ DFD83A7CDABE2CC9D9D29FEE, ); name = protected; sourceTree = "<group>"; };
+ E9CFBBD9D25BB5B176CDF2C1 = {isa = PBXGroup; children = (
+ 9757775CBE25913D73CC0497,
+ F5D5BB6522B49CA562F51654, ); name = include; sourceTree = "<group>"; };
+ EB3E75FE4B4092D4E0F0DAEE = {isa = PBXGroup; children = (
+ E9CFBBD9D25BB5B176CDF2C1,
+ F0BA9CA48CC49E14CB65B10A,
+ DEE913D46DAAD878430264D6,
+ 3067E2B75D1E66CAC8DD65C0,
+ DA6680F2E017C1451B8B3E09,
+ 8E841F589CA7AAD4294FD631,
+ 1C024E345C38DCAB8D0BE6F9,
+ F40688B881E38D0CEC413A0A,
+ 9415AEBC23728926E143CA87,
+ 1520C6D07978AEAC58F684F8,
+ A4D97A4003659632818C71FF,
+ C09EE24431A651C996153ACA,
+ F4259584E00B36526D5CFB0A,
+ 7C164C4F47469F58BA6DCDD5,
+ 352E7E01ACE857617C20A3E1,
+ 04185482CCC0316BF46B2DC7, ); name = libFLAC; sourceTree = "<group>"; };
+ 0805213889487A2742210837 = {isa = PBXGroup; children = (
+ EB3E75FE4B4092D4E0F0DAEE,
+ BF1E8D386E1C71322F7B6321,
+ 20E50B7CC91B87CFA1CC8C17,
+ 44ECB2E8A37E35CED1BDEB44,
+ 505900B3A9C3E0EB350784F1,
+ E87BA58A31E5AF84D1819E1C,
+ EA7F1EB1FFEFB4937039BFDB,
+ 5C843AB1BC6467611517390A,
+ ECB315B1E096D167076B058A,
+ EB6CAC1FED2456D7379245AE,
+ FEF8D1DEC14F53F54985AB63,
+ D9C96A95268D1705E5EFD77F,
+ 609A9DCD9B58779BFE402BBF,
+ 580B644027718870A081DC4E,
+ 96F7798575656A87A58107DB, ); name = flac; sourceTree = "<group>"; };
+ 03B2AB59731F1D4B023E947F = {isa = PBXGroup; children = (
+ A5824D06228D6B5120269F73,
+ 287298405BC363E9C2492200, ); name = coupled; sourceTree = "<group>"; };
+ 248818D57818EC2B730C97C6 = {isa = PBXGroup; children = (
+ 23063052109C21CA6277AA4F, ); name = floor; sourceTree = "<group>"; };
+ 3F92E50B3ECB054A3591BBFD = {isa = PBXGroup; children = (
+ 5FDD76A98FDD6FAD2CB88606, ); name = uncoupled; sourceTree = "<group>"; };
+ 432F46B575D3DCDC58365CD0 = {isa = PBXGroup; children = (
+ 03B2AB59731F1D4B023E947F,
+ 248818D57818EC2B730C97C6,
+ 3F92E50B3ECB054A3591BBFD, ); name = books; sourceTree = "<group>"; };
+ 124299323D71100AA977C9D1 = {isa = PBXGroup; children = (
+ 04874C168F8DB8B3661AE099,
+ 8818BE9F1A26A6F0393DF753,
+ 2E667E8E327AB96B7E56BEE3,
+ 7F615DFC87CDB7F78660077C,
+ DB9E8BE921489285C4B9ED99,
+ E94CBCD3B3C4F726DDC7145E,
+ 9BEF8EED62BFF46A514824A2,
+ A0DDE4018BE50F9FF0F6D4DB,
+ DDB3B7DDB5B4F5D87CBA6C65,
+ C91DD17FBE7A7541E7787987,
+ 8C99020753B8736AEF7D04D0,
+ 661EF1C85FF1D2B6070163EE,
+ 18319D005DF6998885AC677F,
+ D93AEDCD9AA6F35A008C6B10,
+ 28EA90843E65FB432CDF2329,
+ 346470CBB2B9F42E9CB6E7C0,
+ 948A5AC343109E364FF586C0,
+ 378D773196595D931B25B784,
+ DE2F36F94C5AF00C806A885D, ); name = modes; sourceTree = "<group>"; };
+ 59143ADBA1E2AF2EF808FD85 = {isa = PBXGroup; children = (
+ 432F46B575D3DCDC58365CD0,
+ 124299323D71100AA977C9D1,
+ 8056F5AAE245F445D1F5FA26,
+ 7B844571D08EC929B21A5ACF,
+ 43AF9A4E676708B5C9B936DE,
+ 22B33EA86FAB7366A914C948,
+ 096474E2642303EBBE13AD4B,
+ 69AC4DA97DAF6291FB4831EE,
+ 7E4D7F844737CE5D8C9BD1CD,
+ 3C03483C05460B67987EA712,
+ 322BA1353F7CA1DDDE9CAA4D,
+ 3C43BD70ACCE68D03688BBBF,
+ 6F4AE6971D02991BCC1B7F1A,
+ 70C841CF701E3FB91C81E547,
+ CDCF7C7420D481D45CDDBE85,
+ CE9B22F2034E803714CB8433,
+ D96E2FC22E02FEC19FAC3F75,
+ FD227C7F5CE97D9F54705672,
+ E51819C6E2E6881C993A9C16,
+ 3C5760CD990742E382358250,
+ 5CF0F5458B69B697F084D1CB,
+ B41BF21771B358856B2C44C8,
+ 5901AE44435BBEA1841F2028,
+ 8D9598B7B36DB4A8DC7F257A,
+ A7E2C39A7FF81AC0C2B0BB29,
+ D7C00C099F40E38AD415AD56,
+ BAE69D4E9ABF50B36C2844C9,
+ 084F07B2269A72130EDC450D,
+ E5B77FA0E883FC22ED9A07E0,
+ 813AE492EA6457096991918B,
+ C42467520EB918DFA024D0AF,
+ 83B3F4B22F3603CFF3199C33,
+ 1A9FEB70EB440AE3B3BE52D2,
+ 1ED66F4F7C1B6FA4369A8E95,
+ 5BD41E05243398FB26BC8041,
+ 62D3CBF544E4AB48E11D77E3,
+ 76DB19422D33EF95B030AF4F,
+ 76374244710CA4A53830D7E6,
+ BE1493D37BFED1206A196B23,
+ 424E6E480FA0C70D02DF349A,
+ 6C2B97454AB4AD2B7BFE0776,
+ 135A4D01694084A7B641D217,
+ BCF2751331F61000AA2E6D8C, ); name = lib; sourceTree = "<group>"; };
+ 2F4C445DF466E73DAA904172 = {isa = PBXGroup; children = (
+ 59143ADBA1E2AF2EF808FD85, ); name = "libvorbis-1.3.2"; sourceTree = "<group>"; };
+ 1D007C9159A56613F908E67B = {isa = PBXGroup; children = (
+ 2F4C445DF466E73DAA904172,
+ D8A792DD4E2CD58BDAC9BBFF,
+ 9FBEC2F41AEF630320F831AB,
+ 2EA29D7871008E52A033BE16,
+ CAF65D1EFDDC93B47321327C,
+ 4490CBDB4F5B394BC4C8E22E,
+ 0496A10293C6532DB2889643,
+ FFB390B0993D0BDD8DD46932,
+ 122B74F324719CFD9425A135,
+ 6C3BD063682D8A97CE28ED2C, ); name = oggvorbis; sourceTree = "<group>"; };
+ 76167C852117860212C07E43 = {isa = PBXGroup; children = (
+ 0805213889487A2742210837,
+ 1D007C9159A56613F908E67B,
+ 1311A028E6551920CCB23899,
+ 2799B7075032596236A1A6C4,
+ 457AE3EFAEB98FE93CEB0ACF,
+ 0798ABC473768B7DA59020BB,
+ 434FD5F26F8F5052AA287287,
+ 64045131E5C2BA8A8DE951BB,
+ 7736BA69BFD6B79E44DCF9D6,
+ 41EA8B9F834209FF197ECE40,
+ D49A5F16D99EF86770359BBD,
+ 23C4B5A7859ACA959F99FDE9,
+ 8079D10F25DE8A660DFD7F97,
+ 6D105609475B730F812FE7BB,
+ 49D0C33F5968B4B16D73521F,
+ 46EA57BC815C91944C720D59,
+ 04B6090AAC1B334B1F121BE0,
+ 98536B7D7BF6DCCC121EF75F,
+ 0697A131C2572A76CBC3A2D4,
+ C0DD1473C48AEF7B3AB0087D, ); name = codecs; sourceTree = "<group>"; };
+ 4955606C713F09999B822ED4 = {isa = PBXGroup; children = (
+ 84A04C8B8DE6E1C4FDC3F4A1,
+ E20191F0BE305DA483AE955F,
+ 810D7E7AC4E48A67AB84B75D,
+ 5AC1394BDDA0F1C11051F763,
+ E25FE62CDBD305515BE0E974,
+ ACB9D9A21F63B364C3E431DD,
+ 621C85154E8537D98DD550D3,
+ BAE124F36EE934FEC863965A,
+ ADD75823E8C98A3F7F299385,
+ DD1DAA35FC2A68363DBCDE50,
+ 6A88B631279A877CBF1EE8FC,
+ 914600CCFA720261FC69CCD9,
+ 64DFFD927FB3D86B97E36EF9,
+ 5289927ABB985AA0C17AFF50,
+ 200E7992C80ECC1AE74C9468, ); name = format; sourceTree = "<group>"; };
+ 75D68641653904AEADEE04DB = {isa = PBXGroup; children = (
+ 441A0BB8FD08721B0768A41C,
+ 2B6844B8253422926CF12456, ); name = sampler; sourceTree = "<group>"; };
+ 2789350038E8D9166DFD8868 = {isa = PBXGroup; children = (
+ 76167C852117860212C07E43,
+ 4955606C713F09999B822ED4,
+ 75D68641653904AEADEE04DB,
+ BCD101DB744482011FB7EA98,
+ F2CFFDE197B95A56FD3D2794,
+ 41B259559A84E4D37B411E9E,
+ F2CFFDE197B95A56FD3D2794, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
+ 0ECB8B30B286A7116B5A863A = {isa = PBXGroup; children = (
+ 2D0232CD6B55510B10D2D04D,
+ 23E0BB729907E348A33E996F,
+ A285CB0E88EA469C72C4C086,
+ EBF51AE520FC44EE056995D9,
+ 012B74A5BAF1F975F4A0C648,
+ AEE9960FEFED454FB6DB18A7,
+ C237671BF283E95CF9F93936,
+ 35A297789A17E01FBE82827F, ); name = blocks; sourceTree = "<group>"; };
+ CE23EF4195D4D47D4D94B87F = {isa = PBXGroup; children = (
+ 95DAFF093BC64C4E8AFFAD39,
+ E3455619FB6BC525C9407A6D,
+ F7E2CB260B70E401BF91E236,
+ 3E18E1893DB1F592952F6E8F, ); name = littlefoot; sourceTree = "<group>"; };
+ 0DCCA6B5EEEAFC1D78D43812 = {isa = PBXGroup; children = (
+ 9118ECA920DB03C9623ACABB,
+ 4BE7254995C059C494538C70,
+ D18C4FDF34147BDD22C16EE2,
+ C4E4C2AD07EA064EB32326F5,
+ C3E4493CE69B1B931CB96EA9,
+ BB8D9E34C22532DC6AFDA9DD, ); name = protocol; sourceTree = "<group>"; };
+ 500D3DB07F6230755D8939A5 = {isa = PBXGroup; children = (
+ 7C3158B229AE5B18BAD208FC,
+ 034E4F3996519B2624117798,
+ 8941D9AFE6BE0F15F8391874,
+ 78B2E56220F1F3D0E9C06FBD,
+ F1444750AF2DEB43BE2E1658,
+ 06EC101285EA08EEDDB65F87, ); name = topology; sourceTree = "<group>"; };
+ 84EC8ECF8486B94F4750630F = {isa = PBXGroup; children = (
+ B3CD18208A4368D7AE29D706,
+ 1EAF33874D8D4F13676C412C,
+ C6A122F6B606753C30C30BD2,
+ AD7225D561558BAFDF65BBC7, ); name = visualisers; sourceTree = "<group>"; };
+ 48B6293FB2A5EC097988691B = {isa = PBXGroup; children = (
+ 0ECB8B30B286A7116B5A863A,
+ CE23EF4195D4D47D4D94B87F,
+ 0DCCA6B5EEEAFC1D78D43812,
+ 500D3DB07F6230755D8939A5,
+ 84EC8ECF8486B94F4750630F,
+ CC7A625D7B7F517BC85C5578,
+ 193EE3A9C056FB7BFD83667C,
+ 243F5C11D97748ED03B760C6,
+ 193EE3A9C056FB7BFD83667C, ); name = "juce_blocks_basics"; sourceTree = "<group>"; };
+ AAD6D4686EC957A745989577 = {isa = PBXGroup; children = (
+ 3B9D6C4308A396C6953A2B19,
+ CCA01BB46B276DA072718679,
+ E0A6645BF35A873306104E19,
+ 2E3883BEB89636D207BB88B5,
+ 02CE3CA00AB6A0E0C6EA7C45,
+ 3851E8BB5BD4F284C8489033,
+ F3E5F7DB01292CFF33EE3971,
+ E799718167E8643572309303,
+ F6F326524DED75455C217520,
+ EE0075DEF550FBC64F7D8B9E,
+ FBB15A363BAC741113987D32,
+ 1655D2F156B917E893A29FEA,
+ 09BB66CFEE9A832CFCF2CCD2,
+ 53C70300D106400F1AF2C123,
+ 9ED1E59E0EDEB57492B8B339,
+ 47787A636075A669F8FFA434,
+ 0A268ACBB1D36A862A755465,
+ 255D982E8E88EC37AF5D58CB,
+ C7EE187163451061AE2A3153,
+ 2AAF0E53F74A1B4AD7B0684A,
+ 259D44F4C84C586F476BBA0C, ); name = containers; sourceTree = "<group>"; };
+ CEBC87FED7860FF4F8EAFBBC = {isa = PBXGroup; children = (
+ 1A58C7E03F2C3D22E356E817,
+ 50FB808D07149E5872D146C8,
+ 08C26B85297999984DECB587,
+ 1896F7A05A4372B4247C34A4,
+ 4A78F089AF9BAFC1586AF196,
+ E4A7590FF79E8EAE3286C76F,
+ B945AE13CE5FA99C9B48D98B,
+ 9BAE8416CA03B3EE29D0DB0D,
+ 2E735512175F5ADD2853D83D,
+ EA01768CDAAD4D13D769C371,
+ 1DFD35C6D473DCAEE12C18DF,
+ 34B3D0B92C86C84AB27BBE90,
+ BE472B6711E509DE55C83D38,
+ 932D69952B622B2BCFB904AC,
+ 012EF1197FF04E76BD620071,
+ 97AD1E50A2BA5069A53B385F,
+ 3A648036804F8E2D52E5B60E, ); name = files; sourceTree = "<group>"; };
+ 0FD30CF6F6B0DC38E6CBED82 = {isa = PBXGroup; children = (
+ B3C5E4089AD8803D08F9067E,
+ 6C3D05CB8D915E9E8C1286EF,
+ 78329D02001CA45058DCF1AB,
+ 54C8D084F87C2B0A407CB3A0, ); name = javascript; sourceTree = "<group>"; };
+ CDDFF74DF54842375F1A11B1 = {isa = PBXGroup; children = (
+ 95521385B606A5AF9DC25621,
+ DC7062591F0E20788EDC379E,
+ 99670416B9C5B1427EFDC235,
+ 4D69C440B571531C56B12E10, ); name = logging; sourceTree = "<group>"; };
+ 395D3401AF8861AE32D6B053 = {isa = PBXGroup; children = (
+ 3284EB2D81A682511A78D1AC,
+ A3913125232A72EF480476F2,
+ 6C0699AE325D1A41FB8CC560,
+ 6DE2EDC2238B94B55FA5167C,
+ 63B8C5F0192F2C0767C38B59,
+ 6D665D953ABA975CDB21318F,
+ D6A0E899C3D79A7DF75035C2,
+ CAF5049EC08F7E410AEDD901,
+ 8F7A2483AB8A87ED367B8276,
+ 07E12DE4ACDC0607DB48477A, ); name = maths; sourceTree = "<group>"; };
+ 0BEC7E45CA53EEC113EC85D5 = {isa = PBXGroup; children = (
+ 56E56C2AB629F7288EFFDF99,
+ EF66F9A77305AAF55D3A8C7C,
+ B35985BF65A5735648F332DB,
+ A06FEA5708DBBF89F31BC095,
+ 296E767F3EC21EEDF71AACD9,
+ 3A5708787015E10D959ED324,
+ F8612CE49A62B80AD1612B78,
+ 6E77E7974D18C2A3889C94D7,
+ 818FAF2D047AE69BA11091D7,
+ C3104BD68827E3B23FE7BF51,
+ 4765710DC062B04830654235,
+ 18828011791118DF6440C6A4,
+ 72CC4E382F4DD97DE7D2265B,
+ C720BCE4770D82EE19B5E304, ); name = memory; sourceTree = "<group>"; };
+ AAC33A3115E54835F98F0BF5 = {isa = PBXGroup; children = (
+ 9E742F2C0DCF21E717C69EC2,
+ EEF550D385BC7AEA1172FE5A,
+ D58546D794E5BEBD2F10412A,
+ 9A61D74797BF0F66E4942D15,
+ 448196AC5604B89ED7BC2086,
+ 518466F491B5DC8B80063C73,
+ 1B3FB995CF83C1B588F8F9BF, ); name = misc; sourceTree = "<group>"; };
+ 162AA8750F236D0A456810BB = {isa = PBXGroup; children = (
+ 259877493D9B71079446749E,
+ E55BD37DA91B20BB60D8BC5B,
+ B50D99789F7F83360780022E,
+ 1DC75AA5AD6118F35371BDB0,
+ B5FE94B9AE535C0F0FA1D88B,
+ AE19C39D6B958349413E5F76,
+ 7ADB824594D23926754D9ABD,
+ D7AB3E868A90774E1FAFD51B,
+ 1758DCBCE1766DA3968BEC1F,
+ 0A7A9EA59E25C13CB9C14A7D,
+ FCC43FCAF92C64F580AA70C7,
+ 40096AE757FEA9F663BF88B9,
+ 2972426DAB18DB5F584BC1E9,
+ E48849E0B20A2D2B2391BD36,
+ D7303A04A2ED6BD0AB0D997D,
+ AD7FCDD3AC5EF4057B4E669B,
+ B37091252E2FC04C254016C9,
+ 177856ECCAE5F779DB31EBCF,
+ A4D2F92AAE55340EB431CF8B,
+ 3B63BB4D108A10D0C5FECBEF,
+ 6FC3B994387E6EDAF2BDEE75,
+ C1884E8D2D10F0AFEB1D87F3,
+ 228C128F3835E988917C908E,
+ A572695065599E9D922B476A,
+ 34A1D01D8C72A0B39C0CF6D5,
+ 0DA6CC35E4AFC202C7D5298F,
+ F21AB2745631CDDDEEA35B1F,
+ 02148EBC074DA2992CC96E88,
+ 85A0ABA6D4313DEAF9C7FBEB, ); name = native; sourceTree = "<group>"; };
+ CCAEF77ED7D83EF2AC36927E = {isa = PBXGroup; children = (
+ B3A97D5DC77DB3FD2FC5FCEB,
+ 31F899D8732CEAF956AA7A72,
+ AF11A0E66EA77FF9F426CBDD,
+ 671BC724698C6A4A159738A6,
+ C5AC27F3564EF36AAFFAD703,
+ 190BFEB9E9811F1D73306F79,
+ 9EC497EFAB1C323884D011FA,
+ E2778AA90308DEB0DDB6C0DB,
+ 36D79F468C67AF3D0B800E85,
+ EFD32E4A4A81815891CF54FC, ); name = network; sourceTree = "<group>"; };
+ A465EBBDDD9E1BC6010869AD = {isa = PBXGroup; children = (
+ 601F5CB6345EC149C773CAEA,
+ E9AB8309552BD30792B23FCC,
+ D5EAF5AB7E64FA98BFCCA1A7,
+ 911142143AB852FE25C27BEA,
+ 785C1C92060466C4968202D0,
+ CEB18F1BEA68F075D50BD6CD,
+ 920EC1092F93EC048706028A,
+ 5247BE9855469B053C368F24,
+ 60200D25748FFB8436112D85,
+ 66AE29E32EB365E37B34FDD2,
+ BE27A021A21278415868C466,
+ C0DE626D028AA9B00127F9BD,
+ E08C436C85606AA1432C5C24,
+ 5329122490F95D7339752A4E,
+ 6509144104CFCCC2661C84AD, ); name = streams; sourceTree = "<group>"; };
+ 0B417D1083D3F2FE398636BA = {isa = PBXGroup; children = (
+ 63B20B7D5AB4BA7C645F10AE,
+ 96B0988BE177AFFCCB353FC1,
+ 7C955BABA03F3EF1E19E178E,
+ 197D3D704A44AA39F3F92F1F,
+ 1E5474F79E3971C77F173C21,
+ 5AEA510A742A1D7BAF22EC41, ); name = system; sourceTree = "<group>"; };
+ 38AEAA833C644AE23B5C335E = {isa = PBXGroup; children = (
+ 5122839D8D39723AA8BFBC70,
+ DE9704A65773501DE347230E,
+ 2440CDB6EEC69DDB25DABA04,
+ CCE2ADA7EF8B417B5D5EC92C,
+ 0138E84BEADF91E11BF423E8,
+ E280D05067385BEC1E3B4766,
+ AAABD4AE1DD0BB0519C4863F,
+ BC6DCFE13B8042F59C065CC6,
+ 4860027F79C430D081214B03,
+ 19482F63E164192F9C0CC655,
+ A427924174225CB14EA8B615,
+ 1BE918CC1F7F26F93A4B8EC1,
+ 4AC6C62FB545839E566D0FE9,
+ 1673C95BCCE19C8F4664703E,
+ 22B991F37C9D185AD22048F9,
+ AC8A8FB37E03EAD593C68BB2,
+ B92C211B36B75E20B97D094E,
+ C3891745EE7DBD352727B9B2,
+ 707DD628F538166D4733876E,
+ 78977B6BAB87C72BE8A6825A,
+ A9711C6C2B654B0B95C93ACB,
+ 6F6F12174D4A4E4D1266894F,
+ 5B9750AEC9BF60E5C75D6F27,
+ 8DE0F4ADDA1C7FD72763835F, ); name = text; sourceTree = "<group>"; };
+ 5A7DCF104E61A11077F7F8B0 = {isa = PBXGroup; children = (
+ F9AF151A90E61714965D67D6,
+ C62BDB035997E471AE3096E7,
+ E61D74DA18777D3ED9B604B6,
+ 80A162921EA7B00DF95B9D1C,
+ D87D6545B471F09EF677902C,
+ 909C06CF037053D160E1D911,
+ BFB75579514FA95EADD75AC5,
+ 01F94B27ADD4198E3CC15C0B,
+ 2ED4E37632885A949CCB9BE9,
+ 63A0B0B37AAB0387A610F6AE,
+ 11A1987734275CA22120DD49,
+ B70BB65A467220F7972C4FB0,
+ 06BB9F1EBA1172275FE5413D,
+ 036AB53DA1FCBDB74F591CC3,
+ 5FFD4BC1A7EB346271391205,
+ 2F407D57D8476238C54F8112,
+ EACA2C832850D2A048AF852C,
+ 56A2B221F07582C3693CFABC,
+ 478C6A7FDD7B257654B67B59,
+ 044402CF33BF673FD4FE541E,
+ 418464056E84CF38CAE498FE,
+ FE9F36798B9C61600626D1F4, ); name = threads; sourceTree = "<group>"; };
+ D3512F785BA120E54E63C04A = {isa = PBXGroup; children = (
+ 925360F7E3AA48D3AC8FC71B,
+ D8D329C0D501906C8E581010,
+ 7C22E5FD3C91AB34CB539E2E,
+ E30FA02A405F056C289608F5,
+ EA5D4A0F009B78BF824D7226,
+ E5578FB0E512495116B71F3A, ); name = time; sourceTree = "<group>"; };
+ EC1FFFA5993CDB034E258369 = {isa = PBXGroup; children = (
+ C3CD93C748F880042436180B,
+ FBEB137F69B8A261A4B64760, ); name = "unit_tests"; sourceTree = "<group>"; };
+ 53217A64F101B06C4D0167DD = {isa = PBXGroup; children = (
+ 684A7466DDEA4CA1F785AAAF,
+ 9AAD723B4A3EF1165901402F,
+ 8EE36E6294B0521F7F8FA4AB,
+ A36BCC5ED3A26F2E5592EE32, ); name = xml; sourceTree = "<group>"; };
+ B5FF8EBFDC0215A766098119 = {isa = PBXGroup; children = (
+ 13B537AE02190300E0DA5322,
+ 857C1BA3AF5C0210A8711464,
+ 734EDE0CB353BEB637FB28DF,
+ D051EB3531C22746F7AF08E8,
+ CF0A728B82AEB2D5931DB6A3,
+ B213182B13BE510B8B96939D,
+ 303AA74F7D9B6F2E8804A2C1,
+ 4A7D2BA623D3A1DE6B99DF1B,
+ 0063493D90122A5E9F9000A5,
+ 0CC5574662C83E89FB9A4F6A,
+ 9F8A9B400F29F93177C13068,
+ 99D1B54C81E3B11E5A515449,
+ 81F5049B4903492A6902FAE3,
+ BD2ACF51D2EDBB8D946C168B,
+ 6C75E5D335754A26EDB64C0E,
+ 321F587832C3C6C024BDD0E0,
+ 62D3C5C70DDBEEE7E16DD1F3,
+ 9621212C05067BDBB1EDC4B0,
+ 699EFC7DCE06711BB6C07F36,
+ D2785AE695E6FDF8147EEA2B,
+ BEE43FF11F7D88506B3B6E90,
+ C1474E839569EDA193F71BBC, ); name = zlib; sourceTree = "<group>"; };
+ 95659821E46C968DB6384EB1 = {isa = PBXGroup; children = (
+ B5FF8EBFDC0215A766098119,
+ 132DA30E80054A4CB1682F5C,
+ A66CEA1922F1866BA9A10592,
+ 3228E413B22DEEBDBA7ABF83,
+ EAB8F9E9C69FDA9046914C57,
+ ED351CFC37C81F20B6D6B01E,
+ 7433092862D26C58AF93AE62, ); name = zip; sourceTree = "<group>"; };
+ 5CC42EF0177D6F44F26F0570 = {isa = PBXGroup; children = (
+ AAD6D4686EC957A745989577,
+ CEBC87FED7860FF4F8EAFBBC,
+ 0FD30CF6F6B0DC38E6CBED82,
+ CDDFF74DF54842375F1A11B1,
+ 395D3401AF8861AE32D6B053,
+ 0BEC7E45CA53EEC113EC85D5,
+ AAC33A3115E54835F98F0BF5,
+ 162AA8750F236D0A456810BB,
+ CCAEF77ED7D83EF2AC36927E,
+ A465EBBDDD9E1BC6010869AD,
+ 0B417D1083D3F2FE398636BA,
+ 38AEAA833C644AE23B5C335E,
+ 5A7DCF104E61A11077F7F8B0,
+ D3512F785BA120E54E63C04A,
+ EC1FFFA5993CDB034E258369,
+ 53217A64F101B06C4D0167DD,
+ 95659821E46C968DB6384EB1,
+ 15494D9F18EC8265BBB4BA44,
+ 078D0122C02815C45F14E220,
+ 4EFDE9EEDF6DA6E5A066F2DF,
+ 078D0122C02815C45F14E220, ); name = "juce_core"; sourceTree = "<group>"; };
+ 9D7B25358BD5C5AA07B5EC21 = {isa = PBXGroup; children = (
+ 5D55C700506847B0C3E7992A,
+ AB86D69CE5472E765749D5E2,
+ 8195E5CA20B1E6DE88148B41,
+ 82CD7AB6C8788920318BFFF7, ); name = "app_properties"; sourceTree = "<group>"; };
+ 93858860095307EE90AF2FCD = {isa = PBXGroup; children = (
+ E0CD810D85D163FCA2E05D6B,
+ 69571EA44314BEC40565D70D,
+ 0C59026808740853C23AE185, ); name = undomanager; sourceTree = "<group>"; };
+ C91FF17401D512FD0BC96A03 = {isa = PBXGroup; children = (
+ 1CC0B58D7AEA47DADB041C96,
+ 9EA3A564C2056CABF6F64F19,
+ A3B3FBDBB67F69256BA6A290,
+ 3E7005B5E5C7E2B1EE1FEA55,
+ A31630141AF03CAE86F4228C,
+ 735B02968773FD74934EC9B9,
+ 9BEA281CBD5878DF1330C6E8,
+ 5236F7786FD9BFC43D9ABD94, ); name = values; sourceTree = "<group>"; };
+ EE7F58530DF1E8A70FBA260B = {isa = PBXGroup; children = (
+ 9D7B25358BD5C5AA07B5EC21,
+ 93858860095307EE90AF2FCD,
+ C91FF17401D512FD0BC96A03,
+ 36AB1E409836F7CDCD24CE58,
+ 60D50FA5390DEADA129CBD25,
+ BA5EBAC0C16D620D37B80143,
+ 60D50FA5390DEADA129CBD25, ); name = "juce_data_structures"; sourceTree = "<group>"; };
+ 6C45D7ACBD9C3F8D5B5527AD = {isa = PBXGroup; children = (
+ 1FF09BE12A8EE7359DEB6A11,
+ 72D97C35265816BF84B17A64,
+ D07C119AB16FE4E41B441B71,
+ D2A1AACEFAB1D922788314A6,
+ 4E93F48CAB3C538054B0D9B6,
+ 67EE78D1C669F6DDED31CB39,
+ 8646E594783C3E937A259EEE,
+ 10AAEECABC6BA65A3D2C4933, ); name = broadcasters; sourceTree = "<group>"; };
+ D70DFE1F0FB32A198928B375 = {isa = PBXGroup; children = (
+ 77E856C4EDFB5608F03EBC99,
+ C6144891191A6E1C95E21A25,
+ DFA0BD689C1C350DD66B8F10,
+ AB90BC12E5EAC2E1A7FDF691,
+ D67495EC058C6FDEB8C0FA6A,
+ 148AC48B82DFEC98FECBF5AC, ); name = interprocess; sourceTree = "<group>"; };
+ 80EEFAF487889674F6EF1583 = {isa = PBXGroup; children = (
+ 2317A757B8847CE1AE30010F,
+ 8221F414FAE8FBF996CBF033,
+ 676856EAC9E9FFB013E6B910,
+ FAF382A2237B019DC61920B4,
+ 66FEE3D850AB3A3D9FACAAE5,
+ 42D58F7C9468DB8F354B353F,
+ 85D8D664D73759C455C4E8DC,
+ 0A986A71F3920D38E7D88F58,
+ 2AC4F829CD8C78F19827A695,
+ 41AB492EEF462863E50AF460,
+ 8559A01D9B969E13A40980C6,
+ 9AB6CB5AF2F228CAC1AE63D6,
+ 184CE8BA435703F28975DC5D, ); name = messages; sourceTree = "<group>"; };
+ DB244ED32E405D91AA96D9C7 = {isa = PBXGroup; children = (
+ 5BC395EBD64E8CAD3F608735,
+ 41641B5371BDC760981FDF9C,
+ D1508B7542B04397ACF773B4,
+ 9B6A0011D68BE05B0848FD8A,
+ A212A98178DA800BC7104EED,
+ 104FFDFF6CC57A7630FB7EAC,
+ FA67F7DC71898AC7AD4F0284,
+ 86C53DA3976331FD98DF115F, ); name = native; sourceTree = "<group>"; };
+ D2EB26DAED839AE88CAB724A = {isa = PBXGroup; children = (
+ B46FA7622255695A963FCEA5,
+ 3E176A88BA217ABC03C93CD0,
+ 4F2671111CAD35AA9A14E50A,
+ AFE49D942B97B2FE5BF6345F, ); name = timers; sourceTree = "<group>"; };
+ 8B7CDF2D950588E762525811 = {isa = PBXGroup; children = (
+ 6C45D7ACBD9C3F8D5B5527AD,
+ D70DFE1F0FB32A198928B375,
+ 80EEFAF487889674F6EF1583,
+ DB244ED32E405D91AA96D9C7,
+ D2EB26DAED839AE88CAB724A,
+ 193954F9CF9005014377F9FF,
+ BEA1459932A75A2D6AAD4B43,
+ 55EFBD6183E831FBD8826325,
+ BEA1459932A75A2D6AAD4B43, ); name = "juce_events"; sourceTree = "<group>"; };
+ C6780B6FBC8E601F934FC158 = {isa = PBXGroup; children = (
+ B2EA904753A758EA2A653D82,
+ 39B450967D7D7D4B1E1ECED3,
+ 7C137769611C5A269332467B,
+ 4DCF8D8075DD05492643A922,
+ 3B2A1B51E2C33786098AAE49,
+ 9209F549B676E740E0B83FF7,
+ 6A95798F17AF7D10D2677BD7,
+ F6EB5AF7554635EB441568FE,
+ C9EEE195FD4C2C90915219FE, ); name = colour; sourceTree = "<group>"; };
+ BC17C7FEA1883ECACA434368 = {isa = PBXGroup; children = (
+ CE2F5008560ED985C0B8B5EA,
+ 43573D003FDD2FEA313A8B2F,
+ E1C8BA4CF79BCC3B0E758A9F,
+ 0EE7D572D91B088532018993,
+ 9FF679F47F9901DBEE96E2F4,
+ 703BF13C50FBAA0690EB819D,
+ 752759743BA54E6A4E34EBC4, ); name = contexts; sourceTree = "<group>"; };
+ 1A35F54335F030EB7CED69E1 = {isa = PBXGroup; children = (
+ B087CFCD5381A67E8ABE789D,
+ BD7737BC6B7B6EE4AE3DD687,
+ 30845B589D24B592C853C93E,
+ 779FC2189E09A0B4A15C45F7,
+ A378497FA09036F13FA411C1, ); name = effects; sourceTree = "<group>"; };
+ E3D96D5BBF636EF28DE616A4 = {isa = PBXGroup; children = (
+ 3BD3060E486C89B438B21F43,
+ 68C49A6E9109C5F448289C25,
+ 335219963DCBA3F85AC6C232,
+ EE16A3FB712E9DFB3EE0A875,
+ FC7AD77D53883AA7C906A6A3,
+ 80E4BC98EF30B463FCBF95C0,
+ 04C07E0DE8225D8E6F791D96,
+ 6E6A0A28D29F9CE5A97D9603,
+ 38034209A283D7F8D56B5E53,
+ D3B2CF92BBBABE4AEEC691A3,
+ C2585C4A959C4CBA76BCEE6C,
+ 9D45A965F9A8184B64460680, ); name = fonts; sourceTree = "<group>"; };
+ CC3BF308E1C5E427BE3CF882 = {isa = PBXGroup; children = (
+ 21479ABF74938D58A8859E57,
+ B0276417E1FCAC6415FEC24C,
+ 16118DB20238C2B904A3FDA7,
+ FBA7E37B32790A96A06D3D71,
+ C4F45122F361CE23DDB32596,
+ DAFEB9CD6997FA5768A7DBA5,
+ D9BB56CF58E7421832148DEC,
+ C52BA5CFAC5D4DE4CEF2A51D,
+ E844B59EADE8FBB9804FCC9F,
+ FF4021F0CFBE14A6FD29CCC1,
+ 64E3E6EDAFEA1CE0C515588A,
+ 17B2AAE117564DA4933B70AA,
+ 2D2C6DAA3B50438E63266771,
+ 9B8C599BB498481CB64141B0,
+ E93C91661F22E59660A807AE, ); name = geometry; sourceTree = "<group>"; };
+ E0D35A029E21EB7BA9064153 = {isa = PBXGroup; children = (
+ 40BCCE9C782DBAF6459C3EDB,
+ 9E8FB4DD69AA02041D70B749,
+ 38A03045629DB69AE42D4206,
+ 72300583DCD807FB8965116E,
+ 2282324E575678E8837470EF,
+ 770D1A48C625E77273E34C64,
+ F5CCD78E2928A6021051AEE3,
+ 11D3E71143E92D6D541C2E68,
+ F8B25FD2FE72F0862EDA70AC,
+ 0721D51684D1E4BEAF849793,
+ 271866450733C15873B1E46D,
+ C33F5E40671D8969529DC1F3,
+ 0A9B3441E4C766603206171A,
+ CF095321F298B5EBCC94F41C,
+ 2116BBCD560828B835577E82,
+ C91C155CE2FBFB917E03E114,
+ E8345B1296211CB1845D88C6,
+ 1BB1E8928FBEB3F72621F2F6,
+ 104CA8597373932F80F25354,
+ E61A0BF68D610DA6AB86F94D,
+ 906854E5A523A5B01E5B5E63,
+ CB01B5AD5F8CC26814C1FAE8,
+ 986D508D78EA59268FADE965,
+ EA21A9139BBAE2238DBB6920,
+ E40C81964A35DCBA5C07A708,
+ 69B3DA0D93EFA18D005D4BBA,
+ F4E74A5B357BA4EA4CEC0F13,
+ 4B28F11FE91DFD5341610403,
+ 5B9F3AC6C97B813BB96F9C07,
+ B2D8F96F3F4463D678951CD6,
+ 1B6684D65B3AF31CAB4D7B8E,
+ 3568F7E50F7858A1B6279DDE,
+ D9F59FD82ECF3FDA305537AA,
+ 4EDEDEAB7029C5B5C2A63A15,
+ 919C366862EB3C10E5850D70,
+ 8D5DB6220A070CA7C6EF649B,
+ 27957B112247D501D6B6FB8C,
+ A61B0324CAD4DE2A04ECAF2D,
+ 769FABFC14A17F7AC2BBC65D,
+ 9915EA36F2BC695AD5DA1FB0,
+ 22866A3227D44A6B5CF577F6,
+ DDE841F2D06B35620C95F7BD,
+ 3E17AE4B984D9E4083124600,
+ 3B4E0B86B77DC40F15FB3F94,
+ B6F1AD93847540736A7C3B96,
+ E7AAC5B8A3584327D2A77AE3,
+ EA2B74AE3EBD1A8CE6BBE889,
+ 0FBF55B74F1BFBAF8F670E2C,
+ 30E6F8EE669C2F151A9F2956,
+ 58880E117B1FCE6771ED958A,
+ E00E9055E0D461FBA65415F4,
+ F5AA13686E3E014FA127B57E,
+ E77ED2BF4E691CDA0BDF67E5,
+ 6A194777720E39F99CEBDE68,
+ 23E572AAE21BB03B019F07EA,
+ D9158BF72A9410721CF32E92,
+ 8853EE56290506D1C5B1A324,
+ 2D583C31EE6E9A5D8ACD988F,
+ C49F54FB785A0B5D4D41B6BF,
+ CE38F82B1484802D0AD0E8BB, ); name = jpglib; sourceTree = "<group>"; };
+ E252C4CC79CD0D4A50359EF8 = {isa = PBXGroup; children = (
+ E92CA7282B750596908F685C,
+ C468BC4730E745AD31CA903D,
+ 3DFE53F6F99C7D51A8032CB1,
+ 9EB8EAADA992AB7525B04C57,
+ 6EB3442488752F0077F61CFA,
+ 20AFC08D3825F8F1EA4C4352,
+ FE6B0496C0CC7E25BCB6A277,
+ 80D52462F8B49C3D1FBB6349,
+ F9D767E4012A0A1ADD83A533,
+ 90EB80CDB45A0909C2ABDCCF,
+ 22A423BB04E0A3F1C2C3CA63,
+ A0B76982E47F6552E076C115,
+ 2F85284E588516584213B5F1,
+ C75E0D3ABA4599B591806B6F,
+ 593FDB1011C838F5CB25E6A9,
+ A8ABBA51A3DEB23F46A5EAE6,
+ 650E5906E5CAAEABABFEEE1C,
+ 3CCEB87B02CFD73B01FE5E3C,
+ F1CB294C66C69F817C9CDC1B,
+ DEBEFE952C92EE38B62CCBA0,
+ 2524470C265DC4C41D0F12FD, ); name = pnglib; sourceTree = "<group>"; };
+ 16B6DDD69A3C6342C3ED929F = {isa = PBXGroup; children = (
+ E0D35A029E21EB7BA9064153,
+ E252C4CC79CD0D4A50359EF8,
+ E758FAA869708918584DA19D,
+ CEF6725F5E19BCCBFFE5EB68,
+ 0DA6F88B400D1BA27A9EF72B, ); name = "image_formats"; sourceTree = "<group>"; };
+ 540901B179BD14810F98D941 = {isa = PBXGroup; children = (
+ AEFAF28C900A0DFFC5F6FD40,
+ 2FB361FFB25BD8EFB6160374,
+ 4D4461D4DE302DC06DE22D68,
+ 73EF2B898A07179D14B9EE08,
+ 215273F35854D93D4684F590,
+ 3AE6DEF29143AA3E59CEB1DA,
+ D67E60A34C5191583B542922,
+ 269A9F80899756D1F87AA82D, ); name = images; sourceTree = "<group>"; };
+ 3C7EE0C47E42BE0F161EFB77 = {isa = PBXGroup; children = (
+ 2F03461E6CBD4354FE073460,
+ 45DD050BF036D8362025CC86,
+ 7AB01CF3ABEAA9948DC8E0F8,
+ 72D5B90B3F201DE61EFF5904,
+ 5C67296AC2E94992F244B1A8,
+ 5779480339AAA112A12315A1,
+ 59DBC804E4110F9FCDDAB23F,
+ 759D310E427CAB584332F916,
+ A7F8A897765E91543FF21D5F,
+ 6F4E9231B5C05BC368C3450E,
+ 490E933166E75FBF2163CAE0,
+ 84568194A9D160AD5459F013,
+ C19A71E5C01BB38E1EEA2110, ); name = native; sourceTree = "<group>"; };
+ 8E26D163EE3DCAE501FEC883 = {isa = PBXGroup; children = (
+ F075BDDDD4F7DBB900BB457B,
+ 13F0C5C5B5775E09051D19D0,
+ 2B64FDC069A6D6C03128F3C3, ); name = placement; sourceTree = "<group>"; };
+ FB0B308B3B55C9CE28D2A00A = {isa = PBXGroup; children = (
+ C6780B6FBC8E601F934FC158,
+ BC17C7FEA1883ECACA434368,
+ 1A35F54335F030EB7CED69E1,
+ E3D96D5BBF636EF28DE616A4,
+ CC3BF308E1C5E427BE3CF882,
+ 16B6DDD69A3C6342C3ED929F,
+ 540901B179BD14810F98D941,
+ 3C7EE0C47E42BE0F161EFB77,
+ 8E26D163EE3DCAE501FEC883,
+ 06497F2BEB751B1840F27F62,
+ 1F58F7262450884A7E6BEF4F,
+ D8A1D9C7F7B42C75598A385F,
+ 1F58F7262450884A7E6BEF4F, ); name = "juce_graphics"; sourceTree = "<group>"; };
+ 1D45C78337A8A45497AF24D2 = {isa = PBXGroup; children = (
+ 93286547177CBA88A45187FB,
+ 0377FDB5BDD3EC08C3F83FBD, ); name = application; sourceTree = "<group>"; };
+ CAD01FA6B80395085918D809 = {isa = PBXGroup; children = (
+ CBDAC7F54358B29D622C7659,
+ 398873B7F0980B7D27356464,
+ 3BEC5630096C646AACD87205,
+ C4DDAA034449093B3E5A60ED,
+ 02B1467586FBA8F5C471CDCE,
+ 215A5B82922A9A95F68FE7BA,
+ 7597CCE58D1B95FB4342EA91,
+ B327326ADE69CAEA4410249D,
+ 2736B4003A6B1E2AFB5B0F60,
+ 9AB80400C174A565798B4DC7,
+ C2B755C206D3AE7B0B4463ED,
+ FC70FA0EABE4EDF87260618B,
+ 7D272E58C41C4B21A689C487,
+ 54FF63024B2057CB82A3009C,
+ 0EC222E14CC7DADB74BE6E80,
+ 0C338FC94EF538E20E3BD3CB,
+ 7E4D2E09A56241058D485070,
+ 737EA145B8366E0A55A8D6A0, ); name = buttons; sourceTree = "<group>"; };
+ DCF8B732A58C87567166A89F = {isa = PBXGroup; children = (
+ 26D37FF39DEC1AAD1AC03A53,
+ 2A28AB08780C76D52CA8D732,
+ 34A09EB72E861BC2E41CF66E,
+ 2C7B8BA92ACDE7200C096AD9,
+ DED4D4557567F40DCDA8340A,
+ FB87C64D7D673B76E4B5209D,
+ 4E8EA77D5F1F16096D60F3CF,
+ F5668D6CDFED46BDB46C2E75,
+ 6A84B8A22E5DA1A769CCC18C, ); name = commands; sourceTree = "<group>"; };
+ FEA821AB5BDC38FC45CCFB0E = {isa = PBXGroup; children = (
+ 4840F2FDA6C6A3E0CA41FA3D,
+ FAB83E6CF91D59901CD87D9F,
+ 0E204D9C847CEC5AE4391ED5,
+ E39BFCA09C446A2AD541D66C,
+ 3AB83A04D08F2F329AB81AE1,
+ C5EDD0AB18A362054E8FE283,
+ 5AD9E3796F5E585A81810A09,
+ 3A795BC053BEA2428052FEBE,
+ CC485BE41CFF25257214B6EA, ); name = components; sourceTree = "<group>"; };
+ BCCE53D07CFE5BBCF58B00F5 = {isa = PBXGroup; children = (
+ 31AA33CB3A5577B36EE0017D,
+ FAF5B61706BC2CD2EB68B550,
+ FF748D1941B41C1794A241EA,
+ C08E2831019572E220A71669,
+ 23C9352D9EEFA048506947EE,
+ 272EA32D51A8C8AD73A45D9D,
+ 76597C68627FE0AF43DEC454,
+ 1CF24016C5884A75DE865988,
+ 02633833709D15831BB6A4B8,
+ E4FE73FA8F2ADD14B7E7812E,
+ FD2C8067AE30B6CEE4CE988F,
+ 57BFD80A8E5673123D9004B8,
+ 5687068AA9A10610CCCAE92C,
+ A6722561E959322FC2D3F8D7,
+ DEB1AA246A3B2804C43992C8, ); name = drawables; sourceTree = "<group>"; };
+ 306F1A4F0336750F6B01B5DE = {isa = PBXGroup; children = (
+ BFE7003BFA12C79A7E70E2F8,
+ A34E3CFE305D1CC76C0046C1,
+ A288992FC193721FE3DB4BD9,
+ 961B5BA203F6A096FC1D5221,
+ A02B644EE002D5CDFDBEB472,
+ A59CDBDDAAB25C0621DE2C22,
+ 5F2ABD15045B9C2D45BBB281,
+ 49294AB2D8C5CCBBE763EA04,
+ 98BD14DB6D84583B0A2138AD,
+ 599F21A262B43F26B31A0137,
+ 1A54156E7F0715AA90652992,
+ 75AA9C6E3FC6AAE881B93CA3,
+ 38448998E8030347F182B334,
+ 7BF8065AC65F92C392CDB058,
+ DF5C47F2732316263F27F35B,
+ 340EA1B2263C37EC8A7B6014,
+ 43BB607E9D1BC08AAF03B711,
+ 71E11286C74E10382B85CAF6,
+ 6E0317C6D582381E18F6FC28,
+ 5467983B508645F3246CADF1,
+ F49D80F0D4131FFEA98F85BC,
+ 3986436BB1332AA00187E0BC, ); name = filebrowser; sourceTree = "<group>"; };
+ C4EB51DE075E129C945DD29E = {isa = PBXGroup; children = (
+ 3DE8B0B99FE443C92EE32CCF,
+ AD2E097A960F2A4A946CF177,
+ 687551D7CBDC73E3D249A30E,
+ 60001B432129FD5855629F3E,
+ 19CDD6C2AE371BE31174D5F1,
+ 78D3A157D1DCAB72DC7D4FF2,
+ 332586DA099D853A0202054A,
+ C8F3A77AFEF173C097EB08CD,
+ AB7710558CEE0A3C649AD2AA,
+ 0AA6BBC6867F7EEA5C10722A,
+ 1DCD9527835FD4771E959818,
+ 948ACEC6E5E7FB3963593D14,
+ 7EC2BB0FBA7BEC433B901162, ); name = keyboard; sourceTree = "<group>"; };
+ 33C4DEF9DFBC1B0AC46194DB = {isa = PBXGroup; children = (
+ E2CD239EB674A987631C1F95,
+ D2F9B4B64C205F3461541930,
+ 8E607B1E70CF61A3B3F8B230,
+ D202B1DF5EEDD627489E729D,
+ 65E03D29E9BA76F1CF344B75,
+ 7B121FD3C6971459B5EC4DE0,
+ F83D0DB57AB2C58AA5FFCE39,
+ A9717066C7343E734BBA14A7,
+ 6259E41DD05DF414BFAEFF1F,
+ FA06D31009B123A360853CCB,
+ DA5417FE6CC33732AF61D3BA,
+ B29BA78743A8C82A8575D41C,
+ FB6917E81414FA81F7442188,
+ 2A1D123CDD681C79A4830CD9,
+ 5321E4A1DB897A2B7CF23AC0,
+ A02D981AD55D9C837497D9DF,
+ ABA533A5D4493250568E3659,
+ 1C14BD4230F9672D9AE44BFF,
+ E912FFD60443431073F49E05,
+ 97C4CF34A7B666E1076D8643,
+ D3BB46A0AFF947844690B42F,
+ E2D85F080ACAE32DED909D5C,
+ 2926E85AC4A3BDBC357DADA8,
+ 0DEF8B7D54BF56ED8569D690,
+ 3DA85B078D53F40F9AE66620,
+ 4581D33463D9A6F637E8CDD8,
+ 46AF0A703258AEE24688FE5B,
+ 5CD9180E4223F79C65313EF8,
+ B9C32654F4F4FBDD5B8D8371,
+ 134A859AAAD880C6CA78BA16,
+ 7890A2750EB787AEBCA75F19,
+ 7F5A0B43EA4CE0599C30637B,
+ 03AF279CB4C8AA1B917C9E6E,
+ F581127924048FE75A58A428,
+ 0BB1F767785BA329DAE91DBD,
+ 680095499A49102EF1B7F3C0,
+ 930DC0F3CD592DE7B6A6945E,
+ 5634188A865D1AED86FC1030,
+ DE56F99143A2BEF2EC4E15A0, ); name = layout; sourceTree = "<group>"; };
+ C7F69DEF5735EE1DE8040CFE = {isa = PBXGroup; children = (
+ 49E68BE55F02C76D1A39B8E9,
+ 1072ED1E4C961324C65D3305,
+ 9D08A5F790FC71D1BE770D20,
+ 23543D16B95632B1C14B943E,
+ 0DE80059716B40D2D9BBEFC9,
+ 77F678CCA2C005969380CA48,
+ E8A878C2CE1A7EB1EEF6B92E,
+ 19BF72ABEB3B9D8D776744EE, ); name = lookandfeel; sourceTree = "<group>"; };
+ 56D11FD66F31AAC989E14651 = {isa = PBXGroup; children = (
+ B435295F7A3969E6EBD4E9B1,
+ 1FEB7C2AD69F03FD21C04CD8,
+ 226BD1CCCAD60DBD0167568E,
+ 16E132B11E1648815CEFF729,
+ 716E7225D1FAE92136DDE91A,
+ 6ABDB6B3BC707D5EA4E754E5, ); name = menus; sourceTree = "<group>"; };
+ 321D3D0E76FDD485F0E19A91 = {isa = PBXGroup; children = (
+ F053B1F18F39980BB1E8F98A,
+ 492DC3C535B73B14A707133A,
+ 276FEE4DBCB6806D06E959BB,
+ 1D0E04EA23573F4C5199DFF3, ); name = misc; sourceTree = "<group>"; };
+ C746B6625833C2CEA0E19D07 = {isa = PBXGroup; children = (
+ 77847C660F3D9562BD1469FB,
+ E222435250E8A57C88E441F8,
+ 721BC1EF4670F969B327BCFE,
+ E6335D36399077078BC78ECC,
+ 060D039A8903F16757040051,
+ FD456DC8A0AA86BA70897D1A,
+ 4A65ADBD6816BF0C9FE56E0F,
+ 57436F09E9FE1CB619681DE1,
+ D0F5CD629E1D7C466E87A7E6,
+ 15BEE6B9299B0E97F16C07D8,
+ 7BD3D12701E20AD0509702C5,
+ 31531D45E19AEC8E3EC90C90,
+ 13ECF6CF71CA92E4E1F845C6,
+ EA1AA20402977B302BF5D363,
+ C9F2ECCBC4868DE614C90303,
+ B3A5905404A72FDE0888DF46,
+ EAEA770719580DF72D030505,
+ 66AF1158C662CB915EE1F216,
+ 0E4C2A01524E87834E2FB4B2,
+ EEC74F1DE224D270462503B0, ); name = mouse; sourceTree = "<group>"; };
+ 34C8BBB7ADCBF087368A0BBD = {isa = PBXGroup; children = (
+ EC7D9B630F5FB46258974133,
+ AA1F66345AFB2EFA32855F27,
+ 46A6F1936584ED15D40366DE,
+ E5F14F3C17FA5BC721CF06CE,
+ 5ECB1585CB10B6336F35039E,
+ 06B84EC6276C82A50AA87A78,
+ 137382482B888F9A1245CB52,
+ E4E4B644F52739096EC9ED59,
+ FC25CF1063C88216E3462839,
+ 2973E5E96EE07B12B06E4901,
+ F2070BC848C05F66E134D7E4,
+ D4C6A262AAC6CD01030A56FC,
+ D81D661338436E213B25F8BF,
+ 0D5C830BBE28DBA8795B10DE,
+ A07531AA213977EA9B7ABFC3,
+ 12B073CF9C72D46B540CB899, ); name = native; sourceTree = "<group>"; };
+ 699393ECB7C57E463E608EEE = {isa = PBXGroup; children = (
+ 7E5C701836EE0E311AE805B7,
+ 1CDA4FD4B1B51222AEE6DCA2,
+ 04E0627AC999CE642D9009F5,
+ 01B2BABD6C54666254257CF9,
+ BE531AFED218010571C90AAD,
+ 2F6F34739BCD0348BAC4D5BE,
+ 35656731DCD6703896CEE2E8,
+ BC2B18695DB1F8287E5CD7A4,
+ 2C126377CD039D5D20DF0090,
+ F18CEC0613E333793CE487D1,
+ 6B130B8EFF75E1ECF0E20F21,
+ 731A4FE5C9250FE1D83D2008,
+ A79EA78DB02B7098DE470DC2,
+ ACBA16D63E4470083B7CE29D, ); name = positioning; sourceTree = "<group>"; };
+ E0ED8FECDD5ECEB822B913E5 = {isa = PBXGroup; children = (
+ 7F0EFEADDCDF0B8C3BD1278B,
+ 263C2C63172A2793CE67D3D4,
+ 9F8621A060D21CD4F8E52082,
+ 04D3FE9C1AC2AB770BFFE0EF,
+ 5FEDA06DD9D390733743ED0F,
+ A0A4D1CCCA84F1D6EC92D442,
+ D62EA842B44315CFBCB24BCF,
+ CEB10C78DD0C1F9970029F25,
+ 40C17131B384BEEB66A4FAB1,
+ 28DC9D131B0DAEB78CEA016A,
+ CD768752C091A375ADC708A7,
+ D81B4D2BFB753FFD2D6F3AF0,
+ B62F00B50AC42FC2DC1ADEEE,
+ 2FAF11C9F6C314A36C879445, ); name = properties; sourceTree = "<group>"; };
+ EFB162A49E91B2A648212C14 = {isa = PBXGroup; children = (
+ D403908B6B803FA4EF5BDBBF,
+ 67606EF1CD1DDF9D69C93DFB,
+ F72B09FDE33658D77B49C7A6,
+ 392CEE74B1D96166F05D02D9,
+ B22A37C8077912A763F8FAEE,
+ 34A1DB27664840651D853100,
+ 093309B3FE42407C9C80EB2F,
+ B979BF385FBD2717200311E7,
+ 9851670A2A94D090ABDCD8EC,
+ F392A87E5AE1D4D390FCF488,
+ 4C9BD4A188792CD1AA04D76E,
+ 976DD9AF4615787148AD3141,
+ 86A4BD370ED34FF4CC252A18,
+ 2F7EBCA1222D6D2E4B89FC2E,
+ B000E9B383585F14D4106B33,
+ 199FB84B17D7610C48A08C12,
+ 451702B185B088648F14A833,
+ 25616CCE492D37070C5FCBFF,
+ 2EA0BA49F0FEBB8B4BBEE3E0,
+ 0F40FDDE37B6B63FEA333F05,
+ E24521953703852377A32D70,
+ 4846DC8E7DFB0B17B0FCFF60,
+ 4307B791E5DC631C9447D24C,
+ 641322D5C3949AED6682C101,
+ 814F764F531DA3B45B982764,
+ 9EBFDCA556AB40E02BC2D3D9,
+ 6FC15D6A4868FBA38C374110, ); name = widgets; sourceTree = "<group>"; };
+ EFFEDEC35E4A38750F7CB582 = {isa = PBXGroup; children = (
+ 4EECFA337A245BA2F32FDE9C,
+ 90168C92385FFFE93633DD25,
+ 2E7B68565DA034DDCF34573C,
+ 6FACB6671DF178C374D288C3,
+ 531078615D14BDA90A50AA53,
+ B4E737B45F3090ECA81D34CE,
+ 9A798AA0771301D879ACA0E6,
+ 6A5C7073E616E3C027C7298C,
+ B58ED38442F322226E81E930,
+ 8E25DB9F4F02D1EB553DD954,
+ 9D86489534874805E5005BEF,
+ 7C145A4C116A743CB8D0624F,
+ 031D1BC4C76359BA17663E17,
+ A49C327EA3CD090C4768925D,
+ AF000B66A6C3683AA30FFA85,
+ CB6596103EE0B3579B8D2C3C,
+ 8033E71C6724106F16F7FC35,
+ 678100D85EB6578B7390BE6F,
+ 33FED0E86133FA3439FCA42B, ); name = windows; sourceTree = "<group>"; };
+ 54AC93CB6D9A615C39CB06B5 = {isa = PBXGroup; children = (
+ 1D45C78337A8A45497AF24D2,
+ CAD01FA6B80395085918D809,
+ DCF8B732A58C87567166A89F,
+ FEA821AB5BDC38FC45CCFB0E,
+ BCCE53D07CFE5BBCF58B00F5,
+ 306F1A4F0336750F6B01B5DE,
+ C4EB51DE075E129C945DD29E,
+ 33C4DEF9DFBC1B0AC46194DB,
+ C7F69DEF5735EE1DE8040CFE,
+ 56D11FD66F31AAC989E14651,
+ 321D3D0E76FDD485F0E19A91,
+ C746B6625833C2CEA0E19D07,
+ 34C8BBB7ADCBF087368A0BBD,
+ 699393ECB7C57E463E608EEE,
+ E0ED8FECDD5ECEB822B913E5,
+ EFB162A49E91B2A648212C14,
+ EFFEDEC35E4A38750F7CB582,
+ 20352597FF0FD0A4B487CCFC,
+ 7CA69469B3AFC9137FB98243,
+ CD9017D48D6C56C7D57426E8,
+ 7CA69469B3AFC9137FB98243, ); name = "juce_gui_basics"; sourceTree = "<group>"; };
+ C30D3AF040D73E55B642D612 = {isa = PBXGroup; children = (
+ 7F81AFE4D54AA74B17E81899,
+ C6438C01636AC02F3ACEF42D,
+ 00D6F7A03576F399711D5ABC,
+ B86B55CF411F403FBE6EDD8B,
+ 26083ECFA60A676C6365DA3D,
+ 4D84F3F6235C49D0ABAF4885,
+ 8A9F1BF21DEC92A64F468E9C,
+ 9DCF20D6DD5D63567ED73A68,
+ 5E0AA1FA0367D0B8D32A5FDB,
+ 52C4BC3D28F8184BC2F6B022,
+ 6F303FBDC38398256ADA7BA7,
+ 4A7DB9A482CFE6B1FCCA6174, ); name = "code_editor"; sourceTree = "<group>"; };
+ 6C8E42821ED5F48D5E1162DF = {isa = PBXGroup; children = (
+ F312C15C8FF357815A5D852D,
+ 6897A03FBCF6F3E3FE02DD69, ); name = documents; sourceTree = "<group>"; };
+ 175807F9D449A924A35D7995 = {isa = PBXGroup; children = (
+ C438A00F7FAE0D151BC99D0B,
+ D1831592A88B72CE43CB9130,
+ B6C06A491AB738501ACC77AE, ); name = embedding; sourceTree = "<group>"; };
+ D77358461927DD290D45860D = {isa = PBXGroup; children = (
+ C6FFBF028815A3D4D197C1ED,
+ D1C39914B1CDF9FDCF40F03C,
+ 7991C45FB3CCD45D46A7EBDE,
+ E30A6EED52F978044DBCB34C,
+ 9CD5DB53DE796873DC2EE4E0,
+ 9DB368AB3A1712F5E741DF8E,
+ AF4D1F728B7B429CBDEDC468,
+ 541BEA0E11518594C696094F,
+ 27609A10FE09083D4C31AC75,
+ D7BEC4451FBA09761F065B12,
+ 515145EF420E45BB7E0402C5,
+ 9C2237E651B7A187DCBB75B9,
+ 78655006F91EC8E5C99A6991,
+ CD875963C6F9C05BA11A4AC9,
+ B19D61C3D2D7BF60030FD1E2,
+ 48FC93C2649A6B6B478AB4B8,
+ 77D91228977E55D6C4D6C97A,
+ A6EA6620D7460A9405F56693,
+ 54EB9618ADF1901432C2345F,
+ 40B2DF2617C73C0928FF7D93, ); name = misc; sourceTree = "<group>"; };
+ 181AFE89615BD447AC837B49 = {isa = PBXGroup; children = (
+ D71710BA7E52689EBFD91588,
+ 7A5FADFA9A6CF71D5D2B9FC6,
+ 36CA5FBB8A3CE191E952D894,
+ D76F72244214BDDDB9C1D42A,
+ C19D89C56696F5747C298985,
+ 816E973AAA295DE63DEBC95D,
+ 4C512E6E088C4B973E866756,
+ 529810AFE34B3B173DF7E89B,
+ E2760CFD55AAE533FAD166FD,
+ 58C7100720C49C23EA841B13,
+ F80A4EA6BE0D985876B9D4F4,
+ B107BF03016269AF7369630B, ); name = native; sourceTree = "<group>"; };
+ 62BBDE7395E0E3796E989B57 = {isa = PBXGroup; children = (
+ C30D3AF040D73E55B642D612,
+ 6C8E42821ED5F48D5E1162DF,
+ 175807F9D449A924A35D7995,
+ D77358461927DD290D45860D,
+ 181AFE89615BD447AC837B49,
+ 416061525348EB462B1603AB,
+ FCEA59DF5F16B5921093D94E,
+ BAF64118ACD931F4A899D18E,
+ FCEA59DF5F16B5921093D94E, ); name = "juce_gui_extra"; sourceTree = "<group>"; };
+ 564E35379D5589270D4653A0 = {isa = PBXGroup; children = (
+ C29CB9EBB689083DD7D99F54,
+ 64E5B84F1FA947FA88171033,
+ 2BAB647B7DA103003A8A11AE,
+ 656121CD59DA8E95455ABC28, ); name = geometry; sourceTree = "<group>"; };
+ CDC14C396BA572BB165A74EE = {isa = PBXGroup; children = (
+ AFDDCF42011A661D8A965550,
+ 604CC1744C3DFD07E43F6A82,
+ 4227DAE98212844575D0D944,
+ 2BC6A9CE84273433047F4C50,
+ D2CEF899F0C7DBD82CF4E7C7,
+ 007566E450CC50CB63D1C11C,
+ DB116314BC85AB60708C199F, ); name = native; sourceTree = "<group>"; };
+ 3A941A5B0BD465C28238ECA9 = {isa = PBXGroup; children = (
+ 3E2249E2AB8DC6FDCC87F9BF,
+ BCBB30471154DD69D59BEBE8,
+ 23DAF49B90FB33BB97015CCA,
+ CDA6D006DEE688324E2540AE,
+ 0B3FBA4C1CFF6D65E98AEFE1,
+ D2232FD5C2B1A361C7240C8D,
+ CED32466B0978556B4914463,
+ DEE463950B10373AB5BF1415,
+ CF632EB4950A71EC56190E3A,
+ 0717F6008681C056FF92AE41,
+ 3A56A49F2C3025A4E7E74C35,
+ 75F17FFBBC74680724103F2C,
+ E9DEFB9A762600C429F59B02,
+ 108582FEE483C0EAE1FF767D,
+ 30B2BDB16DA4D564F64D5CC7,
+ 289FA55DC2B007BF300AA35E,
+ 713A0BDC7ACC4F399C378A0D, ); name = opengl; sourceTree = "<group>"; };
+ 8FF38470A066ACA3CCA5DDE8 = {isa = PBXGroup; children = (
+ BEB701ADA012A1394ACCDD18,
+ 64F35E547771BD3A4ABFDB0D, ); name = utils; sourceTree = "<group>"; };
+ 202A764FF05218C5841E9086 = {isa = PBXGroup; children = (
+ 564E35379D5589270D4653A0,
+ CDC14C396BA572BB165A74EE,
+ 3A941A5B0BD465C28238ECA9,
+ 8FF38470A066ACA3CCA5DDE8,
+ A6C807BA364341686874B1BB,
+ 60EEA5E3658D36513E1A25FD,
+ EC98B82ADF1187D4060FC49F,
+ 60EEA5E3658D36513E1A25FD, ); name = "juce_opengl"; sourceTree = "<group>"; };
+ C46BAD19056C6AFCB61C8747 = {isa = PBXGroup; children = (
+ D50B2337B08D012224137BB2,
+ 6D10CDFC1618B6213AFBE599,
+ 2789350038E8D9166DFD8868,
+ 48B6293FB2A5EC097988691B,
+ 5CC42EF0177D6F44F26F0570,
+ EE7F58530DF1E8A70FBA260B,
+ 8B7CDF2D950588E762525811,
+ FB0B308B3B55C9CE28D2A00A,
+ 54AC93CB6D9A615C39CB06B5,
+ 62BBDE7395E0E3796E989B57,
+ 202A764FF05218C5841E9086, ); name = "Juce Modules"; sourceTree = "<group>"; };
+ 570059654CA1868864255660 = {isa = PBXGroup; children = (
+ F8B3AB36958E31EB6BDD2ED3,
+ C0CE2DBD3E07E03623F29618,
+ 5D4BEFEC0E129949C58876DD,
+ 1559C4DCC579423B1A05CF89,
+ 830F7516AA78496143854C16,
+ 7BAF11556203D550CE5E1560,
+ 9B6EFF388E31F7E480380796,
+ 993004BB53091A0FBEB0E418,
+ 787FCE42F8EFF4F62B69363D,
+ E6D09BB9A4D7592AA53FA63C,
+ EF02685FDE72675F4B750650,
+ 5D456364DF7A1A1C1CBCA1F0,
+ 0BB1CC68B7BB505B480D6174, ); name = "Juce Library Code"; sourceTree = "<group>"; };
+ 1E12EFB6B9C7E4C3C84DDD09 = {isa = PBXGroup; children = (
+ 2FB1B8992C3497C5EFE0EB53,
+ 70C687011AA5142190BB5634, ); name = Resources; sourceTree = "<group>"; };
+ D42221B44DA511070878FD61 = {isa = PBXGroup; children = (
+ 3ABF91F41A610658F5B17523,
+ 230ECC5997D02F79080DD55D,
+ 9D63747A1AC7F1B45F979B77,
+ B6BDA73EB716235B26A1A07D,
+ D4DA6EE18C4F580FC8A220B8,
+ B5A57064DFB2BD47270A42E6,
+ 836168A271F7647CF27CEBC3,
+ 4566EC91B27507F913B9C78A,
+ 6D2AA08C51674AC355C3C4B9,
+ BA32D082BA0C0C95BDB6DFF2, ); name = Frameworks; sourceTree = "<group>"; };
+ 601DB48110F08969733B9EF6 = {isa = PBXGroup; children = (
+ 00558AF4AA37DD00B15B21A8, ); name = Products; sourceTree = "<group>"; };
+ 5D6DAC6A0A862ED325F1DB34 = {isa = PBXGroup; children = (
+ C09481DD2BAC5454AB6D8772,
+ C46BAD19056C6AFCB61C8747,
+ 570059654CA1868864255660,
+ 1E12EFB6B9C7E4C3C84DDD09,
+ D42221B44DA511070878FD61,
+ 601DB48110F08969733B9EF6, ); name = Source; sourceTree = "<group>"; };
+ 393AB3EA96DA8E7AEC86AD00 = {isa = XCBuildConfiguration; buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_DEBUG=1",
+ "DEBUG=1",
+ "JUCER_XCODE_MAC_F6D2F4CF=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000", );
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
+ INFOPLIST_FILE = Info-App.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksInfo;
+ SDKROOT_ppc = macosx10.5; }; name = Debug; };
+ 0B575022E52611F3CF802F93 = {isa = XCBuildConfiguration; buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ DEAD_CODE_STRIPPING = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_NDEBUG=1",
+ "NDEBUG=1",
+ "JUCER_XCODE_MAC_F6D2F4CF=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000", );
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
+ INFOPLIST_FILE = Info-App.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksInfo;
+ SDKROOT_ppc = macosx10.5; }; name = Release; };
+ A88A0CA8AD66B56AA8A51727 = {isa = XCBuildConfiguration; buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "BlocksMonitor";
+ WARNING_CFLAGS = -Wreorder;
+ ZERO_LINK = NO; }; name = Debug; };
+ 2BBD53B147BD1DADF7CD0BFA = {isa = XCBuildConfiguration; buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PRODUCT_NAME = "BlocksMonitor";
+ WARNING_CFLAGS = -Wreorder;
+ ZERO_LINK = NO; }; name = Release; };
+ E8EE955C952218247BF6E77A = {isa = PBXTargetDependency; target = 9C6BA11D1261B15A2F52EB60; };
+ 61CDB68D74329CF066EA57D6 = {isa = XCConfigurationList; buildConfigurations = (
+ A88A0CA8AD66B56AA8A51727,
+ 2BBD53B147BD1DADF7CD0BFA, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
+ F2ABB4C4775A3BD1B6DEBD6A = {isa = XCConfigurationList; buildConfigurations = (
+ 393AB3EA96DA8E7AEC86AD00,
+ 0B575022E52611F3CF802F93, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
+ D08BB290D5F778E1450AD3F3 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (
+ 409E36B0E4F619B95CBD0F9E, ); runOnlyForDeploymentPostprocessing = 0; };
+ 9C2AF708958E95C688544D95 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
+ D2EAAF12976946EE8C45FB0B,
+ 1AED1945B3F869251C0AE961,
+ E17C689ADF6944C5DBFB87FC,
+ 09AD8FE14AB25476E5B895F0,
+ 8DCEF084990118E5E8781096,
+ 3A0447CE74DA2F6F547581E2,
+ 7D8C07117F2E674F24031D72,
+ C8DA641BA677BA04FD298869,
+ D650FA605147B0260A8A94C7,
+ C38A78F09BFE9B4378FF23C0,
+ 86C00C6333D9F12FED7C221A,
+ 3FB72C8D23D5F6CB77C88C63, ); runOnlyForDeploymentPostprocessing = 0; };
+ 2410311707C8C7B9E6CFE23D = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
+ 732F2CFE7C7968D6638BC5D1,
+ 76FF951CD8921AFDC24648FB,
+ 008B9154CD1A3DA5E9CD8906,
+ F4FE7210ADC22CB4EE3B4E99,
+ 924BC7B8C552402D22C30959,
+ 1D0987A356ABA1C3B4A785BD,
+ 78281823E26AAEC18651518D,
+ DEA8C47FDE11DD9F5C6BFB00,
+ 3601C134F7B5A1AB67E814D7,
+ 9764F74837E00A1346670B5F, ); runOnlyForDeploymentPostprocessing = 0; };
+ 9C6BA11D1261B15A2F52EB60 = {isa = PBXNativeTarget; buildConfigurationList = F2ABB4C4775A3BD1B6DEBD6A; buildPhases = (
+ D08BB290D5F778E1450AD3F3,
+ 9C2AF708958E95C688544D95,
+ 2410311707C8C7B9E6CFE23D, ); buildRules = ( ); dependencies = ( ); name = "BlocksMonitor (App)"; productName = BlocksMonitor; productReference = 00558AF4AA37DD00B15B21A8; productType = "com.apple.product-type.application"; };
+ B42B7651E1352BD7921E5754 = {isa = PBXProject; buildConfigurationList = 61CDB68D74329CF066EA57D6; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 9C6BA11D1261B15A2F52EB60 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5D6DAC6A0A862ED325F1DB34; projectDirPath = ""; projectRoot = ""; targets = (9C6BA11D1261B15A2F52EB60); };
+ };
+ rootObject = B42B7651E1352BD7921E5754;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\r
+<plist>\r
+ <dict>\r
+ <key>CFBundleExecutable</key>\r
+ <string>${EXECUTABLE_NAME}</string>\r
+ <key>CFBundleIconFile</key>\r
+ <string></string>\r
+ <key>CFBundleIdentifier</key>\r
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\r
+ <key>CFBundleName</key>\r
+ <string>BlocksMonitor</string>\r
+ <key>CFBundleDisplayName</key>\r
+ <string>BlocksMonitor</string>\r
+ <key>CFBundlePackageType</key>\r
+ <string>APPL</string>\r
+ <key>CFBundleSignature</key>\r
+ <string>????</string>\r
+ <key>CFBundleShortVersionString</key>\r
+ <string>1.0.0</string>\r
+ <key>CFBundleVersion</key>\r
+ <string>1.0.0</string>\r
+ <key>NSHumanReadableCopyright</key>\r
+ <string></string>\r
+ <key>NSHighResolutionCapable</key>\r
+ <true/>\r
+ </dict>\r
+</plist>\r
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 11.00\r
+# Visual Studio 2013\r
+Project("{2A58BC08-D4BC-752C-26E3-197C4DF6FFF2}") = "BlocksMonitor", "BlocksMonitor.vcxproj", "{C732A69E-6750-67A4-2834-8CD8A6CDC360}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Win32 = Debug|Win32\r
+ Release|Win32 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {C732A69E-6750-67A4-2834-8CD8A6CDC360}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {C732A69E-6750-67A4-2834-8CD8A6CDC360}.Debug|Win32.Build.0 = Debug|Win32\r
+ {C732A69E-6750-67A4-2834-8CD8A6CDC360}.Release|Win32.ActiveCfg = Release|Win32\r
+ {C732A69E-6750-67A4-2834-8CD8A6CDC360}.Release|Win32.Build.0 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{C732A69E-6750-67A4-2834-8CD8A6CDC360}</ProjectGuid>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>\r
+ <ImportGroup Label="ExtensionSettings"/>\r
+ <ImportGroup Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"\r
+ Label="LocalAppDataPlatform"/>\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros">\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">BlocksMonitor</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">BlocksMonitor</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksMonitor.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksMonitor.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksMonitor.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Full</Optimization>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksMonitor.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>false</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksMonitor.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksMonitor.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\BlockComponents.h"/>\r
+ <ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc"/>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>\r
+ <ImportGroup Label="ExtensionTargets"/>\r
+</Project>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="BlocksMonitor">\r
+ <UniqueIdentifier>{A18068AC-4A0C-9EFD-D50F-C6493D9D0DB9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="BlocksMonitor\Source">\r
+ <UniqueIdentifier>{95941A51-11F5-5D65-2827-1DEF96582F85}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules">\r
+ <UniqueIdentifier>{422C46B7-0467-2DB0-BF3C-16DFCAFD69AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics">\r
+ <UniqueIdentifier>{3247ED97-A75A-F50B-8CCC-46155E895806}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\buffers">\r
+ <UniqueIdentifier>{A33A1E1D-AC2C-6382-8681-48B0FC374C60}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\effects">\r
+ <UniqueIdentifier>{11A75801-B027-40BD-4993-023023ACCBF7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\midi">\r
+ <UniqueIdentifier>{3FD908F5-98C8-9A61-FC03-0BAF8913CBB0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\mpe">\r
+ <UniqueIdentifier>{8C868E51-156D-A916-047C-0D9EA1393675}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\sources">\r
+ <UniqueIdentifier>{EF2CAB40-0432-429B-C517-86ADF136BB8A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\synthesisers">\r
+ <UniqueIdentifier>{8F7EC212-3168-AD81-5064-C45BA838C408}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices">\r
+ <UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
+ <UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\midi_io">\r
+ <UniqueIdentifier>{0F766DD4-A277-CB86-5647-42498C8B41E1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\native">\r
+ <UniqueIdentifier>{01603E05-423B-5FC3-1BEE-E15ED33B5688}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\sources">\r
+ <UniqueIdentifier>{D64942B4-6984-3623-3347-45D472AE1C61}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats">\r
+ <UniqueIdentifier>{65CB28F8-0422-A8F3-9A17-959E12A1F8E2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs">\r
+ <UniqueIdentifier>{0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac">\r
+ <UniqueIdentifier>{AB8611DF-8161-A9DF-DBAD-77A87DE37331}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC">\r
+ <UniqueIdentifier>{9DFA63C1-4EE6-1FAB-D563-41FCF84988F2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include">\r
+ <UniqueIdentifier>{FEF33480-117C-23A6-D12C-7C299F26C9DB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private">\r
+ <UniqueIdentifier>{C9640E58-4493-7EEC-6F58-603AD184956E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected">\r
+ <UniqueIdentifier>{D8EE4AD1-61E3-21C2-6640-6684F4CF77DC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis">\r
+ <UniqueIdentifier>{76391436-F92A-7602-4073-E446B5FAA859}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2">\r
+ <UniqueIdentifier>{9971A63C-5B75-039F-95C2-7474D7DB16B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib">\r
+ <UniqueIdentifier>{DC58E9B7-2710-F45C-B718-75EACDF53F47}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books">\r
+ <UniqueIdentifier>{B8087E92-19F7-552F-9E85-16153D7191B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled">\r
+ <UniqueIdentifier>{25C8FB00-334A-6E0F-F203-E988758B708A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor">\r
+ <UniqueIdentifier>{94027CB9-8162-7431-2E01-B710C7CAE620}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled">\r
+ <UniqueIdentifier>{450B8177-6F41-B902-761B-BF68D55102DA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes">\r
+ <UniqueIdentifier>{B7221885-1731-611D-FDD9-EA968FA8D858}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\format">\r
+ <UniqueIdentifier>{2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\sampler">\r
+ <UniqueIdentifier>{40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics">\r
+ <UniqueIdentifier>{DFA2DC59-3B2E-1F2A-8661-79D25C3D7F1B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\blocks">\r
+ <UniqueIdentifier>{F00B1208-CE3A-EE5C-C33C-9A016BAD5E70}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\littlefoot">\r
+ <UniqueIdentifier>{31632996-AC68-BCF8-B244-110FC6087A6E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\protocol">\r
+ <UniqueIdentifier>{65A9A26C-02FC-34D8-BEAC-C30A1E255B44}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\topology">\r
+ <UniqueIdentifier>{F61978A2-275C-CD64-3724-AE5945CB8970}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\visualisers">\r
+ <UniqueIdentifier>{3BF28565-4A19-23EA-96D6-910B5646D6B9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core">\r
+ <UniqueIdentifier>{95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\containers">\r
+ <UniqueIdentifier>{0608ADE9-66EF-1A19-6D57-12D07F76EB53}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\files">\r
+ <UniqueIdentifier>{C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\javascript">\r
+ <UniqueIdentifier>{1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\logging">\r
+ <UniqueIdentifier>{C294408A-2005-2E9E-7AC0-8D3ABE8AC175}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\maths">\r
+ <UniqueIdentifier>{476C69CE-0B67-6B85-E888-45D91E37A29E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\memory">\r
+ <UniqueIdentifier>{7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\misc">\r
+ <UniqueIdentifier>{FA891A58-9FDA-9651-43C4-714A19B5D08D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\native">\r
+ <UniqueIdentifier>{C79A4D23-7866-8F3E-AC39-BD68C52A9259}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\network">\r
+ <UniqueIdentifier>{DA0DC4AC-B511-A2D4-199A-C93454D6F114}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\streams">\r
+ <UniqueIdentifier>{91929C6F-7902-B87D-5260-2F6CBF8ACD93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\system">\r
+ <UniqueIdentifier>{4634FFAE-9586-A970-364C-4FDDA635F99F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\text">\r
+ <UniqueIdentifier>{244D11B0-2D68-3C08-A0B7-0D12469BC3AA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\threads">\r
+ <UniqueIdentifier>{05F3DB8A-499C-6ACA-282F-5BF8455A0DE1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\time">\r
+ <UniqueIdentifier>{C9F6D785-BF78-5AA1-B479-111C65397864}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\unit_tests">\r
+ <UniqueIdentifier>{4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\xml">\r
+ <UniqueIdentifier>{F2B2F310-F30F-7166-42A9-9BF9C230DA78}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip">\r
+ <UniqueIdentifier>{F03654BC-34D8-F975-BEA3-750CC2783D23}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip\zlib">\r
+ <UniqueIdentifier>{585D6A72-C5E7-BCF1-A168-63A40C6B6313}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures">\r
+ <UniqueIdentifier>{928D8FCC-5E00-174B-6538-93E8D75AB396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\app_properties">\r
+ <UniqueIdentifier>{358AEA11-3F96-36AE-7B32-71373B5C5396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\undomanager">\r
+ <UniqueIdentifier>{3DF036EA-3B80-553B-2494-3AAC835CAE75}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\values">\r
+ <UniqueIdentifier>{1988E68A-A964-64CA-0E0C-26FF9BC5176C}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events">\r
+ <UniqueIdentifier>{F2A38F45-6E55-E147-2E52-64A89FDD9D59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\broadcasters">\r
+ <UniqueIdentifier>{B098BC87-3298-7E6B-12DC-D26C09CDCAED}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\interprocess">\r
+ <UniqueIdentifier>{6322B88F-984A-C3CD-6263-38D7AA49B6EC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\messages">\r
+ <UniqueIdentifier>{6172822C-01A5-E824-12DA-FA43FA934D35}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\native">\r
+ <UniqueIdentifier>{73C1E759-AD90-59A3-942E-2D10FAA29107}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\timers">\r
+ <UniqueIdentifier>{41DC3BE3-D629-8A17-C32B-F5B4008B5FAD}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics">\r
+ <UniqueIdentifier>{EE1AE8C3-0908-8F53-A4E5-D930C7C97C26}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\colour">\r
+ <UniqueIdentifier>{4926B3FF-E797-F586-857A-69D9703FA2D1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\contexts">\r
+ <UniqueIdentifier>{EBC65085-3AD5-280C-1A29-2B1683643AA1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\effects">\r
+ <UniqueIdentifier>{E37D25CD-4350-4614-055B-7ABC55E67895}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\fonts">\r
+ <UniqueIdentifier>{26ECA2AF-7368-C6CC-58EF-017ECD1862D0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\geometry">\r
+ <UniqueIdentifier>{C1A1A236-AB01-173E-96C3-0706BFF93B1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats">\r
+ <UniqueIdentifier>{69E1179D-76EC-26DC-C3E6-6602ED26D783}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\jpglib">\r
+ <UniqueIdentifier>{F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\pnglib">\r
+ <UniqueIdentifier>{12D20EC8-139C-C2B1-1A66-AC436C48C0A7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\images">\r
+ <UniqueIdentifier>{413F481F-075C-2958-115C-D8268682FCB7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\native">\r
+ <UniqueIdentifier>{FFC6E1CC-C772-75E6-5087-FB5D4E016799}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\placement">\r
+ <UniqueIdentifier>{1182303F-ECA3-166D-AC0C-92C5E762CB93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics">\r
+ <UniqueIdentifier>{8E43579F-C185-266D-DD67-F8B95BD80F2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\application">\r
+ <UniqueIdentifier>{61712B09-5783-ADFA-2001-5A0C3D7764EB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\buttons">\r
+ <UniqueIdentifier>{C3B2EB8A-1A2F-306F-AA78-3E9D1593788B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\commands">\r
+ <UniqueIdentifier>{46535B56-3737-2BE8-E3A0-571BCBEB2DA4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\components">\r
+ <UniqueIdentifier>{2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\drawables">\r
+ <UniqueIdentifier>{5A0AA36E-3957-E413-14C6-31CBE15271DF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\filebrowser">\r
+ <UniqueIdentifier>{5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\keyboard">\r
+ <UniqueIdentifier>{A92719C7-70BE-57C4-CE9E-A9BC9DFEB757}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\layout">\r
+ <UniqueIdentifier>{E980FADB-6E3F-B93C-DE02-CE4271C9BA93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\lookandfeel">\r
+ <UniqueIdentifier>{F408DCA2-D5E2-0A3A-A064-A1D045889BC1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\menus">\r
+ <UniqueIdentifier>{7BCEAB87-62FD-0327-EB5D-679E54EDB9B1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\misc">\r
+ <UniqueIdentifier>{C2B9505B-27B4-F650-12BD-F477D4BBCBAA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\mouse">\r
+ <UniqueIdentifier>{796B7886-44A7-34CC-9B95-BF4FB2C7B6F4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\native">\r
+ <UniqueIdentifier>{8A80BA78-D3A8-C0F8-7FFD-61AA028CE852}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\positioning">\r
+ <UniqueIdentifier>{7A53E6F1-1343-33B8-4CA8-1D7B714A0E76}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\properties">\r
+ <UniqueIdentifier>{D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\widgets">\r
+ <UniqueIdentifier>{75F1F352-251A-75E0-D941-8431588F5C1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\windows">\r
+ <UniqueIdentifier>{DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra">\r
+ <UniqueIdentifier>{8EC9572F-3CCA-E930-74B6-CB6139DE0E17}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\code_editor">\r
+ <UniqueIdentifier>{C60A6FCA-9462-922E-AD8D-69F10C9049AF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\documents">\r
+ <UniqueIdentifier>{D56498EE-E354-1F00-5EEE-8CF7944BEAFB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\embedding">\r
+ <UniqueIdentifier>{61B2920C-494D-D8CB-C0C7-5DBF3D76D164}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\misc">\r
+ <UniqueIdentifier>{66C9B809-8739-A217-C78D-A15D6089B8E3}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\native">\r
+ <UniqueIdentifier>{C413328B-5D81-89EE-F4F3-75752E700DE4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl">\r
+ <UniqueIdentifier>{639E16C5-DA8B-ADBA-6E24-7B596378EAB2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\geometry">\r
+ <UniqueIdentifier>{B3141847-8F13-F67D-45B2-E3ECF6E09088}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\native">\r
+ <UniqueIdentifier>{151B49D8-6102-F802-1C07-D59931BC0574}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\opengl">\r
+ <UniqueIdentifier>{2D8D0E19-E676-83EB-38D9-F73500DD6B79}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\utils">\r
+ <UniqueIdentifier>{9E586194-C056-101C-5311-F2AF5191AC80}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Library Code">\r
+ <UniqueIdentifier>{8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp">\r
+ <Filter>BlocksMonitor\Source</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.mm">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.mm">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Files.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Network.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Strings.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_SystemStats.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Threads.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.mm">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.mm">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_ios_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_mac_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.mm">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_Fonts.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.mm">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_UIViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_FileChooser.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MainMenu.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MouseCursor.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_NSViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.mm">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_ios_UIViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_AppleRemote.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_NSViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_WebBrowserComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.mm">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.mm">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\BlockComponents.h">\r
+ <Filter>BlocksMonitor\Source</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\Source\MainComponent.h">\r
+ <Filter>BlocksMonitor\Source</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ResourceCompile>\r
+ </ItemGroup>\r
+</Project>\r
--- /dev/null
+#ifdef JUCE_USER_DEFINED_RC_FILE\r
+ #include JUCE_USER_DEFINED_RC_FILE\r
+#else\r
+\r
+#undef WIN32_LEAN_AND_MEAN\r
+#define WIN32_LEAN_AND_MEAN\r
+#include <windows.h>\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+FILEVERSION 1,0,0,0\r
+BEGIN\r
+ BLOCK "StringFileInfo"\r
+ BEGIN\r
+ BLOCK "040904E4"\r
+ BEGIN\r
+ VALUE "FileDescription", "BlocksMonitor\0"\r
+ VALUE "FileVersion", "1.0.0\0"\r
+ VALUE "ProductName", "BlocksMonitor\0"\r
+ VALUE "ProductVersion", "1.0.0\0"\r
+ END\r
+ END\r
+\r
+ BLOCK "VarFileInfo"\r
+ BEGIN\r
+ VALUE "Translation", 0x409, 1252\r
+ END\r
+END\r
+\r
+#endif\r
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 11.00\r
+# Visual Studio 2015\r
+Project("{2A58BC08-D4BC-752C-26E3-197C4DF6FFF2}") = "BlocksMonitor", "BlocksMonitor.vcxproj", "{C732A69E-6750-67A4-2834-8CD8A6CDC360}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Win32 = Debug|Win32\r
+ Release|Win32 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {C732A69E-6750-67A4-2834-8CD8A6CDC360}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {C732A69E-6750-67A4-2834-8CD8A6CDC360}.Debug|Win32.Build.0 = Debug|Win32\r
+ {C732A69E-6750-67A4-2834-8CD8A6CDC360}.Release|Win32.ActiveCfg = Release|Win32\r
+ {C732A69E-6750-67A4-2834-8CD8A6CDC360}.Release|Win32.Build.0 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{C732A69E-6750-67A4-2834-8CD8A6CDC360}</ProjectGuid>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>\r
+ <ImportGroup Label="ExtensionSettings"/>\r
+ <ImportGroup Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"\r
+ Label="LocalAppDataPlatform"/>\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros">\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">BlocksMonitor</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">BlocksMonitor</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksMonitor.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksMonitor.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksMonitor.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Full</Optimization>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksMonitor.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>false</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksMonitor.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksMonitor.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\BlockComponents.h"/>\r
+ <ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc"/>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>\r
+ <ImportGroup Label="ExtensionTargets"/>\r
+</Project>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="BlocksMonitor">\r
+ <UniqueIdentifier>{A18068AC-4A0C-9EFD-D50F-C6493D9D0DB9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="BlocksMonitor\Source">\r
+ <UniqueIdentifier>{95941A51-11F5-5D65-2827-1DEF96582F85}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules">\r
+ <UniqueIdentifier>{422C46B7-0467-2DB0-BF3C-16DFCAFD69AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics">\r
+ <UniqueIdentifier>{3247ED97-A75A-F50B-8CCC-46155E895806}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\buffers">\r
+ <UniqueIdentifier>{A33A1E1D-AC2C-6382-8681-48B0FC374C60}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\effects">\r
+ <UniqueIdentifier>{11A75801-B027-40BD-4993-023023ACCBF7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\midi">\r
+ <UniqueIdentifier>{3FD908F5-98C8-9A61-FC03-0BAF8913CBB0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\mpe">\r
+ <UniqueIdentifier>{8C868E51-156D-A916-047C-0D9EA1393675}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\sources">\r
+ <UniqueIdentifier>{EF2CAB40-0432-429B-C517-86ADF136BB8A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\synthesisers">\r
+ <UniqueIdentifier>{8F7EC212-3168-AD81-5064-C45BA838C408}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices">\r
+ <UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
+ <UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\midi_io">\r
+ <UniqueIdentifier>{0F766DD4-A277-CB86-5647-42498C8B41E1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\native">\r
+ <UniqueIdentifier>{01603E05-423B-5FC3-1BEE-E15ED33B5688}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\sources">\r
+ <UniqueIdentifier>{D64942B4-6984-3623-3347-45D472AE1C61}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats">\r
+ <UniqueIdentifier>{65CB28F8-0422-A8F3-9A17-959E12A1F8E2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs">\r
+ <UniqueIdentifier>{0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac">\r
+ <UniqueIdentifier>{AB8611DF-8161-A9DF-DBAD-77A87DE37331}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC">\r
+ <UniqueIdentifier>{9DFA63C1-4EE6-1FAB-D563-41FCF84988F2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include">\r
+ <UniqueIdentifier>{FEF33480-117C-23A6-D12C-7C299F26C9DB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private">\r
+ <UniqueIdentifier>{C9640E58-4493-7EEC-6F58-603AD184956E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected">\r
+ <UniqueIdentifier>{D8EE4AD1-61E3-21C2-6640-6684F4CF77DC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis">\r
+ <UniqueIdentifier>{76391436-F92A-7602-4073-E446B5FAA859}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2">\r
+ <UniqueIdentifier>{9971A63C-5B75-039F-95C2-7474D7DB16B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib">\r
+ <UniqueIdentifier>{DC58E9B7-2710-F45C-B718-75EACDF53F47}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books">\r
+ <UniqueIdentifier>{B8087E92-19F7-552F-9E85-16153D7191B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled">\r
+ <UniqueIdentifier>{25C8FB00-334A-6E0F-F203-E988758B708A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor">\r
+ <UniqueIdentifier>{94027CB9-8162-7431-2E01-B710C7CAE620}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled">\r
+ <UniqueIdentifier>{450B8177-6F41-B902-761B-BF68D55102DA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes">\r
+ <UniqueIdentifier>{B7221885-1731-611D-FDD9-EA968FA8D858}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\format">\r
+ <UniqueIdentifier>{2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\sampler">\r
+ <UniqueIdentifier>{40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics">\r
+ <UniqueIdentifier>{DFA2DC59-3B2E-1F2A-8661-79D25C3D7F1B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\blocks">\r
+ <UniqueIdentifier>{F00B1208-CE3A-EE5C-C33C-9A016BAD5E70}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\littlefoot">\r
+ <UniqueIdentifier>{31632996-AC68-BCF8-B244-110FC6087A6E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\protocol">\r
+ <UniqueIdentifier>{65A9A26C-02FC-34D8-BEAC-C30A1E255B44}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\topology">\r
+ <UniqueIdentifier>{F61978A2-275C-CD64-3724-AE5945CB8970}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\visualisers">\r
+ <UniqueIdentifier>{3BF28565-4A19-23EA-96D6-910B5646D6B9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core">\r
+ <UniqueIdentifier>{95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\containers">\r
+ <UniqueIdentifier>{0608ADE9-66EF-1A19-6D57-12D07F76EB53}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\files">\r
+ <UniqueIdentifier>{C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\javascript">\r
+ <UniqueIdentifier>{1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\logging">\r
+ <UniqueIdentifier>{C294408A-2005-2E9E-7AC0-8D3ABE8AC175}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\maths">\r
+ <UniqueIdentifier>{476C69CE-0B67-6B85-E888-45D91E37A29E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\memory">\r
+ <UniqueIdentifier>{7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\misc">\r
+ <UniqueIdentifier>{FA891A58-9FDA-9651-43C4-714A19B5D08D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\native">\r
+ <UniqueIdentifier>{C79A4D23-7866-8F3E-AC39-BD68C52A9259}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\network">\r
+ <UniqueIdentifier>{DA0DC4AC-B511-A2D4-199A-C93454D6F114}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\streams">\r
+ <UniqueIdentifier>{91929C6F-7902-B87D-5260-2F6CBF8ACD93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\system">\r
+ <UniqueIdentifier>{4634FFAE-9586-A970-364C-4FDDA635F99F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\text">\r
+ <UniqueIdentifier>{244D11B0-2D68-3C08-A0B7-0D12469BC3AA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\threads">\r
+ <UniqueIdentifier>{05F3DB8A-499C-6ACA-282F-5BF8455A0DE1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\time">\r
+ <UniqueIdentifier>{C9F6D785-BF78-5AA1-B479-111C65397864}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\unit_tests">\r
+ <UniqueIdentifier>{4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\xml">\r
+ <UniqueIdentifier>{F2B2F310-F30F-7166-42A9-9BF9C230DA78}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip">\r
+ <UniqueIdentifier>{F03654BC-34D8-F975-BEA3-750CC2783D23}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip\zlib">\r
+ <UniqueIdentifier>{585D6A72-C5E7-BCF1-A168-63A40C6B6313}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures">\r
+ <UniqueIdentifier>{928D8FCC-5E00-174B-6538-93E8D75AB396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\app_properties">\r
+ <UniqueIdentifier>{358AEA11-3F96-36AE-7B32-71373B5C5396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\undomanager">\r
+ <UniqueIdentifier>{3DF036EA-3B80-553B-2494-3AAC835CAE75}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\values">\r
+ <UniqueIdentifier>{1988E68A-A964-64CA-0E0C-26FF9BC5176C}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events">\r
+ <UniqueIdentifier>{F2A38F45-6E55-E147-2E52-64A89FDD9D59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\broadcasters">\r
+ <UniqueIdentifier>{B098BC87-3298-7E6B-12DC-D26C09CDCAED}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\interprocess">\r
+ <UniqueIdentifier>{6322B88F-984A-C3CD-6263-38D7AA49B6EC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\messages">\r
+ <UniqueIdentifier>{6172822C-01A5-E824-12DA-FA43FA934D35}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\native">\r
+ <UniqueIdentifier>{73C1E759-AD90-59A3-942E-2D10FAA29107}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\timers">\r
+ <UniqueIdentifier>{41DC3BE3-D629-8A17-C32B-F5B4008B5FAD}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics">\r
+ <UniqueIdentifier>{EE1AE8C3-0908-8F53-A4E5-D930C7C97C26}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\colour">\r
+ <UniqueIdentifier>{4926B3FF-E797-F586-857A-69D9703FA2D1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\contexts">\r
+ <UniqueIdentifier>{EBC65085-3AD5-280C-1A29-2B1683643AA1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\effects">\r
+ <UniqueIdentifier>{E37D25CD-4350-4614-055B-7ABC55E67895}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\fonts">\r
+ <UniqueIdentifier>{26ECA2AF-7368-C6CC-58EF-017ECD1862D0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\geometry">\r
+ <UniqueIdentifier>{C1A1A236-AB01-173E-96C3-0706BFF93B1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats">\r
+ <UniqueIdentifier>{69E1179D-76EC-26DC-C3E6-6602ED26D783}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\jpglib">\r
+ <UniqueIdentifier>{F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\pnglib">\r
+ <UniqueIdentifier>{12D20EC8-139C-C2B1-1A66-AC436C48C0A7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\images">\r
+ <UniqueIdentifier>{413F481F-075C-2958-115C-D8268682FCB7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\native">\r
+ <UniqueIdentifier>{FFC6E1CC-C772-75E6-5087-FB5D4E016799}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\placement">\r
+ <UniqueIdentifier>{1182303F-ECA3-166D-AC0C-92C5E762CB93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics">\r
+ <UniqueIdentifier>{8E43579F-C185-266D-DD67-F8B95BD80F2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\application">\r
+ <UniqueIdentifier>{61712B09-5783-ADFA-2001-5A0C3D7764EB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\buttons">\r
+ <UniqueIdentifier>{C3B2EB8A-1A2F-306F-AA78-3E9D1593788B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\commands">\r
+ <UniqueIdentifier>{46535B56-3737-2BE8-E3A0-571BCBEB2DA4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\components">\r
+ <UniqueIdentifier>{2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\drawables">\r
+ <UniqueIdentifier>{5A0AA36E-3957-E413-14C6-31CBE15271DF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\filebrowser">\r
+ <UniqueIdentifier>{5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\keyboard">\r
+ <UniqueIdentifier>{A92719C7-70BE-57C4-CE9E-A9BC9DFEB757}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\layout">\r
+ <UniqueIdentifier>{E980FADB-6E3F-B93C-DE02-CE4271C9BA93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\lookandfeel">\r
+ <UniqueIdentifier>{F408DCA2-D5E2-0A3A-A064-A1D045889BC1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\menus">\r
+ <UniqueIdentifier>{7BCEAB87-62FD-0327-EB5D-679E54EDB9B1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\misc">\r
+ <UniqueIdentifier>{C2B9505B-27B4-F650-12BD-F477D4BBCBAA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\mouse">\r
+ <UniqueIdentifier>{796B7886-44A7-34CC-9B95-BF4FB2C7B6F4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\native">\r
+ <UniqueIdentifier>{8A80BA78-D3A8-C0F8-7FFD-61AA028CE852}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\positioning">\r
+ <UniqueIdentifier>{7A53E6F1-1343-33B8-4CA8-1D7B714A0E76}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\properties">\r
+ <UniqueIdentifier>{D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\widgets">\r
+ <UniqueIdentifier>{75F1F352-251A-75E0-D941-8431588F5C1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\windows">\r
+ <UniqueIdentifier>{DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra">\r
+ <UniqueIdentifier>{8EC9572F-3CCA-E930-74B6-CB6139DE0E17}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\code_editor">\r
+ <UniqueIdentifier>{C60A6FCA-9462-922E-AD8D-69F10C9049AF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\documents">\r
+ <UniqueIdentifier>{D56498EE-E354-1F00-5EEE-8CF7944BEAFB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\embedding">\r
+ <UniqueIdentifier>{61B2920C-494D-D8CB-C0C7-5DBF3D76D164}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\misc">\r
+ <UniqueIdentifier>{66C9B809-8739-A217-C78D-A15D6089B8E3}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\native">\r
+ <UniqueIdentifier>{C413328B-5D81-89EE-F4F3-75752E700DE4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl">\r
+ <UniqueIdentifier>{639E16C5-DA8B-ADBA-6E24-7B596378EAB2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\geometry">\r
+ <UniqueIdentifier>{B3141847-8F13-F67D-45B2-E3ECF6E09088}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\native">\r
+ <UniqueIdentifier>{151B49D8-6102-F802-1C07-D59931BC0574}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\opengl">\r
+ <UniqueIdentifier>{2D8D0E19-E676-83EB-38D9-F73500DD6B79}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\utils">\r
+ <UniqueIdentifier>{9E586194-C056-101C-5311-F2AF5191AC80}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Library Code">\r
+ <UniqueIdentifier>{8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp">\r
+ <Filter>BlocksMonitor\Source</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.mm">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.mm">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Files.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Network.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Strings.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_SystemStats.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Threads.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.mm">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.mm">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_ios_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_mac_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.mm">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_Fonts.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.mm">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_UIViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_FileChooser.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MainMenu.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MouseCursor.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_NSViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.mm">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_ios_UIViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_AppleRemote.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_NSViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_WebBrowserComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.mm">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.mm">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\BlockComponents.h">\r
+ <Filter>BlocksMonitor\Source</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\Source\MainComponent.h">\r
+ <Filter>BlocksMonitor\Source</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ResourceCompile>\r
+ </ItemGroup>\r
+</Project>\r
--- /dev/null
+#ifdef JUCE_USER_DEFINED_RC_FILE\r
+ #include JUCE_USER_DEFINED_RC_FILE\r
+#else\r
+\r
+#undef WIN32_LEAN_AND_MEAN\r
+#define WIN32_LEAN_AND_MEAN\r
+#include <windows.h>\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+FILEVERSION 1,0,0,0\r
+BEGIN\r
+ BLOCK "StringFileInfo"\r
+ BEGIN\r
+ BLOCK "040904E4"\r
+ BEGIN\r
+ VALUE "FileDescription", "BlocksMonitor\0"\r
+ VALUE "FileVersion", "1.0.0\0"\r
+ VALUE "ProductName", "BlocksMonitor\0"\r
+ VALUE "ProductVersion", "1.0.0\0"\r
+ END\r
+ END\r
+\r
+ BLOCK "VarFileInfo"\r
+ BEGIN\r
+ VALUE "Translation", 0x409, 1252\r
+ END\r
+END\r
+\r
+#endif\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+ There's a section below where you can add your own custom code safely, and the\r
+ Projucer will preserve the contents of that block, but the best way to change\r
+ any of these definitions is by using the Projucer's project settings.\r
+\r
+ Any commented-out settings will assume their default values.\r
+\r
+*/\r
+\r
+#ifndef __JUCE_APPCONFIG_X7EXS7__\r
+#define __JUCE_APPCONFIG_X7EXS7__\r
+\r
+//==============================================================================\r
+// [BEGIN_USER_CODE_SECTION]\r
+\r
+// (You can add your own code in this section, and the Projucer will not overwrite it)\r
+\r
+// [END_USER_CODE_SECTION]\r
+\r
+//==============================================================================\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1\r
+#define JUCE_MODULE_AVAILABLE_juce_blocks_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_core 1\r
+#define JUCE_MODULE_AVAILABLE_juce_data_structures 1\r
+#define JUCE_MODULE_AVAILABLE_juce_events 1\r
+#define JUCE_MODULE_AVAILABLE_juce_graphics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1\r
+#define JUCE_MODULE_AVAILABLE_juce_opengl 1\r
+\r
+//==============================================================================\r
+#ifndef JUCE_STANDALONE_APPLICATION\r
+ #ifdef JucePlugin_Build_Standalone\r
+ #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone\r
+ #else\r
+ #define JUCE_STANDALONE_APPLICATION 1\r
+ #endif\r
+#endif\r
+\r
+#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1\r
+\r
+//==============================================================================\r
+// juce_audio_devices flags:\r
+\r
+#ifndef JUCE_ASIO\r
+ //#define JUCE_ASIO\r
+#endif\r
+\r
+#ifndef JUCE_WASAPI\r
+ //#define JUCE_WASAPI\r
+#endif\r
+\r
+#ifndef JUCE_WASAPI_EXCLUSIVE\r
+ //#define JUCE_WASAPI_EXCLUSIVE\r
+#endif\r
+\r
+#ifndef JUCE_DIRECTSOUND\r
+ //#define JUCE_DIRECTSOUND\r
+#endif\r
+\r
+#ifndef JUCE_ALSA\r
+ //#define JUCE_ALSA\r
+#endif\r
+\r
+#ifndef JUCE_JACK\r
+ //#define JUCE_JACK\r
+#endif\r
+\r
+#ifndef JUCE_USE_ANDROID_OPENSLES\r
+ //#define JUCE_USE_ANDROID_OPENSLES\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_audio_formats flags:\r
+\r
+#ifndef JUCE_USE_FLAC\r
+ //#define JUCE_USE_FLAC\r
+#endif\r
+\r
+#ifndef JUCE_USE_OGGVORBIS\r
+ //#define JUCE_USE_OGGVORBIS\r
+#endif\r
+\r
+#ifndef JUCE_USE_MP3AUDIOFORMAT\r
+ //#define JUCE_USE_MP3AUDIOFORMAT\r
+#endif\r
+\r
+#ifndef JUCE_USE_LAME_AUDIO_FORMAT\r
+ //#define JUCE_USE_LAME_AUDIO_FORMAT\r
+#endif\r
+\r
+#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT\r
+ //#define JUCE_USE_WINDOWS_MEDIA_FORMAT\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_core flags:\r
+\r
+#ifndef JUCE_FORCE_DEBUG\r
+ //#define JUCE_FORCE_DEBUG\r
+#endif\r
+\r
+#ifndef JUCE_LOG_ASSERTIONS\r
+ //#define JUCE_LOG_ASSERTIONS\r
+#endif\r
+\r
+#ifndef JUCE_CHECK_MEMORY_LEAKS\r
+ //#define JUCE_CHECK_MEMORY_LEAKS\r
+#endif\r
+\r
+#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES\r
+ //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES\r
+#endif\r
+\r
+#ifndef JUCE_INCLUDE_ZLIB_CODE\r
+ //#define JUCE_INCLUDE_ZLIB_CODE\r
+#endif\r
+\r
+#ifndef JUCE_USE_CURL\r
+ //#define JUCE_USE_CURL\r
+#endif\r
+\r
+#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS\r
+ //#define JUCE_CATCH_UNHANDLED_EXCEPTIONS\r
+#endif\r
+\r
+#ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES\r
+ //#define JUCE_ALLOW_STATIC_NULL_VARIABLES\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_graphics flags:\r
+\r
+#ifndef JUCE_USE_COREIMAGE_LOADER\r
+ //#define JUCE_USE_COREIMAGE_LOADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_DIRECTWRITE\r
+ //#define JUCE_USE_DIRECTWRITE\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_gui_basics flags:\r
+\r
+#ifndef JUCE_ENABLE_REPAINT_DEBUGGING\r
+ //#define JUCE_ENABLE_REPAINT_DEBUGGING\r
+#endif\r
+\r
+#ifndef JUCE_USE_XSHM\r
+ //#define JUCE_USE_XSHM\r
+#endif\r
+\r
+#ifndef JUCE_USE_XRENDER\r
+ //#define JUCE_USE_XRENDER\r
+#endif\r
+\r
+#ifndef JUCE_USE_XCURSOR\r
+ //#define JUCE_USE_XCURSOR\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_gui_extra flags:\r
+\r
+#ifndef JUCE_WEB_BROWSER\r
+ //#define JUCE_WEB_BROWSER\r
+#endif\r
+\r
+#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR\r
+ //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR\r
+#endif\r
+\r
+\r
+#endif // __JUCE_APPCONFIG_X7EXS7__\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+ This is the header file that your files should include in order to get all the\r
+ JUCE library headers. You should avoid including the JUCE headers directly in\r
+ your own source files, because that wouldn't pick up the correct configuration\r
+ options for your app.\r
+\r
+*/\r
+\r
+#ifndef __APPHEADERFILE_X7EXS7__\r
+#define __APPHEADERFILE_X7EXS7__\r
+\r
+#include "AppConfig.h"\r
+\r
+#include <juce_audio_basics/juce_audio_basics.h>\r
+#include <juce_audio_devices/juce_audio_devices.h>\r
+#include <juce_audio_formats/juce_audio_formats.h>\r
+#include <juce_blocks_basics/juce_blocks_basics.h>\r
+#include <juce_core/juce_core.h>\r
+#include <juce_data_structures/juce_data_structures.h>\r
+#include <juce_events/juce_events.h>\r
+#include <juce_graphics/juce_graphics.h>\r
+#include <juce_gui_basics/juce_gui_basics.h>\r
+#include <juce_gui_extra/juce_gui_extra.h>\r
+#include <juce_opengl/juce_opengl.h>\r
+\r
+\r
+#if ! DONT_SET_USING_JUCE_NAMESPACE\r
+ // If your code uses a lot of JUCE classes, then this will obviously save you\r
+ // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.\r
+ using namespace juce;\r
+#endif\r
+\r
+#if ! JUCE_DONT_DECLARE_PROJECTINFO\r
+namespace ProjectInfo\r
+{\r
+ const char* const projectName = "BlocksMonitor";\r
+ const char* const versionString = "1.0.0";\r
+ const int versionNumber = 0x10000;\r
+}\r
+#endif\r
+\r
+#endif // __APPHEADERFILE_X7EXS7__\r
--- /dev/null
+\r
+ Important Note!!\r
+ ================\r
+\r
+The purpose of this folder is to contain files that are auto-generated by the Projucer,\r
+and ALL files in this folder will be mercilessly DELETED and completely re-written whenever\r
+the Projucer saves your project.\r
+\r
+Therefore, it's a bad idea to make any manual changes to the files in here, or to\r
+put any of your own files in here if you don't want to lose them. (Of course you may choose\r
+to add the folder's contents to your version-control system so that you can re-merge your own\r
+modifications after the Projucer has saved its changes).\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_basics/juce_audio_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_basics/juce_audio_basics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_devices/juce_audio_devices.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_devices/juce_audio_devices.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_formats/juce_audio_formats.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_formats/juce_audio_formats.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_blocks_basics/juce_blocks_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_core/juce_core.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_core/juce_core.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_data_structures/juce_data_structures.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_data_structures/juce_data_structures.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_events/juce_events.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_events/juce_events.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_graphics/juce_graphics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_graphics/juce_graphics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_basics/juce_gui_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_basics/juce_gui_basics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_extra/juce_gui_extra.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_extra/juce_gui_extra.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_opengl/juce_opengl.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_opengl/juce_opengl.mm>\r
--- /dev/null
+\r
+#ifndef BLOCKCOMPONENTS_H_INCLUDED\r
+#define BLOCKCOMPONENTS_H_INCLUDED\r
+\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+\r
+//==============================================================================\r
+/**\r
+ Base class that renders a Block on the screen\r
+*/\r
+class BlockComponent : public Component,\r
+ public SettableTooltipClient,\r
+ private TouchSurface::Listener,\r
+ private ControlButton::Listener,\r
+ private Timer\r
+{\r
+public:\r
+ /** Constructor */\r
+ BlockComponent (Block::Ptr blockToUse)\r
+ : block (blockToUse)\r
+ {\r
+ updateStatsAndTooltip();\r
+\r
+ // Register BlockComponent as a listener to the touch surface\r
+ if (auto touchSurface = block->getTouchSurface())\r
+ touchSurface->addListener (this);\r
+\r
+ // Register BlockComponent as a listener to any buttons\r
+ for (auto button : block->getButtons())\r
+ button->addListener (this);\r
+\r
+ // If this is a Lightpad then set the grid program to be blank\r
+ if (auto grid = block->getLEDGrid())\r
+ grid->setProgram (new BitmapLEDProgram(*grid));\r
+\r
+ // If this is a Lightpad then redraw it at 25Hz\r
+ if (block->getType() == Block::lightPadBlock)\r
+ startTimerHz (25);\r
+ }\r
+\r
+ /** Destructor */\r
+ ~BlockComponent()\r
+ {\r
+ // Remove any listeners\r
+ if (auto touchSurface = block->getTouchSurface())\r
+ touchSurface->removeListener (this);\r
+\r
+ for (auto button : block->getButtons())\r
+ button->removeListener (this);\r
+ }\r
+\r
+ /** Called periodically to update the tooltip with inforamtion about the Block */\r
+ void updateStatsAndTooltip()\r
+ {\r
+ // Get the battery level of this Block and inform any subclasses\r
+ const float batteryLevel = block->getBatteryLevel();\r
+ handleBatteryLevelUpdate (batteryLevel);\r
+\r
+ // Format the tooltip string\r
+ const String ttString = "Name = " + block->getDeviceDescription() + "\n"\r
+ + "UID = " + String (block->uid) + "\n"\r
+ + "Serial number = " + block->serialNumber + "\n"\r
+ + "Battery level = " + String ((int) (batteryLevel * 100)) + "%"\r
+ + (block->isBatteryCharging() ? "++" : "--");\r
+\r
+ // Update the tooltip string if it has changed\r
+ if (ttString != getTooltip())\r
+ setTooltip (ttString);\r
+ }\r
+\r
+ /** Subclasses should override this to paint the Block object on the screen */\r
+ virtual void paint (Graphics&) override = 0;\r
+\r
+ /** Subclasses can override this to receive button down events from the Block */\r
+ virtual void handleButtonPressed (ControlButton::ButtonFunction, uint32) {}\r
+\r
+ /** Subclasses can override this to receive button up events from the Block */\r
+ virtual void handleButtonReleased (ControlButton::ButtonFunction, uint32) {}\r
+\r
+ /** Subclasses can override this to receive touch events from the Block */\r
+ virtual void handleTouchChange (TouchSurface::Touch) {}\r
+\r
+ /** Subclasses can override this to battery level updates from the Block */\r
+ virtual void handleBatteryLevelUpdate (float) {}\r
+\r
+ /** The Block object that this class represents */\r
+ Block::Ptr block;\r
+\r
+ //==============================================================================\r
+ /** Returns an integer index corresponding to a physical position on the hardware\r
+ for each type of Control Block. */\r
+ static int controlButtonFunctionToIndex (ControlButton::ButtonFunction f)\r
+ {\r
+ static std::initializer_list<ControlButton::ButtonFunction> map[] =\r
+ {{ControlButton::mode, ControlButton::button0},\r
+ {ControlButton::volume, ControlButton::button1},\r
+ {ControlButton::scale, ControlButton::button2, ControlButton::click},\r
+ {ControlButton::chord, ControlButton::button3, ControlButton::snap},\r
+ {ControlButton::arp,ControlButton:: button4, ControlButton::back},\r
+ {ControlButton::sustain, ControlButton::button5, ControlButton::playOrPause},\r
+ {ControlButton::octave, ControlButton::button6, ControlButton::record},\r
+ {ControlButton::love, ControlButton::button7, ControlButton::learn},\r
+ {ControlButton::up},\r
+ {ControlButton::down}};\r
+\r
+ for (size_t i = 0; i < (sizeof (map) / sizeof (map[0])); ++i)\r
+ if (std::find (map[i].begin(), map[i].end(), f) != map[i].end())\r
+ return static_cast<int> (i);\r
+\r
+ return -1;\r
+ }\r
+\r
+private:\r
+ /** Used to call repaint() periodically */\r
+ void timerCallback() override { repaint(); }\r
+\r
+ /** Overridden from TouchSurface::Listener */\r
+ void touchChanged (TouchSurface&, const TouchSurface::Touch& t) override { handleTouchChange (t); }\r
+\r
+ /** Overridden from ControlButton::Listener */\r
+ void buttonPressed (ControlButton& b, Block::Timestamp t) override { handleButtonPressed (b.getType(), t); }\r
+\r
+ /** Overridden from ControlButton::Listener */\r
+ void buttonReleased (ControlButton& b, Block::Timestamp t) override { handleButtonReleased (b.getType(), t); }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BlockComponent)\r
+};\r
+\r
+/**\r
+ Class that renders a Lightpad on the screen\r
+*/\r
+class LightpadComponent : public BlockComponent\r
+{\r
+public:\r
+ LightpadComponent (Block::Ptr blockToUse)\r
+ : BlockComponent (blockToUse)\r
+ {\r
+ }\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ auto r = getLocalBounds().toFloat();\r
+\r
+ // clip the drawing area to only draw in the block area\r
+ {\r
+ Path clipArea;\r
+ clipArea.addRoundedRectangle (r, r.getWidth() / 20.0f);\r
+\r
+ g.reduceClipRegion (clipArea);\r
+ }\r
+\r
+ // Fill a black square for the Lightpad\r
+ g.fillAll (Colours::black);\r
+\r
+ // size ration between physical and on-screen blocks\r
+ const Point<float> ratio (r.getWidth() / block->getWidth(),\r
+ r.getHeight() / block->getHeight());\r
+ const float maxCircleSize = block->getWidth() / 3.0f;\r
+\r
+ // iterate over the list of current touches and draw them on the onscreen Block\r
+ for (auto touch : touches)\r
+ {\r
+ const float circleSize = touch.touch.z * maxCircleSize;\r
+ const Point<float> touchPosition = Point<float> (touch.touch.x, touch.touch.y);\r
+\r
+ const Colour c = colourArray[touch.touch.index];\r
+ const Rectangle<float> blob =\r
+ (Rectangle<float> (circleSize, circleSize).withCentre (touchPosition)) * ratio;\r
+\r
+ const ColourGradient cg = ColourGradient (colourArray[touch.touch.index], blob.getCentreX(), blob.getCentreY(),\r
+ Colours::transparentBlack, blob.getRight(), blob.getBottom(),\r
+ true);\r
+\r
+ g.setGradientFill (cg);\r
+ g.fillEllipse (blob);\r
+ }\r
+ }\r
+\r
+ void handleTouchChange (TouchSurface::Touch touch) override { touches.updateTouch (touch); }\r
+\r
+private:\r
+ /** An Array of colours to use for touches */\r
+ Array<Colour> colourArray = { Colours::red, Colours::blue, Colours::green,\r
+ Colours::yellow, Colours::white, Colours::hotpink,\r
+ Colours::mediumpurple };\r
+\r
+ /** A list of current Touch events */\r
+ TouchList<TouchSurface::Touch> touches;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LightpadComponent)\r
+};\r
+\r
+/**\r
+ Class that renders a Control Block on the screen\r
+*/\r
+class ControlBlockComponent : public BlockComponent\r
+{\r
+public:\r
+ ControlBlockComponent (Block::Ptr blockToUse)\r
+ : BlockComponent (blockToUse),\r
+ numLeds (block->getLEDRow()->getNumLEDs())\r
+ {\r
+ addAndMakeVisible (roundedRectangleButton);\r
+\r
+ // Display the battery level on the LEDRow\r
+ int numLedsToTurnOn = static_cast<int> (static_cast<float> (numLeds) * block->getBatteryLevel());\r
+\r
+ // add LEDs\r
+ LEDComponent* ledComponent;\r
+ for (int i = 0; i < numLeds; ++i)\r
+ {\r
+ ledComponent = new LEDComponent();\r
+ ledComponent->setOnState (i < numLedsToTurnOn);\r
+\r
+ addAndMakeVisible (leds.add (ledComponent));\r
+ }\r
+\r
+ previousNumLedsOn = numLedsToTurnOn;\r
+\r
+ // add buttons\r
+ for (int i = 0; i < 8; ++i)\r
+ addAndMakeVisible (circleButtons[i]);\r
+ }\r
+\r
+ void resized() override\r
+ {\r
+ const auto r = getLocalBounds().reduced (10);\r
+\r
+ const int rowHeight = r.getHeight() / 5;\r
+ const int ledWidth = (r.getWidth() - 70) / numLeds;\r
+ const int buttonWidth = (r.getWidth() - 40) / 5;\r
+\r
+ auto row = r;\r
+\r
+ auto ledRow = row.removeFromTop (rowHeight) .withSizeKeepingCentre (r.getWidth(), ledWidth);\r
+ auto buttonRow1 = row.removeFromTop (rowHeight * 2).withSizeKeepingCentre (r.getWidth(), buttonWidth);\r
+ auto buttonRow2 = row.removeFromTop (rowHeight * 2).withSizeKeepingCentre (r.getWidth(), buttonWidth);\r
+\r
+ for (int i = 0; i < numLeds; ++i)\r
+ {\r
+ leds.getUnchecked (i)->setBounds (ledRow.removeFromLeft (ledWidth).reduced (2));\r
+ ledRow.removeFromLeft (5);\r
+ }\r
+\r
+ for (int i = 0; i < 5; ++i)\r
+ {\r
+ circleButtons[i].setBounds (buttonRow1.removeFromLeft (buttonWidth).reduced (2));\r
+ buttonRow1.removeFromLeft (10);\r
+ }\r
+\r
+ for (int i = 5; i < 8; ++i)\r
+ {\r
+ circleButtons[i].setBounds (buttonRow2.removeFromLeft (buttonWidth).reduced (2));\r
+ buttonRow2.removeFromLeft (10);\r
+ }\r
+\r
+ roundedRectangleButton.setBounds (buttonRow2);\r
+ }\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ const auto r = getLocalBounds().toFloat();\r
+\r
+ // Fill a black rectangle for the Control Block\r
+ g.setColour (Colours::black);\r
+ g.fillRoundedRectangle (r, r.getWidth() / 20.0f);\r
+ }\r
+\r
+ void handleButtonPressed (ControlButton::ButtonFunction function, uint32) override\r
+ {\r
+ displayButtonInteraction (controlButtonFunctionToIndex (function), true);\r
+ }\r
+\r
+ void handleButtonReleased (ControlButton::ButtonFunction function, uint32) override\r
+ {\r
+ displayButtonInteraction (controlButtonFunctionToIndex (function), false);\r
+ }\r
+\r
+ void handleBatteryLevelUpdate (float batteryLevel) override\r
+ {\r
+ // Update the number of LEDs that are on to represent the battery level\r
+ int numLedsOn = static_cast<int> (static_cast<float> (numLeds) * batteryLevel);\r
+\r
+ if (numLedsOn != previousNumLedsOn)\r
+ for (int i = 0; i < numLeds; ++i)\r
+ leds.getUnchecked (i)->setOnState (i < numLedsOn);\r
+\r
+ previousNumLedsOn = numLedsOn;\r
+ repaint();\r
+ }\r
+\r
+private:\r
+ /**\r
+ Base class that renders a Control Block button\r
+ */\r
+ struct ControlBlockSubComponent : public Component,\r
+ public TooltipClient\r
+ {\r
+ ControlBlockSubComponent (Colour componentColourToUse)\r
+ : componentColour (componentColourToUse),\r
+ onState (false)\r
+ {}\r
+\r
+ /** Subclasses should override this to paint the button on the screen */\r
+ virtual void paint (Graphics&) override = 0;\r
+\r
+ /** Sets the colour of the button */\r
+ void setColour (Colour c) { componentColour = c; }\r
+\r
+ /** Sets the on state of the button */\r
+ void setOnState (bool isOn)\r
+ {\r
+ onState = isOn;\r
+ repaint();\r
+ }\r
+\r
+ /** Returns the Control Block tooltip */\r
+ String getTooltip() override\r
+ {\r
+ for (Component* comp = this; comp != nullptr; comp = comp->getParentComponent())\r
+ if (SettableTooltipClient* sttc = dynamic_cast<SettableTooltipClient*> (comp))\r
+ return sttc->getTooltip();\r
+\r
+ return String();\r
+ }\r
+\r
+ //==============================================================================\r
+ Colour componentColour;\r
+ bool onState;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ControlBlockSubComponent)\r
+ };\r
+\r
+ /**\r
+ Class that renders a Control Block LED on the screen\r
+ */\r
+ struct LEDComponent : public ControlBlockSubComponent\r
+ {\r
+ LEDComponent() : ControlBlockSubComponent (Colours::green) {}\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ g.setColour (componentColour.withAlpha (onState ? 1.0f : 0.2f));\r
+ g.fillEllipse (getLocalBounds().toFloat());\r
+ }\r
+ };\r
+\r
+ /**\r
+ Class that renders a Control Block single circular button on the screen\r
+ */\r
+ struct CircleButtonComponent : public ControlBlockSubComponent\r
+ {\r
+ CircleButtonComponent() : ControlBlockSubComponent (Colours::blue) {}\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ g.setColour (componentColour.withAlpha (onState ? 1.0f : 0.2f));\r
+ g.fillEllipse (getLocalBounds().toFloat());\r
+ }\r
+ };\r
+\r
+ /**\r
+ Class that renders a Control Block rounded rectangular button containing two buttons\r
+ on the screen\r
+ */\r
+ struct RoundedRectangleButtonComponent : public ControlBlockSubComponent\r
+ {\r
+ RoundedRectangleButtonComponent() : ControlBlockSubComponent (Colours::blue) {}\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ const auto r = getLocalBounds().toFloat();\r
+\r
+\r
+ g.setColour (componentColour.withAlpha (0.2f));\r
+ g.fillRoundedRectangle (r.toFloat(), 20.0f);\r
+ g.setColour (componentColour.withAlpha (1.0f));\r
+\r
+ // is a button pressed?\r
+ if (doubleButtonOnState[0] || doubleButtonOnState[1])\r
+ {\r
+ const float semiButtonWidth = r.getWidth() / 2.0f;\r
+ const auto semiButtonBounds = r.withWidth (semiButtonWidth)\r
+ .withX (doubleButtonOnState[1] ? semiButtonWidth : 0)\r
+ .reduced (5.0f, 2.0f);\r
+\r
+\r
+ g.fillEllipse (semiButtonBounds);\r
+ }\r
+ }\r
+\r
+ void setPressedState (bool isPressed, int button)\r
+ {\r
+ doubleButtonOnState[button] = isPressed;\r
+ repaint();\r
+ }\r
+\r
+ private:\r
+ bool doubleButtonOnState[2] = {false, false};\r
+ };\r
+\r
+ /** Displays a button press or release interaction for a button at a given index */\r
+ void displayButtonInteraction (int buttonIndex, bool isPressed)\r
+ {\r
+ if (! isPositiveAndBelow (buttonIndex, 10))\r
+ return;\r
+\r
+ if (buttonIndex >= 8)\r
+ roundedRectangleButton.setPressedState (isPressed, buttonIndex == 8);\r
+ else\r
+ circleButtons[buttonIndex].setOnState (isPressed);\r
+ }\r
+\r
+ //==============================================================================\r
+ int numLeds;\r
+ OwnedArray<LEDComponent> leds;\r
+ CircleButtonComponent circleButtons[8];\r
+ RoundedRectangleButtonComponent roundedRectangleButton;\r
+ int previousNumLedsOn;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ControlBlockComponent)\r
+};\r
+\r
+#endif // BLOCKCOMPONENTS_H_INCLUDED\r
--- /dev/null
+\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+#include "MainComponent.h"\r
+\r
+\r
+//==============================================================================\r
+class BlocksInfoApplication : public JUCEApplication\r
+{\r
+public:\r
+ //==============================================================================\r
+ BlocksInfoApplication() {}\r
+\r
+ const String getApplicationName() override { return ProjectInfo::projectName; }\r
+ const String getApplicationVersion() override { return ProjectInfo::versionString; }\r
+\r
+ //==============================================================================\r
+ void initialise (const String& /*commandLine*/) override { mainWindow = new MainWindow (getApplicationName()); }\r
+ void shutdown() override { mainWindow = nullptr; }\r
+\r
+ //==============================================================================\r
+ class MainWindow : public DocumentWindow\r
+ {\r
+ public:\r
+ MainWindow (String name) : DocumentWindow (name,\r
+ Colours::lightgrey,\r
+ DocumentWindow::allButtons)\r
+ {\r
+ setUsingNativeTitleBar (true);\r
+ setContentOwned (new MainComponent(), true);\r
+\r
+ centreWithSize (getWidth(), getHeight());\r
+ setResizable (true, true);\r
+ setVisible (true);\r
+ }\r
+\r
+ void closeButtonPressed() override\r
+ {\r
+ JUCEApplication::getInstance()->systemRequestedQuit();\r
+ }\r
+\r
+ private:\r
+ TooltipWindow tooltipWindow;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r
+ };\r
+\r
+private:\r
+ ScopedPointer<MainWindow> mainWindow;\r
+};\r
+\r
+//==============================================================================\r
+START_JUCE_APPLICATION (BlocksInfoApplication)\r
--- /dev/null
+\r
+#ifndef MAINCOMPONENT_H_INCLUDED\r
+#define MAINCOMPONENT_H_INCLUDED\r
+\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+#include "BlockComponents.h"\r
+\r
+/**\r
+ The main component where the Block components will be displayed\r
+*/\r
+class MainComponent : public Component,\r
+ public TopologySource::Listener,\r
+ private Timer\r
+{\r
+public:\r
+ MainComponent()\r
+ {\r
+ setSize (600, 600);\r
+\r
+ noBlocksLabel.setText ("No BLOCKS connected...", dontSendNotification);\r
+ noBlocksLabel.setJustificationType (Justification::centred);\r
+ addAndMakeVisible (noBlocksLabel);\r
+\r
+ // Register MainComponent as a listener to the PhysicalTopologySource object\r
+ topologySource.addListener (this);\r
+\r
+ startTimer (10000);\r
+ }\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ g.fillAll (Colours::lightgrey);\r
+ }\r
+\r
+ void resized() override\r
+ {\r
+ noBlocksLabel.setVisible (false);\r
+ const int numBlockComponents = blockComponents.size();\r
+\r
+ // If there are no currently connected Blocks then display some text on the screen\r
+ if (numBlockComponents == 0)\r
+ {\r
+ noBlocksLabel.setVisible (true);\r
+ noBlocksLabel.setBounds (0, (getHeight() / 2) - 50, getWidth(), 100);\r
+ return;\r
+ }\r
+\r
+ // Work out the maximum diplay area for each Block\r
+ const Rectangle<int> bounds = getLocalBounds().reduced (20);\r
+\r
+ auto squareRoot = sqrt (numBlockComponents);\r
+ int gridSize = (int)squareRoot;\r
+\r
+ if (squareRoot - gridSize > 0)\r
+ gridSize++;\r
+\r
+ int sideLength = bounds.getWidth() / gridSize;\r
+\r
+ int xCounter = 0;\r
+ int yCounter = 0;\r
+ bool hasSpaceForControlBlock = false;\r
+ Rectangle<int> lastControlBlockBounds;\r
+\r
+ for (auto block : blockComponents)\r
+ {\r
+ Rectangle<int> blockBounds;\r
+ const Block::Type type = block->block->getType();\r
+\r
+ // Can fit 2 ControlBlockComponents in the space of one LightpadBlockComponent\r
+ if (type == Block::liveBlock || type == Block::loopBlock)\r
+ {\r
+ if (hasSpaceForControlBlock)\r
+ {\r
+ blockBounds = lastControlBlockBounds.withY (lastControlBlockBounds.getY() + (int)(sideLength * 0.5));\r
+ hasSpaceForControlBlock = false;\r
+ }\r
+ else\r
+ {\r
+ blockBounds = Rectangle<int> (bounds.getX() + (xCounter * sideLength), bounds.getY() + (yCounter * sideLength),\r
+ sideLength, (int)(sideLength * 0.5));\r
+ hasSpaceForControlBlock = true;\r
+ lastControlBlockBounds = blockBounds;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ blockBounds = Rectangle<int> (bounds.getX() + (xCounter * sideLength), bounds.getY() + (yCounter * sideLength),\r
+ sideLength, sideLength);\r
+ }\r
+\r
+ block->setBounds (blockBounds.reduced (5));\r
+\r
+ if (++xCounter >= gridSize)\r
+ {\r
+ yCounter++;\r
+ xCounter = 0;\r
+ }\r
+ }\r
+ }\r
+\r
+ /** Overridden from TopologySource::Listener, called when the topology changes */\r
+ void topologyChanged() override\r
+ {\r
+ // Clear the array of Block components\r
+ blockComponents.clear();\r
+\r
+ // Get the array of currently connected Block objects from the PhysicalTopologySource\r
+ Block::Array blocksArray = topologySource.getCurrentTopology().blocks;\r
+\r
+ // Create a BlockComponent object for each Block object\r
+ for (auto& block : blocksArray)\r
+ if (BlockComponent* blockComponent = createBlockComponent (block))\r
+ addAndMakeVisible (blockComponents.add (blockComponent));\r
+\r
+ // Update the display\r
+ resized();\r
+ }\r
+\r
+private:\r
+ /** Creates a BlockComponent object for a new Block and adds it to the content component */\r
+ BlockComponent* createBlockComponent (Block::Ptr newBlock)\r
+ {\r
+ const Block::Type type = newBlock->getType();\r
+\r
+ if (type == Block::lightPadBlock)\r
+ return new LightpadComponent (newBlock);\r
+ if (type == Block::loopBlock || type == Block::liveBlock)\r
+ return new ControlBlockComponent (newBlock);\r
+\r
+ // should only be connecting a Lightpad or Control Block!\r
+ jassertfalse;\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ /** Periodically updates the displayed BlockComponent tooltips */\r
+ void timerCallback() override\r
+ {\r
+ for (auto c : blockComponents)\r
+ c->updateStatsAndTooltip();\r
+ }\r
+\r
+ //==============================================================================\r
+ PhysicalTopologySource topologySource;\r
+ OwnedArray<BlockComponent> blockComponents;\r
+\r
+ Label noBlocksLabel;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainComponent)\r
+};\r
+\r
+\r
+#endif // MAINCOMPONENT_H_INCLUDED\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<JUCERPROJECT id="XsTycT" name="BlocksSynth" projectType="guiapp" version="1.0.0"\r
+ bundleIdentifier="com.yourcompany.BlocksSynth" includeBinaryInAppConfig="1"\r
+ jucerVersion="4.3.0">\r
+ <MAINGROUP id="onTNql" name="BlocksSynth">\r
+ <GROUP id="{0CEBC63B-4C52-E77F-CD6E-A2E65F0C9B2B}" name="Source">\r
+ <GROUP id="{06BF67F9-0F56-6AD3-00A9-443125750AAE}" name="Audio">\r
+ <FILE id="SfPbCK" name="Oscillators.h" compile="0" resource="0" file="Source/Oscillators.h"/>\r
+ <FILE id="K6DQIH" name="Audio.h" compile="0" resource="0" file="Source/Audio.h"/>\r
+ </GROUP>\r
+ <FILE id="atp2Hj" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>\r
+ <FILE id="r82Xw7" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>\r
+ </GROUP>\r
+ </MAINGROUP>\r
+ <EXPORTFORMATS>\r
+ <XCODE_MAC targetFolder="Builds/MacOSX" extraCompilerFlags="">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksSynth"/>\r
+ <CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksSynth"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </XCODE_MAC>\r
+ <VS2013 targetFolder="Builds/VisualStudio2013">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="1" optimisation="1" targetName="BlocksSynth"/>\r
+ <CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="0" optimisation="3" targetName="BlocksSynth"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </VS2013>\r
+ <VS2015 targetFolder="Builds/VisualStudio2015">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="1" optimisation="1" targetName="BlocksSynth"/>\r
+ <CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="32-bit"\r
+ isDebug="0" optimisation="3" targetName="BlocksSynth"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </VS2015>\r
+ <LINUX_MAKE targetFolder="Builds/LinuxMakefile">\r
+ <CONFIGURATIONS>\r
+ <CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="BlocksSynth"/>\r
+ <CONFIGURATION name="Release" isDebug="0" optimisation="3" targetName="BlocksSynth"/>\r
+ </CONFIGURATIONS>\r
+ <MODULEPATHS>\r
+ <MODULEPATH id="juce_opengl" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_extra" path="../../../modules"/>\r
+ <MODULEPATH id="juce_gui_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_graphics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_events" path="../../../modules"/>\r
+ <MODULEPATH id="juce_data_structures" path="../../../modules"/>\r
+ <MODULEPATH id="juce_core" path="../../../modules"/>\r
+ <MODULEPATH id="juce_blocks_basics" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../../modules"/>\r
+ <MODULEPATH id="juce_audio_basics" path="../../../modules"/>\r
+ </MODULEPATHS>\r
+ </LINUX_MAKE>\r
+ </EXPORTFORMATS>\r
+ <MODULES>\r
+ <MODULE id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_blocks_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_core" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_data_structures" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_events" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_graphics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_gui_basics" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_gui_extra" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_opengl" showAllCode="1" useLocalCopy="0"/>\r
+ </MODULES>\r
+ <JUCEOPTIONS/>\r
+</JUCERPROJECT>\r
--- /dev/null
+# Automatically generated makefile, created by the Projucer\r
+# Don't edit this file! Your changes will be overwritten when you re-save the Projucer project!\r
+\r
+# (this disables dependency generation if multiple architectures are set)\r
+DEPFLAGS := $(if $(word 2, $(TARGET_ARCH)), , -MMD)\r
+\r
+ifndef STRIP\r
+ STRIP=strip\r
+endif\r
+\r
+ifndef AR\r
+ AR=ar\r
+endif\r
+\r
+ifndef CONFIG\r
+ CONFIG=Debug\r
+endif\r
+\r
+ifeq ($(CONFIG),Debug)\r
+ JUCE_BINDIR := build\r
+ JUCE_LIBDIR := build\r
+ JUCE_OBJDIR := build/intermediate/Debug\r
+ JUCE_OUTDIR := build\r
+\r
+ ifeq ($(TARGET_ARCH),)\r
+ TARGET_ARCH := -march=native\r
+ endif\r
+\r
+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules\r
+ JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0\r
+ JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11\r
+ JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt \r
+\r
+ TARGET := BlocksSynth\r
+ BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)\r
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)\r
+endif\r
+\r
+ifeq ($(CONFIG),Release)\r
+ JUCE_BINDIR := build\r
+ JUCE_LIBDIR := build\r
+ JUCE_OBJDIR := build/intermediate/Release\r
+ JUCE_OUTDIR := build\r
+\r
+ ifeq ($(TARGET_ARCH),)\r
+ TARGET_ARCH := -march=native\r
+ endif\r
+\r
+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../../modules\r
+ JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3\r
+ JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11\r
+ JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt \r
+\r
+ TARGET := BlocksSynth\r
+ BLDCMD = $(CXX) -o $(JUCE_OUTDIR)/$(TARGET) $(OBJECTS) $(JUCE_LDFLAGS) $(RESOURCES) $(TARGET_ARCH)\r
+ CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)\r
+endif\r
+\r
+OBJECTS := \\r
+ $(JUCE_OBJDIR)/Main_90ebc5c2.o \\r
+ $(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o \\r
+ $(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o \\r
+ $(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o \\r
+ $(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o \\r
+ $(JUCE_OBJDIR)/juce_core_75b14332.o \\r
+ $(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o \\r
+ $(JUCE_OBJDIR)/juce_events_d2be882c.o \\r
+ $(JUCE_OBJDIR)/juce_graphics_9c18891e.o \\r
+ $(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o \\r
+ $(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o \\r
+ $(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o \\r
+\r
+.PHONY: clean\r
+\r
+$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(OBJECTS) $(RESOURCES)\r
+ @echo Linking BlocksSynth\r
+ -@mkdir -p $(JUCE_BINDIR)\r
+ -@mkdir -p $(JUCE_LIBDIR)\r
+ -@mkdir -p $(JUCE_OUTDIR)\r
+ @$(BLDCMD)\r
+\r
+check-pkg-config:\r
+ @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }\r
+ @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama\r
+\r
+clean:\r
+ @echo Cleaning BlocksSynth\r
+ @$(CLEANCMD)\r
+\r
+strip:\r
+ @echo Stripping BlocksSynth\r
+ -@$(STRIP) --strip-unneeded $(JUCE_OUTDIR)/$(TARGET)\r
+\r
+$(JUCE_OBJDIR)/Main_90ebc5c2.o: ../../Source/Main.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling Main.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_basics_6b797ca1.o: ../../JuceLibraryCode/juce_audio_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_devices_a742c38b.o: ../../JuceLibraryCode/juce_audio_devices.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_devices.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_audio_formats_5a29c68a.o: ../../JuceLibraryCode/juce_audio_formats.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_audio_formats.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_blocks_basics_d4b203f5.o: ../../JuceLibraryCode/juce_blocks_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_blocks_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_core_75b14332.o: ../../JuceLibraryCode/juce_core.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_core.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_data_structures_72d3da2c.o: ../../JuceLibraryCode/juce_data_structures.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_data_structures.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_events_d2be882c.o: ../../JuceLibraryCode/juce_events.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_events.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_graphics_9c18891e.o: ../../JuceLibraryCode/juce_graphics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_graphics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_gui_basics_8a6da59c.o: ../../JuceLibraryCode/juce_gui_basics.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_gui_basics.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_gui_extra_4a026f23.o: ../../JuceLibraryCode/juce_gui_extra.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_gui_extra.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+$(JUCE_OBJDIR)/juce_opengl_cd70b4c2.o: ../../JuceLibraryCode/juce_opengl.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling juce_opengl.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
+-include $(OBJECTS:%.o=%.d)\r
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+ 47425BED9114CD2686893AFC = {isa = PBXBuildFile; fileRef = D778C2ED7EA9D5EDCFBA1507; };
+ 96CFB8DAD7FFF76D2E317495 = {isa = PBXBuildFile; fileRef = EB91C5FFE88DF5CFF947669D; };
+ 535851B45E7D80B53ABB689D = {isa = PBXBuildFile; fileRef = F3AD07BBECD1E70E5F3F40BD; };
+ D88704AA437596894A7729CB = {isa = PBXBuildFile; fileRef = F2F3C7E6FA8608C80DF5EF34; };
+ BAF807771E4AC4C725E9D058 = {isa = PBXBuildFile; fileRef = 503BEED13051A5D02CE34644; };
+ C04A639A8ABC44749B49ED36 = {isa = PBXBuildFile; fileRef = CBA6A8FCB0795C89183A8E71; };
+ 5CC0AE888A8B9CF85C8C1077 = {isa = PBXBuildFile; fileRef = 42747FC2DD3F362950112EFA; };
+ E0A65700714D2B1B3F21887F = {isa = PBXBuildFile; fileRef = 318FAEC913D5880AF074E666; };
+ F2321DBBDA9BEE2577B4B73B = {isa = PBXBuildFile; fileRef = 794233C62A59EA02725A7E9E; };
+ DEE7F200E0ABCA5F551B8BC8 = {isa = PBXBuildFile; fileRef = 67663D2E66C7F1C1B6BD6392; };
+ 5D510B2F61AD897D19B917A4 = {isa = PBXBuildFile; fileRef = E3C5B106E571D189E28529D7; };
+ F737BADD554536EA38ADB4FC = {isa = PBXBuildFile; fileRef = 5152C57AD139845409BD05F2; };
+ 8492CFCDEC3C8BC7E679D597 = {isa = PBXBuildFile; fileRef = D98771DCE827466B36D51AF8; };
+ 8708D4FDEA2E44838FF56AF7 = {isa = PBXBuildFile; fileRef = DD58AB0C80AB9D0B6850983D; };
+ DD6F640B22B1E254A30D23A3 = {isa = PBXBuildFile; fileRef = AF5F2E4B8A7F1B9A507D043C; };
+ BFF81A843FE6013A9D16AA34 = {isa = PBXBuildFile; fileRef = E1CDDE683A9D3D00182334F0; };
+ BF6FA2A2A66FBBB7C0C82551 = {isa = PBXBuildFile; fileRef = A40D3E3FFBEC78F04EE0DE5A; };
+ A6C2383A9E41C6C0492FBD71 = {isa = PBXBuildFile; fileRef = B0B1C0956FEDCBF2AF19CA6B; };
+ 36CA4CF2E34082660F108708 = {isa = PBXBuildFile; fileRef = 17544537ED6A83CB6C3F3201; };
+ 90AB9198E92ADD84AFB8EFD6 = {isa = PBXBuildFile; fileRef = 8EF4F0D964C0ECA2E058F7DC; };
+ 221901C4077F389C16EE6FE1 = {isa = PBXBuildFile; fileRef = 7038FD73A5F7527FB76E987E; };
+ 8A93A3EB39E14A2887A12CF9 = {isa = PBXBuildFile; fileRef = ABFE23A312B6421D3E21ADC8; };
+ 35E0967364383B7202CB3A01 = {isa = PBXBuildFile; fileRef = 2E85944AC4191910EE758B99; };
+ 0112FC2B7A664C27E8F9941D = {isa = PBXBuildFile; fileRef = 231FA43EA6BDD60E2E5D682E; };
+ 001CEF1BC67328BA0A561A06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 003F5B441682BA631DDF3AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 0072E9EDE9A531ABF573D6A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
+ 007B1F3B503C7D7F4744BA43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 00AFB2ECABC5FF5015B0DF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 0112674271470DAC194D36F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 014DEEB53672D7474B219518 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = README.txt; path = "../../../../../modules/juce_blocks_basics/README.txt"; sourceTree = "SOURCE_ROOT"; };
+ 015F1290D2CFD4A244E60AC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; };
+ 016076F4D43D15D063A73530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 016588BDC792CF429E174F41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 01A60EB1D681DDDB424C6C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; };
+ 01D383BCF77D7704F896259D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 01D74B926C822FA65B778B9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 01E8CC333D1A9910A72DF28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 029B264C757780A8CD505C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
+ 02A336F8CDC439485DC73DD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 03130BDC25B905B277B0B227 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 0353708CD8C613C0F5D9081D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 036FADA1493FCEA443F6BD31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ 037C9C0E1723E94B95CD1913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
+ 0394E57BC8D292BA4F34C748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; };
+ 03B238D422D95970A3A834EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 03BD89526E26A670AE63B364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 03D95B05B6B6219344A8A5D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 03E5101ED7B3FD06AE564F67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 045387853469E755B6DD741C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ 047EB8514054BDBED92A4D65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; };
+ 0501056AA00F05DCCC93B577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; };
+ 05201B7662BC062EA0347E8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ 0522ECF89AFDFE087301B50B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexItem.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h"; sourceTree = "SOURCE_ROOT"; };
+ 05C5166291508D65E4DE1C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 05D530D67D2893ADAD43AA46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
+ 05F31583615DF3401FCF6EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 0608AD5F887B0DAB247A0169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; };
+ 06345AE1675306ACD324B59F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
+ 07176F08AA96CA742FABF32C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 073C36AC9C06770D84781B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 07B3D9344EFFDC5DFE383519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 07D9DF1A2D9CA38CB2F08E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; };
+ 083B9BAE399C7621EABFD0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 08E918530A1D5F37DC05B5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 093EAF4BA57F6552E2C377B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
+ 09901BD8E4BF85BA33E43AC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 099F6F87C4D05FF49A7E3C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 09A20E48B6DDCF89C3BA52B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; };
+ 0A2C851155CE6975BA22C5B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; };
+ 0A99DEEFD614DE832C7EF6BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; };
+ 0AA288FCCF1342C4947F5FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
+ 0ACB19FBE5DEAB16B5FE56B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0C368BF5435A155B2CEBF4DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; };
+ 0C39EABAF7EE4C2F8C7D6D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
+ 0CABBB44D28EDBD36D8E4B87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; };
+ 0CC672620B96382CF715F134 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D0667D008F7C834DC045F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D197638970189B7FC7EF613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D9243B5198B9D61504F7ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 0D9ED7566FF0B245CCB60C50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 0DF05CB01EC7CAE5299DCB5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0DF9EA0A64F07528C65C2623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0E2AB1720BB6F9EB7E91279B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
+ 0E2BE57E047E0F1EC2BF9880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0E36301F694447E2DE1A780C = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; };
+ 0E8C76CFF33AC2608DE25A16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; };
+ 0EC6923BA8DD0A685E54F725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 0EDF75F8D489F87A668EA9D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
+ 0EEC4F43BAD1FD5DD3503BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
+ 0EECE5A38949D03C48FA6727 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0F5134388D55D439AA3B66B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; };
+ 0FE96D4C83E1846EE628D57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ 100828DA91AC6887A22A621A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c"; sourceTree = "SOURCE_ROOT"; };
+ 100E8BF90F31D1E045AF1755 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; };
+ 110E2D4DFEF9D028905A9127 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 11535233EB65A31CB9A1C84C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; };
+ 116D8F769D93B11A66D4F7E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1177C66130BC8F6B57308A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrumPadLEDProgram.h"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ 119E392B5554CFFE8416EA5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; };
+ 11BB8490A209BD313ED39DAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; };
+ 125D60706A72F35D9D6CB3FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; };
+ 12748EFBC072636CB555FEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 12ACF9469751D8A6D9D90E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 12EFD54DC8E9CC723BEBE172 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; };
+ 130A891678CD13F5B8F813A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 1358B9554210B5D0242C1BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 137EDFA7BC30E6EEFF2A2C04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; };
+ 13B6344205397F546400A40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 13F2E257D9546C430FAD9DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; };
+ 1414F1FC8B43992F623E2FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1418A6F2476A59D58CB4D5A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; };
+ 1446DDFD289F734BFE1861BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ 1469F0FEBE09579AE2256553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; };
+ 149DD0517AA814294C0A8C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 14B0A23846DEF4981EB6CD1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 14C3BD49C3F262D8449A6D89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 14CD2D0EE13A7D3289EBBC86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Audio.h; path = ../../Source/Audio.h; sourceTree = "SOURCE_ROOT"; };
+ 156A9CB51E86FFCA164A77F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; };
+ 15945B1F63EE00FE6BCD61F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 160EA3FBA3A8D5CD53C381F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; };
+ 16457C02C3262323921CA12E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 170160056630E4035117107E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 173848000A992F19AC7AE30C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 174DCEEB1F0A9CC69F671E41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; };
+ 1751F5BA57A88D8A20248EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 17544537ED6A83CB6C3F3201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ 17889DFA6CEB679211FF3389 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; };
+ 17A9AAC14945D24CB26659AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; };
+ 182BED30B1F7A3E20AF7C41E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 188EAA1BD57F1209B23F6903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
+ 189CE0561DF5910DAF13D22B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 18D12ABCC228BF8EB5D22ACC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = "SOURCE_ROOT"; };
+ 18F92B6A8369D0F1A9B6705F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
+ 197DFCCEA5C1199B9C4D463F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
+ 19EC8D47288168DED8C317DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 1A544EA5E8AC999D7F681DDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Oscillators.h; path = ../../Source/Oscillators.h; sourceTree = "SOURCE_ROOT"; };
+ 1A8D2D0748598F01CEAAD4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
+ 1A9A02020BE1CA5BBD29B437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1ABB18E7361905092E209E5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1ACC1653C65505E7AC29FB74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1AE75CB0FA61A03429A4E540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = "SOURCE_ROOT"; };
+ 1B07C855838E6EF1D058D000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; };
+ 1B70293A6CF7F13B06B6569A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1BCEE2EA9EFF8FD8078F15A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
+ 1BEF40062139BA123A55EB92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1BF2C3AD8A498D0D55F22623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1CFA52094CFDFB61E549EBD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
+ 1DA19C5E99B3551ADE26E391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ 1DA2607436F77B9E79C8D031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1E3AD3FF27C698CD3EE18C93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1E732CABBE64BE6C4FD80795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 1EB32F020771FAC988EA1E64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1EB612BB5C88FD75360E182C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F0A802DF7D1C7F69E32CF10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; };
+ 1F2D0A04F7D20953AAD00785 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; };
+ 1F6AF62DCB06829E5D547080 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1F7097A7E2FD1CFD992160A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; };
+ 1F7339EB6D3A6DAC5966AA91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; };
+ 1FA1A18FDF4E7266114D4B47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 204D1CE3691490B81EB8C284 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 207D373F8699CA107E7E86F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2092AE5634DE6877D83C4CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; };
+ 20C2BF35D7BA96D597557B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 211D0DA102619F3D2048A741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_blocks_basics.cpp"; path = "../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 21AFD9310BD1AA9619366C27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 21CA089CEAAEFB67132DE3CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 21D9B04B3BDC4F1A87DA2C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; };
+ 21E4F85AFE03A986C667AC7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 223EDE843FE5CF77DCEEA76F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 224EC8865F2F99C2F1E4361D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; };
+ 225B313A9BC57AB15CC508F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BitmapLEDProgram.h"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ 22B870C829CEA56B78D8EDFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 22C6FFBE9D2206A13A30D71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23090584DEA1282747CE4769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 231FA43EA6BDD60E2E5D682E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ 234C53C2D7D7559F63E77597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuleBasedTopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ 23DBE20DA60F90ACDEC5A24A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23DC0CBBB4C6D6084EE19F93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23E03F6187920AD14BFC8BCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 241982E4455453EF71D03FFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2479A476CE3A4C0AF2EDBA33 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; };
+ 24B3BC3052E9DCD40B98304B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 24E745A97ACE83CB49C47941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ 250D5D5989533ADFB25306EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 256BCED752B70974C8DBB789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 257F034BF0E09D78178ADCF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; };
+ 25C8F3E08BE437DD7F436242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 25CE3EDC204ADB54724E65DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
+ 25F6B5BC25A7AFBA774E718C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/compat.h"; sourceTree = "SOURCE_ROOT"; };
+ 260406E9FB3C041C0B3A89E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 260E45CCB287E4CC5DCB27B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 265C9E0CD85917026D804337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 26688B743438F611F16AA65B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 268EE6C32655E4002E0F67E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 26F41B7D9404B50D9FE40C5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 26FE8AEE286297F8E8F148E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 2724A39A33300FFBF89A4EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; };
+ 276500E2DF4FBF36F4FA1B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 277B0FD43AA3A74D0BC6A519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
+ 279386328A2D384E9C2AE928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 27A4321B4652868129075D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 27C1AA486727BE2A93B11251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 282CADA9E37A136FDBC83A2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 284D3D37AFE280A47CFE5732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 29019D28852F4BA5CC9C303A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 298DDF49756F536B50469375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2A545C8625733F4D09626C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
+ 2AFBEF39C606E0A3D698185B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
+ 2B2AB245E134CDF5515EB130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ 2C34101EF32AC5EA4030FDAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2C4A133B427E627877FF8CE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2C651B376A3220A9D720B36B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2CDD1AD17D9E9316BC26501D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
+ 2D0476BBF2E82030BC3095E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 2D3D590B3FA5486BDAD225B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2D53FB29FFFEEB29036792DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 2DA8B0B8F42BA75AA6C09CF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; };
+ 2DBADCD115CE48292C27E0FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2DF02AFF10879E3FE2BBF776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2E6C4EDE0CDE7BCC288D464B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E85944AC4191910EE758B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
+ 2E8F5CD0CF6A9F42FF864B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2ED49D97994DA78A2920445B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; };
+ 2F8470C7C024CC6EF9669961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2FAD51414C9D18ADA5B2CC16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 2FAFF79F8E9250E599BEFDDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 30CC24B13FEBDDB188320191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HostPacketBuilder.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ 317A1C3C47E0CFD28F629EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 318FAEC913D5880AF074E666 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
+ 31DBD439C2A41A1CC472D924 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; };
+ 320BFED03A887CDA204EB748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 327941468D62EFD046DFD31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; };
+ 32882ADD511B3542BB245169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 329DF7E968A8D1BC5242755D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 331EE1B47BD07B07DFAAE89E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BitmapLEDProgram.cpp"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 332520A35477D044DB108E0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 333C35C42EAAC5C9C654F12B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 334C26584909EC5509B8CF72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 334F7A39BD0DA475F23052A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3392234464B3B3A97DA2B58C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
+ 339A19F5096F4F61F8255B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 33B297800F96D1E644E085B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ 34232FF8256F5BA2E80D6C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ 3454368245C5E8CFD1456FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 34F5C04FBF3B13F93083A301 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; };
+ 3521249F8414079020AF98B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ 35E2249D105A48B11BCF2DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 35EA9261CEA2AD1A800B702C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; };
+ 361070599D3204D0C42F7A22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
+ 36C6D8EECCE8A8A9E21D3895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RuleBasedTopologySource.cpp"; path = "../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 36FB8C0AD65A9A875C90C662 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; };
+ 377AF33A6FFEBFE62A05AD2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 379589FC32E87B31496C96B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 379BA1B50BAEE43F433A9E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; };
+ 379FC2C12D06AFB0A0F07476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; };
+ 37D3F9ADA06E46941FFC1532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c"; sourceTree = "SOURCE_ROOT"; };
+ 3837D7332EB169F26F818BB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; };
+ 3863C9397ED9E2DC7C26E98F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; };
+ 3898C8969F187EDE6C2FE1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
+ 38995FA8FD1425F65F87FC09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 389F673D479BAA914D559C3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 38BF78CAB1ABA56E87C5F438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; };
+ 38C951E0E35A4B513616931A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 3942B0BFD06ABC8B8AC0459D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; };
+ 396FCA5D9FAE5297B70B2655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 397717356F43CD103B169AF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 39B343A6A7A4BD31ED5AA4EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
+ 39C0350A74FE0DD8E792ABC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 39C7BCC2C6A8A53D47605192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; };
+ 39F2D7F60BCE45E9BEF6D2D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; };
+ 3A43AB7B49441ABD392D105D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3A78A59E802951A187248BD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ 3AB3B36BE9E7513E6A0785BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h"; sourceTree = "SOURCE_ROOT"; };
+ 3AF24B9D59180F6C4168586C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3B4D669F61B7B70F9F60B2A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; };
+ 3B603D361B33DF947B16EC5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
+ 3B740130AAA2019AE049C85B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; };
+ 3BCDBA897B07973BE96C7CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
+ 3BE2901B9A625B0A9A34FAEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3BEAA229D9D403CBE51C6670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3C0FB54AB7F6499B039CA796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 3C3A319FB7E247A39036FB7A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "LittleFoot Language README.txt"; path = "../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt"; sourceTree = "SOURCE_ROOT"; };
+ 3C7A5BB34C606EBC8556E38A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3CB2C6DD82376B45112B0576 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 3D3D5858103B1047C1779AC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3D51F32E7FBF84DEE183F53A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; };
+ 3D8ED3F6C1407C572BBEC652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 3DDC23784E7F36861AF31A75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; };
+ 3EB1E0AA5710B0452FF6BBE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3EDA16959191726A83FAF8B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F01CB2947056402F526A4F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F03CD51A0C38F53DEC35D06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F24711E8D4D2065EA8C372F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F31EDAA9BB16DCAA86C6A6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F461FC27A8BEA812E4604BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F4C08B027AA5847220503DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F57879007B1AD70426EB58B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; };
+ 40268160C3A821B16C2C0106 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 40297764149FD52F1B1B8FF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
+ 4083423AC8967EC85128335F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = "SOURCE_ROOT"; };
+ 408CD5BDE5207D96C2DC6F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 40AFF57E82F006FB59D0BB29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 40F2DCDCF3AE32D53839E7FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 41AAF7E46A95C5137361C5D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; };
+ 42747FC2DD3F362950112EFA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+ 43CC58EE154F54E14E70A9A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
+ 43D4608C71521337A1E62CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; };
+ 43FA1C85CEEE8976874CDE5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; };
+ 442B9293D4AECC2B9711CADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 44530960DE057A0334DFE77A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 445E7C1EF124A4552532AE4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 44B2FE959DF300C8385863AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 44F79CEE556BD28E515BA71B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = "SOURCE_ROOT"; };
+ 44FCA467ADE97D1E2B2A49A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4556D874FD9CF3D1DCE3DF36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 455B914D8EDEB31EDC2DC451 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 45830B6210881854542DEE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 468845E6939E7671B082138A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
+ 46A4ED1AED4B90701C9FA937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 46CA6FE2FCF2B4493A1CB500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; };
+ 46CD74CB0C207D371D0F22BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
+ 47123B6CF53D538F0E90AC17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 473950B43F215D4523AE801F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; };
+ 47604C0ABC53AE6ADB1BFF3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; };
+ 47607EE37E20577AC6770AD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 47BED7BBD05CF1420DE94CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 47CC2D3C3EA5DBDD7A160619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 481A69F80148E9DCC2B4A067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 493A7E8767FCA4250B6FBD94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 49424899DC52549DE819C621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 494C319CCFF5BCCD0F36FD33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4977DE7B0A8135EDB73EFD68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 49CA1AF15E947DCBBE1AB305 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4A174700334838A28231D4A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 4A6B7CEB97494FF6D388514E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
+ 4AA531F8D8E250C0429E2CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; };
+ 4ACC5E02BDD5C78A53E2522B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; };
+ 4B28AF2241AA37172D6069F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; };
+ 4B83FCEFA91AFCB06756FC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4C3567E01529EB4730FACB2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 4CA1F3B93913EA346771DFAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; };
+ 4CCBED88413D14521B8B840E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4CE9E46083DBAE3BA66CEF34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4CF48857422D8B4462FDCAC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4D372B2B68D66E83A4370DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; };
+ 4D3CB4D0542A042B8C210E31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
+ 4D4FD67BD642DA535431F2B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; };
+ 4D8C7E04C4FD97998300FDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4E7C1B9669C78323F39F66BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; };
+ 4E93058BD941E58123C09290 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 4EAAD4EB24BA19D7B7CC1EBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4ED26BCBDCC64564B6BC33E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; };
+ 4EE92E0A9A6A3FED53DEF136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
+ 4EFE2E4C990EE14732BACEC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ 4F37C953011C373B54598AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
+ 4F5EC73689E82CFA1B5E8B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; };
+ 4FD457CCBE50024B1A6377A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; };
+ 4FFAFAC9B332F9B993A6EBB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 5013B2E5F2FAF7E880593B1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 503BEED13051A5D02CE34644 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+ 50A01BFE69012A08EAAA5EF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; };
+ 50E9D72AF3E2F4CCDC6E7767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TouchList.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h"; sourceTree = "SOURCE_ROOT"; };
+ 50F08F6B006974130C590F4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 513984F548890D187E1A5683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 514E168C6138BEC0DC0D31BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; };
+ 5152C57AD139845409BD05F2 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
+ 51DBB2E2806E132D175C2597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 51F6B14D12856AA27906835D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 52162727C5145771E25131C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5259900DBEADF9B1E596D6CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 528DB2421C8140B90DA7B1C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 52B7F9D0AC8BF316E96E480A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ 52E468B373041BD029A57DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ 537FDE261B80BA27AB0F268F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5414D9D1E3345D557CEFE983 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
+ 543DC3C0F6530C99ECA63A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_books.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = "SOURCE_ROOT"; };
+ 54414222D76B0C6CD2D245C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
+ 545F7B594166F08E2B2976C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 546AE298612DB93D5C336C70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 549A73307E1C2D12EC3FA599 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
+ 551BB1571903BD046B3947C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 5558831C1B9AE2F59258290A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; };
+ 55902FE86849138F98309FD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; };
+ 55929F5F3E0FDBA0B5B5740A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 55E36D80A91694865B7CE332 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
+ 56C47E673A21A919A36BA737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; };
+ 5715EA1172976C34BF618365 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; };
+ 571FD86FB21925B70F4C2439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
+ 5737072AA0D7763823260699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 57702152570891F1CEF1F858 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; };
+ 577DD1C1B6BC82BE5E32C290 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 57A1B82612ACD48D50CDFB42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 57F6D4DF279AF7D98FE44E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; };
+ 584414FE3F035198BBE28413 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
+ 58AEC1D427BCFE3609BCD90A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 58BF05D2E1EBA950D4C132D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; };
+ 58DBADC28510520AE1E6E069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 58E8DB6E05BEC37A2C386482 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; };
+ 5917F2F2E450365FCD07C826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; };
+ 595CFE4CA3DAE79C08D9C7C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BitPackingUtilities.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h"; sourceTree = "SOURCE_ROOT"; };
+ 596AE59CDCCBE4D8E7D27954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 599428B835C56E48958680E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ 59EB48AD6143AB10F2D4830F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 5A19BDE20FB81C83D0A03799 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 5AF86438272890D0836A262D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5B14C9DFF557CC6B9A05E34D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatusLight.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h"; sourceTree = "SOURCE_ROOT"; };
+ 5B48244E76313E054EFEF426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; };
+ 5B74F105B018F0D2497D818E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
+ 5C1AF59B9E0F831176669ED8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; };
+ 5C8F1A64FF9B42D0D2BED7FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5C9A7CB614CE1DFA574772DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ 5D2D967B09263CB6D21E1FCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ 5D4BE633D03013E33B4B376D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
+ 5D5BA1131FE12F38BA17E290 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 5D77406B71C3A76439A5D9E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
+ 5DA4467E35DFFBF7AD8268A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
+ 5DDD8C97387E3792B53F6914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5DEC0A780DB6B3C7E3FE1896 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E977684B01B2AE8C9E6DAD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 5EA0ABB0B2C055D60AF351B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ 5EA120BDDD4CEB77D4440C20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 5F622792DD550ED2F85D6BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6085D0F7B3DFD7C8A7564A9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
+ 609FED9DD1CE6987BC6B0407 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; };
+ 60CB8017B900A02E7C7C1667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; };
+ 6107414E2EBFD835DB9235E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
+ 61287CFC6D4262060F576DD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; };
+ 613FE7EF2A3A4359633BA85E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
+ 614A8A8F8ED16753F8CFE07C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 61C2BDE6AF13FDD7F7CFB20F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; };
+ 61CAFC1A3803B6D6BA913E84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 61F8335D20F500B2BC612A2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 62062D02BDD756A9F4CD9917 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6208ED57BF34A1758751DC64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
+ 6229C851E122AA62DFE23981 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 630596B03B4198D9FD956D98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 634A8B60191C15D6693B40BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 634DD22DD8F7DE4BA1BA2A8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 634FC3F52B78B7FD78717F66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
+ 63577C8216D3E4FA634001A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
+ 6362E2A941EAA49521526692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 63E061781918F57A073B894F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 6401A4CD373276A624803E09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 64B11380D40B53153C293929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 65977552E1C7B054FE006EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; };
+ 65D2779D3783A6B0DB9DD7C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
+ 660163B352BBE406FE15DDEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 660DC5473197813B4E38CC4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
+ 664C16822A70A0AC8DE7BB7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
+ 66838D5159BDC5AC0E777C0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ 6686824DF63B35A02B0FCDAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 66A50CF3EB078EE4D9F4456D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 66CBE1EEF8AA4C91EB7046AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 66E065F9613ED585487E57B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 674C83936EDD53D1D3C70AC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; };
+ 67663D2E66C7F1C1B6BD6392 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ 67836F067567900AD54826E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 67933CC08A429EF3955DA476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; };
+ 67A20BDAD84353BFF940850E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 67BBC05B8A0FA71F2A325422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 681D758E911D2D050CD20F66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = "../../../../../modules/juce_core/zip/zlib/zutil.h"; sourceTree = "SOURCE_ROOT"; };
+ 68282AFC746AB0122FF571AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 685892F6AF56A2B6442C0BA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
+ 686B051DB68F5583A3DE1C31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_22.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = "SOURCE_ROOT"; };
+ 68C6E67D53E770D9165DFB36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; };
+ 68F5730BEE88039A3E7E3195 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 69A4D0C62C1F177C0C877A3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 69DCAD4B37C6DFC393CAE941 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
+ 6A3909C3FD602F355F2E5D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; };
+ 6A3B0B68AF1891D6708E5CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6BC2FE3123EC3468395FC8D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6C1E9287AA9C9FEFC393DDCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6C4EE337B0005F5CB6650264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 6C5369F8D2216549004C2A0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
+ 6C6FCFF482B11A862BE7852F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6C7EADF9387F020492C04442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
+ 6CD61526F604817E6912686D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; };
+ 6CFE9428C509216C6B6E691E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
+ 6D31C33C6C7BDB06D0BCCA99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6D31F014FC058BF4E76B8415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
+ 6D9C6DABD7D5E768EF9DCEC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
+ 6DC63841ED21D2CC651147C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6E9222D7B192A7EF575F5003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; };
+ 6F0D14BB0BF350DD7664CFE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
+ 6F60258048938FF67DFCDDE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6F96929ABEA4492374734DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; };
+ 6FA8114276186677C37A02AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_core.cpp"; path = "../../../../../modules/juce_core/juce_core.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6FB98EFC21231B01B9375164 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
+ 6FC3D011A099091610A803A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6FE31511DFE124B4DBE13958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
+ 6FF35BA648B2B034130B0BF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; };
+ 6FFFF87297AF8C459786210B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c"; sourceTree = "SOURCE_ROOT"; };
+ 7038FD73A5F7527FB76E987E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 711B895681BA427CC7DF8E7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 711C1E768B2C7DB6946D1703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7127835E262D977E179ABA27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; };
+ 71A349845B0AB4ECB6FB56AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; };
+ 720BE46FF929B0A8D37DBB05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; };
+ 72578DAAE178DD6EDC268A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
+ 729FBFD01DE3FC0BAFB0C65F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; };
+ 72E27E0C9F64F1BACD6EF454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
+ 730CE994579DDD2DE49B5D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 733D19DB0084F1592D2ACCB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 735D98A7029754C4EEC30638 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 738A2C478AADF47D641F9577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 74040BA20DE2E305AE2D0480 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 747883C759DB70A4DAB5FF3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 74F32D6CE88116DDAD104001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 75725425105CE1949C646ADA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7578F0E1F643412976B603E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 75A2F39B22AC60256D2115D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
+ 75D9711B81D5DBE678D64734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 75E083FA4A0BAB99229F23EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 7609EEEACF06B6ABC9B0AD6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 761F52DF0A7AEB7B43229D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; };
+ 769D6EB9D30812CE68C829C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 769EC065E9455C2DFECD2CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 77192DF1CEF8FA03F0E6EE79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; };
+ 771B35D7F44BB8C0DFDE2452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 7773CF6756E7F17F8CCFBB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
+ 778E2234490F20FEC78AE06E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Topology.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_Topology.h"; sourceTree = "SOURCE_ROOT"; };
+ 77A1BF25012758C1D78583E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 7806B0B64D514AC448AD6E0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; };
+ 780ED77A4BF65BA1F5E61F95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Block.cpp"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 78E5BFE91209EE3CA40BAC3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; };
+ 78E8E4FD896C87A932976258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; };
+ 794233C62A59EA02725A7E9E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ 79741977D90F18EC3D8BAE35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7986D1D717F09A2C5DB15445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ 799F28AA91B1E73D5DD93EF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 79C0162E66B96342B5135E1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 79DB1C896B9D762A9BF4D9EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 7A252E1B8C10CF47B083732B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A31D46D227370A23021E676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
+ 7A45794310114755CDD94AB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A5719ACD9A5B0D2663B2EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; };
+ 7B516EE490E9912305AEBFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; };
+ 7BBCCF2C183BCF08FA446ABB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7C32EA6B5A32E29B31FE6FFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; };
+ 7C3509B7C5B03AEF2B13D26C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
+ 7C5529A757AAF95634BB7251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; };
+ 7C5ACCC90B3367A29598171C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 7D3372B86F706B2EB958851D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7D5439A24397FB12F5B97C69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7D7F423A3FB0AC8EDBE62944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 7E391A85858C06D5F6286DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 7E3C266A9195C927EDA3D45B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 7E6FCB5568F74241A49A5B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7F13C06AE22B799467575AB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; };
+ 7F71A4F3F4814177EB0CFB75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
+ 7F9265BF55E77A3F1FE16D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; };
+ 7FE57FC0CEE579C81819F26B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 80235293554BB0956701E9ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
+ 80BBC5D053419503A600F7D5 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Protocol Format.txt"; path = "../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt"; sourceTree = "SOURCE_ROOT"; };
+ 80CB00749EEB05EB63E6AB02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 80E878BF0672503772AB3C6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8103743F82032789096ACEB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 811EB7C741184EAE672D6581 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 812F5FE9CE244FFDCFA5F7D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
+ 813E65ADB3932DDD6C2FD747 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ 818EFDD3442FFD396956B865 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ 819FAA8F15DD9C9789D26B77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 81ADF2BEFA99AD3AB0FC9A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LEDGrid.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h"; sourceTree = "SOURCE_ROOT"; };
+ 820AEA62B5F877385A1B482D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; };
+ 8221B5162E280BE9AB2619CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; };
+ 8232BE31BA3CA0AE677EC11D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 82A5E18127980C5CF8AE919F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; };
+ 82C32D94FAED75BF1FBB3FCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 83123049240352B97AEC1FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; };
+ 8319007F2F0B140F09E10D2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 83A8F8A11B1659400C525E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PhysicalTopologySource.cpp"; path = "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 83AFB3E647BB6ED40AA571A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
+ 8406536DA0B794016B0CC15B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
+ 84182A25498E78D5DEF6E925 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 84187C96133F7EAC39E46D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 849CF8E8313D7205E0DAA6F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 84BE02BFDAF53B9697664253 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 84FD4873C8F91A307D95563B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; };
+ 84FE9718AAA47D64293881CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 8503FD83B959A39D75548438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 852CE105B166A48264750790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 854C4EBBB0954052ACF55160 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 856D6984E668878C082F6CE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 866A90A69A3EB77768DD8A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
+ 868BF9273B56A0762F1CE5B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8694FBBB22ADD72875586C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 86C5B51CA8FE58BBE6C48E5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ 8706B5033AE6F9AD92FB4F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 875FEC3940D6185FD9190213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 879DC7CDE41F11EF9A8F3FCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 87ECEEBFFBBFB5281E991537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
+ 87F3AD7F998AC58254A5CB14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; };
+ 881A4A50718FA7CE3F3E5375 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; };
+ 884EE4AA71233E725BAC6B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
+ 88587028FF53FA6CFA0D4887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8899E26B15AA5CE8D18A2DB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
+ 890AEBD8BEC0A1A2C418F79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 892C11FB5B2192DC7FE0E617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 89C83AC387C203CF1105C951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; };
+ 8A270D3B29FF0A115BDA7C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8A3C4AF25492360327C080A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 8A3EF0C45AE28C847B7BB89E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; };
+ 8A48EB23ED8F364CF167DF1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ 8A92A94D8E00418673E58846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 8AB24BF1D27B394712F32CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LEDRow.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h"; sourceTree = "SOURCE_ROOT"; };
+ 8AC432E785BEC3DAD8663650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8AFFB60B20E17B797777B2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h"; sourceTree = "SOURCE_ROOT"; };
+ 8BC3502A774FCDC44C015866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ 8BD079BB7D801C6E67873BA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; };
+ 8BE67E7D6CE3A17E2E120520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; };
+ 8CAF15744CF73CDE5C577AB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8CB049C67CA9CA3E76960B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ 8CB84F9ACB8B17117E5FE0C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8CCE915477416067D7B0F311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
+ 8CDDF045B2A202FCA5DFD932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = "SOURCE_ROOT"; };
+ 8D267142A6682D9886D0CD9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8D69477B2E980591FF3F78EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 8DC679191499EAE03463DC3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
+ 8DC8471AAC1855AC5FCF5A49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 8E5D35AF16D5BC97A9F05B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8E8618D73EBC59ABD8A424EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 8E8EB4F5ADDC2D5B024F0F0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8EBDC229B7D3D13C09C28CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8EEEC7C23F3A4D5EBAD32660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8EF4F0D964C0ECA2E058F7DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
+ 8EFAE8B2003284F5A905E08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8F311C729219275902113CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8FACD18D8DF3D14D269091CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 8FBD6AD2AA7111D2BE5D52AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; };
+ 8FC4E1BB74B356F0099608B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; };
+ 90040097B24860C360877342 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
+ 90092F1E5EBA0AA6057FBE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 905BDA536A972F6FC36B356F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9065B3CBA068CCEE9F5AFDFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 90A6E39FA0169E7EE1E66FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
+ 9109705AE4C9C46B0CEBAD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9159BC49F78C18D4ABBAA16A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; };
+ 919078E0ACA29DBAEFAEDB97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
+ 91EBFF0D72C95AA186003C8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; };
+ 92014E0EF85DDA08ACCFE803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ 920D2C92A6D26ECC0914BE7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 92679B9C6D17B2B7CD7B4EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; };
+ 92CEF1181147D9E110D85278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; };
+ 930BD2067E0A3FC1B0812211 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; };
+ 936C85C333BE640A26BEA92B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
+ 93704EAD7D73562297F10C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 939C507246EB383834A13299 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ 93B87F458F1F33BFD30539FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 93FDFB1DD4E2378AE729BA02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; };
+ 94123CD59BFDC04A9DFCB71B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ 942341A54DBA7FD0D9AD19DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; };
+ 942B534CD5B5BA732092A55E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
+ 94E460DE1BB4B000A0EB883A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 95636B26C770CFEADB3201BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
+ 959F6D02ECA6B976583C67FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; };
+ 95A6DD5234F109DB3ABC983C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 96A355D0A7CCC55998862273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 96B1C4A89CB5A5423A116F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 96C5E46FAC93C462A7EBF4DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; };
+ 96FC2E3988B10054B1A11323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 9707394FCE0F9ED5DDBB0524 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; };
+ 9768B98C6D83F54C36FA719F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; };
+ 97A84C15178314A33151C129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; };
+ 97AE93FD5FB144697DBFE207 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 97BAAC4F048477A639E48B3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 97C27DB9A68F6AACFF857A46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; };
+ 97DC76FC35177C25FECDD169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; };
+ 982342A0B98DB337C74DC50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; };
+ 982EF3C57A98E26EAD69AE4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; };
+ 987209E1994B07DBD16DEC8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 98A71ED25423EDA3D71C5A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 993A042E02F2CE3ABC485FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 99A9A70A22EC3C598F623111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
+ 99D62156E5F03AEEF0F367BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; };
+ 99D82B4AECBFE5BBEA8E435B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; };
+ 9A157F41830D8E72D9B6DDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
+ 9AAD4E5C83FE06AA1C471DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ 9B04A8539B5ED08A7E26072A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
+ 9B059A5FCABFC0743BAAEDB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; };
+ 9B927FB567BC0D29DE04DEC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
+ 9BA7FB3722B671A47037C909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h"; sourceTree = "SOURCE_ROOT"; };
+ 9BC007D5846F63F0F37CF97B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9BC9AD541C62AF0DD2BC11D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ 9C331AACD288AAD9F7FDF881 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
+ 9C5ED73E2DF5FDCE5189E945 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 9CD701758E71973D7BF7CC8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9D16672FDB24B44DFF13E4B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D36B0CD0D56048687E2A573 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D53AA5877289D7EC8E9D708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
+ 9D68ED5474F6AA923599D783 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9D95253B677F8E6E916D4C41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
+ 9E0DB0A243F94F8D90C1CB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
+ 9E490E7A44CB793DDFBEE1EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9E56353F5164018FE9407346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9EA89360E878DE14172E34CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; };
+ 9F02393F695A4882E729627C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9F13791A2E1028E08EFB5A32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9F87B75B0923DE3CA7124827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
+ A00E9DF1CB3DB09C81B31D98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A0B8C5DC5B1C48EF0B25D9DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ A0C6E00A2F5204606A1B0196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; };
+ A0FF0FE7A4BA41F808EBF3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h"; sourceTree = "SOURCE_ROOT"; };
+ A10A8513A3239AF1A4E59DD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A16EB5BE88FD8E25BD4F4158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A1842A3B2210EA4F3E78A614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A19C3A3A74428A4C8EF44EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = "SOURCE_ROOT"; };
+ A1C12AC77EFFF165AC6B053D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; };
+ A23399E22779624DCB1D025C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A235D66B34BD50E939FF885D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
+ A2DCF1D28A3EADC8DB365F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A317B26EF3D30E3CFCC80F79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
+ A31876A1700D5032452F8AA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ A32C77F35CC0A61153BDD2BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; };
+ A3C88D6C40459FD49F4BBBFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
+ A406981AEDB8C64F3F1000ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
+ A40D3E3FFBEC78F04EE0DE5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_blocks_basics.cpp"; path = "../../JuceLibraryCode/juce_blocks_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A416B5CD799D7BDABF8FEE69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TouchSurface.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h"; sourceTree = "SOURCE_ROOT"; };
+ A41A3F1FD1EE4F50F9267231 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A48C9F610C0BDA307CC287F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A4E1341FFEB2CDFED4B2750C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; };
+ A546C8B742A8DC8F5E60C606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A579D7C165F5D2A34D8B60DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A5C1C519AA6CE15BF9547B03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; };
+ A647EFD684A71A7F1DFEF7E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; };
+ A65DFC4FCE8DD0EAA2901FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; };
+ A693A2B27BD70EAF2FDCDD91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ A6CA6F9862A31AA045082102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A701A3A08035A45B9D1F7963 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
+ A7102BD74E049F7ED8513D1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootRunner.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h"; sourceTree = "SOURCE_ROOT"; };
+ A7513E63DF1FEE5FB89D5674 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlexBox.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A75D403B2009F5E41DB85E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; };
+ A76BBF30944A9FC89679BE5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; };
+ A7A27C3E995A0A0CAF75F018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlocksProtocolDefinitions.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
+ A7AB12DC3DB28027A4F73022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A7DBC8925B48CFF83A1A785D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
+ A830EA78B992425DA01217BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A844CEB6720112AAAE4BDABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; };
+ A868BFDFEFD84058783F8A1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ A8A58CFF7A33378076372D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; };
+ A8C4CA489A4BF1B340754797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A8FBBFE98D5BD4AD7029040E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
+ A909FAC6633F0D17F297405A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A928068058AABD08099E1792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ A93D235AED6D56DA08F82062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ A94DAD22B9F27389EB042378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; };
+ A9833EF4FF3863198A01845F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
+ A9A287E8488E914B1EDDA564 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A9D2C3EEB94596DD2B772434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; };
+ A9FB36572DDA1194317B9352 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; };
+ AA518B503E5A850094865B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AA89E7B373C7733F3F5646F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; };
+ AAF99DBF6ACB84A56C7996C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AB4B277C8F975F009F31753A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ AB4BAE5B3AAB57A4BC712F3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; };
+ AB50A06C6DADCC7678D37DF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ AB995EFABB924F8175D8954F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ABB93E3C3FB5C8C04FB65943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ABFE23A312B6421D3E21ADC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ AC4D225082C6EC2B2F74D280 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
+ AC9C674F22F5CCEDB27CA007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
+ ACE53253C4EF7A3B45197F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ ACEA8F358B77577CBE526F1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AD272D93B639B0D95431D071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_data_structures.cpp"; path = "../../../../../modules/juce_data_structures/juce_data_structures.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AD3294A10650175E7F446D7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ AD95DCF6FDF31C1C53422FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ ADBF05F90178C516209F0C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; };
+ ADC432227AFFB91565728B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; };
+ ADF718CBF6842DD6FC15CF71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ADF9FFDBBDB7AE74869554B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ AE7CE5DD4695049CE940B119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; };
+ AE91EB61DAC980EC373284E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
+ AED3A93746DB1172E5A05BBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; };
+ AF09AA6BF4864B8998E2676E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AF42734F63315C85E08587B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c"; sourceTree = "SOURCE_ROOT"; };
+ AF5F2E4B8A7F1B9A507D043C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
+ AF6E053345A73531F9DE19FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootRemoteHeap.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h"; sourceTree = "SOURCE_ROOT"; };
+ B019A04354A3A377813C4F10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
+ B04C24316C7F5D7E5C79E0CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B0792237EC36D9F9D8D94380 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
+ B08A348CEAB267336BEE6404 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ B0A1C61E0EBC451CB0B3A337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ B0B1C0956FEDCBF2AF19CA6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ B0B4567F125815CE3D5F97B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; };
+ B0D2EB2CCE9410392733E088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ B16D0231583843F5782F2FF1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
+ B185D4ED3D7011747FA30D2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ B194372F45854DE5FC54671F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ B19D56F3E441EB2B1A84C41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
+ B1A84BBE9851F9F56F0E8D0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
+ B1B7933CA5A0B7F38A94F728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
+ B1DDA423E55EA93290F02213 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HostPacketDecoder.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h"; sourceTree = "SOURCE_ROOT"; };
+ B210D9151B74DC5875B5F9F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
+ B258C7C7456130F17398F6EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; };
+ B2737AFF8C4A2300FD4DC321 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B2945D912BAAD64AB84975AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ B29B68EFD93C936B6004A003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ B2A083D68101A749DA6CEC50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ B2F323A2CF9DBDE87094A12C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B31CB3E3F4BD0212647C599D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B34A138110D01A3CA9CB727D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; };
+ B35C9A4EB69C394A0DE6E813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
+ B378396CBE6EE2E85295A2DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; };
+ B387644139E3E36918C4D03A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B38DA581048FDA139F641FB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ B3D4730C96893578BF727D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
+ B43C86E279C36B83F25A88D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; };
+ B50ED6B4AE791917727F5E7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; };
+ B56ACDB21BF63DD70C738C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
+ B56D69C275FA7C73683BA840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; };
+ B5887F35A912037691A7AA66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; };
+ B5E44A231B747E1759C87CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B5F5DB38E5BE6CA6306CCE74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B5FB26E84ABF33A7E353A48D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B6291F8983C362DED92336BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; };
+ B65C1614B4755DD56161B155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; };
+ B6847B2CCF1B2E71712827E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B70A7208BDC84707A08B49E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = "SOURCE_ROOT"; };
+ B714D3995796B3E1783B2B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ B7E100E53E55FBBB995D1015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
+ B7EF3871AADEF4B0B05827E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; };
+ B82AF1752045C4157C0ADF1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
+ B8793874DA3E3A50A76F9572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; };
+ B90793CC817A7C319A3AE20C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B978E5CC1180425AD149A152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ B98F37A336955FF58F90FB4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ B9DF6AB40767C91B45834CED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BA09B2615301490887929DA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BA5273CC64B39B3B0455A53A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BA55F9EC52073F1ECFEF5F2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BAB1E713B8FD5FF764E93C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BAB246A896258C6FE2132717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; };
+ BABBA06E9B4F5AC45082E718 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; };
+ BAFE2641BD8618F8F7F65579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; };
+ BB206032A144BA440AF410E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BC2708C1A30230F8FFED0BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; };
+ BC5C888CE6A7A5B4562FA329 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ BC6AEAE96DA5F1EE5F62BD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; };
+ BCAD87C5C4722BE2239A00F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
+ BD019AAA61CCA4A497274794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; };
+ BD1EC57A31C1A44821E79F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BD1F10BA3C91ABDEDA96A90A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; };
+ BD369BD9E2486BB5D544D8FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; };
+ BD75123529E67F9376C1899A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
+ BD8807162A21C44D5C816A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; };
+ BDBADF3D55924C948F41334D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BDD5A0B6F6C05C0A0ECDC78B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; };
+ BDE15BB5ED83547045B075DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ BDF3FBAE1450DCFA0496D341 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; };
+ BE3AB671FE1BF4BA67F3B22E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BED0AA415C62CB7F797E51C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
+ BED548AB5BFA57159DD12DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BEF0AAA4CC9BA56B412B7B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BEF40C565264BB572868FF09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BEFCC3E231F6729C94ED2F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h"; sourceTree = "SOURCE_ROOT"; };
+ BF052877DCD7D8C1AA4CDF9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; };
+ BF273AD2BE0018A6EDCF2258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BF9B812900B12580FCD3C1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; };
+ BFD3CE2B9C2AF98165049337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
+ BFE24BD62EA3F7DBFA196DF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BFF50837A22F32388D61E4C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C023041419CCD5A746DD3733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
+ C02A07C4E5AB7D6C98CEAEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ C050A75A3FD1ED843430646B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C0794CF65E83FA413249342B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C096E8792E18214FCE25A25C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; };
+ C12E3B26BAD438E71B125623 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C1564464E7D3E100E68F78F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
+ C1CB3B69DCF541CF84F0A5C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; };
+ C225444502EBA04B63E16CE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C22DDE0CA3FD2565AC1A9641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C23D3AE443F3DA9E05DCF670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; };
+ C278FC33051757FD973E4BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
+ C2925B912CB7478725EC09C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C2BFF63FD5C214D4E5B993AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C2EA3FCC07E1674AFDEA71B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C3131423ADE321A9FFD64C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ C3729E6D46FC9FE8B8EA99E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; };
+ C44815DFC69575308E2E7DF5 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
+ C4703A5DB149F64AE6A30668 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C4716E0C3BCBC857984C58A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C50067A84435B50FAE2991A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C53219A41027ED103B202C42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ C54776C328896DD9C63D5F14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C57C541975044B538A4204B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
+ C5A18309C2DC13A1156282F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Block.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_Block.h"; sourceTree = "SOURCE_ROOT"; };
+ C5FB97556F8007E0E5849857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; };
+ C6F13DC7541D0F00B8C8ED6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
+ C719A471C0AF1ACF4915590B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; };
+ C76C141618B3750168ADC0D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ C78AE90444451893D78C4E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C7A1D93A3CD65E4F1FA770F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; };
+ C80F802372BCFB07523C535D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C8A28EF3F300FCD23130DADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
+ C8BDDC0EA95699CED529FB96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C8CDA61126AEF68721AE396B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; };
+ C92D8587F5DBAD4B1CC80406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C9BF56C284B0BE80A7C89DC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
+ C9C143571708C2B184BFEB12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C9EA5D0B9826A43E6CC7E88C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CA1EF2865AA0F249D7A2646B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; };
+ CA54557D28FB9E717532A9B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ CA5C4EA6672E46AE47A55790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h"; sourceTree = "SOURCE_ROOT"; };
+ CA65DB1D639849CCDABA67FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CA7BE1CD2A59E4A7A133207F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CA99CDFEEEA27490079060CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ CAA47648604DE92DE3E7826B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; };
+ CACC690868FC319352C6D605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
+ CB01A5CBA8DA5DA64F79F9D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ CB0C4A25BA9D6F1AEDEF4CD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CB3169B4A664108CEA2751DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
+ CB6C50C6F026F66991905EBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
+ CBA6A8FCB0795C89183A8E71 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+ CC03ACEC4A87137E5E9C8328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c"; sourceTree = "SOURCE_ROOT"; };
+ CC764227E00D7572D2B22354 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ CCF01620822A4A144E3C6FBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; };
+ CD2D5E669A846D3497CADFF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_blocks_basics.h"; path = "../../../../../modules/juce_blocks_basics/juce_blocks_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ CD9D44C2A4E6A65D62F5A2F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ CDB1484C4D6010E4D4B03C8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
+ CDB6AB74B48E27543C7C3247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CDBA14E9ED2A6DFA59B3E9F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; };
+ CDEBA4B2BB49150BFAED8665 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
+ CE6036ECB2716A67BEDFF215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ CE63CB470CE025B3344E6B14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CE8E7EE0568DAE54277A3A75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
+ CEC3F1D21215C9FC326F7970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
+ CEE8CFCB66ADE7E78A9B5D84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ CF22F2D71CC50A6A6BE820A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; };
+ CF56CAFD0B05918B202CC8C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CF895906826621767E325CAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFF86D411ACF901036AA22E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
+ CFFCDE3DE85309817AA5314F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D0029C076D0AFD4531B8C952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ D00E7D50024BC55EE60D8A1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ D01B3D44D354E1DD105A6851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; };
+ D01FEE0DC6C2CED2D3217198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D06661831BB0908DEBF996FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D0C5462B25A1EF7C0BAC2C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D0F8908BB4BF8D2904759E9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D111247356C62C3698C5259A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
+ D16614D13C7C9AB7565DE60F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; };
+ D184EF49BA7A3F3F5545B1D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D19C04CE3F848A3EB30BD306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; };
+ D1B4E1CE074A1BE6DB3D9BD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
+ D1BC969BA323CE7CEEB34692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D1D6547CA0BAEB079FF9050F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D23E61F11E9CD3EE88C300C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
+ D24A6466F1C7D63741B729BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; };
+ D270EFE61FCF33ABA7DD7A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ D2A305BF46124317B26844C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
+ D3F2B4B868A0F886E10FD901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ D3F75448D5E30FEF546165DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; };
+ D410F13F7C6D5DEB4EC91AA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
+ D4E6E686B826C386E372B9B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
+ D4F58BCBE5B9C7D88AC92BA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrumPadLEDProgram.cpp"; path = "../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D504B7AB34A2CD39CB9C856D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D50C18AA1D31A606129E712C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ D512265869F4FD6DBE091DD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D54B128515F377318B34C9C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D5542B1227D81DCFF2DFCDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; };
+ D56C2798DB2930BA21DE5222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D5923C2C45B84A2771DB8125 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
+ D5AE036BF17CF6BF3B415302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
+ D6303AB7ED3A815A746818DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
+ D6A1B4EF7647B82043EC5C14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; };
+ D6B40F5575A4546875FDBFCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ D766274BD43DF76958D6D7A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D778C2ED7EA9D5EDCFBA1507 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BlocksSynth.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ D7A1432A09EA76270555EBFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; };
+ D7AA51A9571EBBDACC39F434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D7B9697EF473A62BE6453BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; };
+ D816E1D2FDD6252C7AAF2628 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; };
+ D8555991B456F672F132ABEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
+ D88385F251FF95CBF3C70657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D8B3083479A22B7344F5BAC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D901EBE00D1E01A3702FA03D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; };
+ D98771DCE827466B36D51AF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; };
+ D98F033805C033EF081A9696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; };
+ D9B504A48CCEDE57288899D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; };
+ D9C6F027E7A8E9FDDDAF99BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
+ D9D800ABA75CDD05817432E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
+ D9E2B3341EC036EBCF562434 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DA07E0972B6DD508A081B59E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; };
+ DA190E7F11B7C6308E764363 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
+ DA52F06969FC2FEFD8DCFAE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; };
+ DAF373B4117FFAAEF7D9AA22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; };
+ DB2F2C84EE330E7B99CB91D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
+ DB3F1EBC07134AD21DB325DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DB5CE4E6FE04ADB6786CF3F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ DB759FAAEF7C18AB11580C3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; };
+ DB7D21EDFDD06447F1A26B93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; };
+ DBBDB335ABA05B454F030054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DBD9D7E0C4FB25EBBE29B36A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DC032932F029EBB4B68C2A21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
+ DC4C0156E331164E93BF2F1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DC92C4ED5AC4F39FA201F932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ DC9D312245AA5BFA4B21AC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ DCCC9B894C6F3FF9643B3D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DCE85E789DF463EF99F73FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
+ DCFCECAE8ED2C934AB68E4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DD3970FDCA69D2DEFBBA3E72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ControlButton.h"; path = "../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h"; sourceTree = "SOURCE_ROOT"; };
+ DD58AB0C80AB9D0B6850983D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
+ DDA7B0C44BB6500A8264AB08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DDCB65776F12BA2494D86229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; };
+ DDD1AD3004D036AF9AFD5043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DE005946F4FF5EB9F2B5E94F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DEB5BC8C4CF7600478965F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; };
+ DFA7F722F61CC00E65789E52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DFBC7ECB67E1FD3C6340663B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DFD7F405B35ECE2DC44D6939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; };
+ E068081DF4D036954360B4CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E0FC64420488B39FFC9C25AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E1714E22DFB33D06F62468F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E1CDDE683A9D3D00182334F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
+ E270518951867873C374D756 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E276994927D3E8743E85FEF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; };
+ E283C55B43C31CD66C6C387F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; };
+ E2AC1771328A969730B88BDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
+ E2C31B4B096247BEB81029C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E2C85B5C1B1B51B08231F7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; };
+ E305CCBB5B76D319BEC9248E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; };
+ E30B4E0A6F8029E7AE3D52E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E37B67AAF808FD652E3FBE23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; };
+ E38345D85F1CD35B62CD6456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
+ E38D7CBE4043D2FE2DB2B1A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E39AB15FBBB7950C44245FC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PhysicalTopologySource.h"; path = "../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h"; sourceTree = "SOURCE_ROOT"; };
+ E3C5B106E571D189E28529D7 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
+ E3F31A84F34E8B640AB5BE80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; };
+ E3FFC7BB4B7420DFFB0FF1F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E4286C9BBAAF045DA3AC521A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E46479B62709BC51E7EADCA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
+ E4A7570B4EABC3BDD766D2A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E4B9999176E0FB1175CE9568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
+ E4E68F979116A9B3B7D663C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; };
+ E51D1884CE4F31EA17661097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E53E7B65080C5BBEF4A9D7C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E56A4F249B3DC548F3392621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ E56F858D8C2F9C11CBD6308D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
+ E5A413D6F34F783C7A708B49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; };
+ E60F4AAC9AEFE0400EEEF3F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; };
+ E6BA394E1D41CCDEC2B0DD9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E72062CD9EDFCAFFB63157CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E7402936E5521555F7B600AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
+ E75A56D8BAB64170C5D38438 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; };
+ E7642142C979E15EF3CA8E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlockModels.h"; path = "../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h"; sourceTree = "SOURCE_ROOT"; };
+ E76C940E3BEADDDA3B798D3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E76E93F5737FE60F46B3837E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZone.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E76FD2235925C85F2D7A8550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E7F6687DE8509FCC698399FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E8598E243314304BD8163FD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
+ E8B53464FF63B6F3C0E8E723 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E8BBBB6CB566863296CC406B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; };
+ E8F80C37B88B1514B9D9F6CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E9BFBC057BDD5E694D04F68E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; };
+ EA53D42B42EB75C773AB045B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ EA8A57933A118B68E6C8A037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; };
+ EAA764F4599A4624B26AD06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; };
+ EABAA3E42B432D106A18FC39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; };
+ EABE813E005E9B66B20BEF8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; };
+ EADE74B222122B9F8144DF28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; };
+ EAFC617A8DEFF67E2A070D1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EB154A70F170DDD097484FE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
+ EB91C5FFE88DF5CFF947669D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ EBCD4C646F6FA038CBCD1D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EBF38E78D19A1BCCAE6C72E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EC6D7E09774AD0360CFDD3CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EC9E71FB57478AB3FDA27CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ECA282604B5FF6065330901B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
+ ED7FCADD5623453DD97B43D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ ED9E41C44623B304A6079277 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ EDCE79F26F024D16BCA0F117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EE3FF44BECDF0A701A625460 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
+ EE8BBEB89A13B0E1AFD5780C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
+ EEC8B02D39FBA83A6AE62ADA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ EFD23A341192EC2E36497814 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ EFE9FF35F95193089D2465F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
+ F06F1733D3BA37AA7C511933 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; };
+ F0E4E317DBB8EDC346F79C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; };
+ F0F5158BE492B43B8FAAD1D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ F1071892476C8E78090C1B04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
+ F17172414E68A67E86770D16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; };
+ F1A811BDF1FBDB3460847383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ F2544DB9D399C1102E95A867 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LittleFootCompiler.h"; path = "../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h"; sourceTree = "SOURCE_ROOT"; };
+ F2634446266E383816E9341A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
+ F2720937BE3C1F10272A7C06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F2D31A607BEC69FA6AD0D12E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
+ F2D9015FC6DBA12DE9609EAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F2F3C7E6FA8608C80DF5EF34 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
+ F306B08E4CCAD1A06EC0DB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F3AD07BBECD1E70E5F3F40BD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ F42D141B9A70BB0273407B0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ F464C4862C4DFD5774559248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F56396DCA982B63F2DA78471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
+ F572E47156DAA8EEBE746390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
+ F5A099B54BDAB42FF8D77144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F5B3C9D2B068F9ADFA8C653C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; };
+ F5D2EE7EA410E9A78BF68285 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; };
+ F6133ABCAB3AC137D60D3D2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; };
+ F641DDA93FDEF2450E56A606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
+ F69AED9FEB4B4E8B9457BA1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; };
+ F6E7A4BF54C27C60056270F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; };
+ F70DB3B3FBB0AB2575A13FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; };
+ F77076F73232546CC0DA097C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; };
+ F7D345B0E22C7AB91FFF9CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
+ F837F14CCAD905678B2EB5A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
+ F86455FC80F2DF1C12D28BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F9450711CCBD8FCDEA9E95F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F97BD4908447C154ADAEB982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FA3537F978DC20BC51975AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ FA7463364B17FAF275702078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
+ FA91B86E9778655B50D0814C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FAF3E26F1BBFA85CA8B333E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FB44F62FA6C5FA2DFB1B2142 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; };
+ FB558727D4E53558D3F72AE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FB76ED4506F6CB6BC0FA0D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; };
+ FB7CEAF8DF0A4447F1BD2DCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; };
+ FBC1679B39F569C014570698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
+ FBD3C4CF5151FE82BA05D486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
+ FCD28EC20E234A418F03AB9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FD05664C4D9E513C74BFBD73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; };
+ FD2F08645DF014C0F3110942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ FD6A23DA53BC48A5D01DCAAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; };
+ FD6A2554500AE9E8F340812C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
+ FDAC3E164BA3FCB909B9F2BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; };
+ FDB547DFBE187A379D96760B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FDF345AF086264E4040A79CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
+ FE376580AD9D099778977CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
+ FE6B0EBC824D1E924DB2406B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FE81D4D343853571BF409685 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FF988FAEBE5F808EE1BB9F4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexBox.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h"; sourceTree = "SOURCE_ROOT"; };
+ FF9B172146D046D10BC0E7E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ FF9CD52F808B7C91AD25CF71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ FFC5E68D2033592D6896B282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ FFF9520F524FED8D3468287F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 23FE51CE68990B49B3B4AABD = {isa = PBXGroup; children = (
+ 1A544EA5E8AC999D7F681DDE,
+ 14CD2D0EE13A7D3289EBBC86, ); name = Audio; sourceTree = "<group>"; };
+ 6FBEB977137848BF3903034E = {isa = PBXGroup; children = (
+ 23FE51CE68990B49B3B4AABD,
+ 1AE75CB0FA61A03429A4E540,
+ D98771DCE827466B36D51AF8, ); name = Source; sourceTree = "<group>"; };
+ 38998921858495104F35872D = {isa = PBXGroup; children = (
+ 6FBEB977137848BF3903034E, ); name = BlocksSynth; sourceTree = "<group>"; };
+ 093A7AEDD681B83D66FC731D = {isa = PBXGroup; children = (
+ E51D1884CE4F31EA17661097,
+ 3D8ED3F6C1407C572BBEC652,
+ 408CD5BDE5207D96C2DC6F0B,
+ CA1EF2865AA0F249D7A2646B,
+ DC032932F029EBB4B68C2A21,
+ E72062CD9EDFCAFFB63157CB,
+ B65C1614B4755DD56161B155, ); name = buffers; sourceTree = "<group>"; };
+ 453B13CE4731731449976196 = {isa = PBXGroup; children = (
+ 93704EAD7D73562297F10C7B,
+ 33B297800F96D1E644E085B6,
+ 8A3EF0C45AE28C847B7BB89E,
+ A00E9DF1CB3DB09C81B31D98,
+ BAB246A896258C6FE2132717,
+ 298DDF49756F536B50469375,
+ AD95DCF6FDF31C1C53422FA4,
+ CB0C4A25BA9D6F1AEDEF4CD3,
+ AB4B277C8F975F009F31753A,
+ 40AFF57E82F006FB59D0BB29,
+ 720BE46FF929B0A8D37DBB05, ); name = effects; sourceTree = "<group>"; };
+ 9F8DE539E9189F8A8BC181FD = {isa = PBXGroup; children = (
+ 12ACF9469751D8A6D9D90E53,
+ 52B7F9D0AC8BF316E96E480A,
+ 84BE02BFDAF53B9697664253,
+ 65977552E1C7B054FE006EAB,
+ 854C4EBBB0954052ACF55160,
+ 5D4BE633D03013E33B4B376D,
+ 88587028FF53FA6CFA0D4887,
+ 38BF78CAB1ABA56E87C5F438,
+ A7AB12DC3DB28027A4F73022,
+ D23E61F11E9CD3EE88C300C5,
+ E7F6687DE8509FCC698399FC,
+ 90A6E39FA0169E7EE1E66FA7, ); name = midi; sourceTree = "<group>"; };
+ 2872F62BFCDB4181EB1E46C3 = {isa = PBXGroup; children = (
+ C4716E0C3BCBC857984C58A5,
+ 89C83AC387C203CF1105C951,
+ 1BF2C3AD8A498D0D55F22623,
+ BDD5A0B6F6C05C0A0ECDC78B,
+ 13B6344205397F546400A40B,
+ D5923C2C45B84A2771DB8125,
+ F464C4862C4DFD5774559248,
+ 514E168C6138BEC0DC0D31BB,
+ E8F80C37B88B1514B9D9F6CD,
+ 4C3567E01529EB4730FACB2C,
+ 2DF02AFF10879E3FE2BBF776,
+ 40297764149FD52F1B1B8FF0,
+ 74040BA20DE2E305AE2D0480,
+ E37B67AAF808FD652E3FBE23,
+ E76E93F5737FE60F46B3837E,
+ B1B7933CA5A0B7F38A94F728,
+ B90793CC817A7C319A3AE20C,
+ 8221B5162E280BE9AB2619CD, ); name = mpe; sourceTree = "<group>"; };
+ 18BE705CB0BE08716FC46C14 = {isa = PBXGroup; children = (
+ B08A348CEAB267336BEE6404,
+ 711C1E768B2C7DB6946D1703,
+ 93B87F458F1F33BFD30539FD,
+ DFBC7ECB67E1FD3C6340663B,
+ B0D2EB2CCE9410392733E088,
+ D88385F251FF95CBF3C70657,
+ C76C141618B3750168ADC0D1,
+ D8B3083479A22B7344F5BAC6,
+ 02A336F8CDC439485DC73DD0,
+ 596AE59CDCCBE4D8E7D27954,
+ C9EA5D0B9826A43E6CC7E88C,
+ 57A1B82612ACD48D50CDFB42,
+ E4286C9BBAAF045DA3AC521A,
+ 6C4EE337B0005F5CB6650264,
+ 84182A25498E78D5DEF6E925,
+ 856D6984E668878C082F6CE8, ); name = sources; sourceTree = "<group>"; };
+ 56AB427B045E77338B2EECD6 = {isa = PBXGroup; children = (
+ 7578F0E1F643412976B603E9,
+ 2CDD1AD17D9E9316BC26501D, ); name = synthesisers; sourceTree = "<group>"; };
+ 404BFEA464246C3581AFCF47 = {isa = PBXGroup; children = (
+ 093A7AEDD681B83D66FC731D,
+ 453B13CE4731731449976196,
+ 9F8DE539E9189F8A8BC181FD,
+ 2872F62BFCDB4181EB1E46C3,
+ 18BE705CB0BE08716FC46C14,
+ 56AB427B045E77338B2EECD6,
+ 79741977D90F18EC3D8BAE35,
+ 05201B7662BC062EA0347E8E,
+ 905BDA536A972F6FC36B356F,
+ 05201B7662BC062EA0347E8E, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
+ 54F4B4E27F443E821ADD4F3B = {isa = PBXGroup; children = (
+ 23DBE20DA60F90ACDEC5A24A,
+ 769EC065E9455C2DFECD2CCA,
+ 5737072AA0D7763823260699,
+ 160EA3FBA3A8D5CD53C381F5,
+ BD1EC57A31C1A44821E79F00,
+ 8FC4E1BB74B356F0099608B9,
+ 18F92B6A8369D0F1A9B6705F, ); name = "audio_io"; sourceTree = "<group>"; };
+ 7F2DD2D15FC2FB09957FB5E0 = {isa = PBXGroup; children = (
+ E75A56D8BAB64170C5D38438,
+ 852CE105B166A48264750790,
+ 7F9265BF55E77A3F1FE16D6A,
+ BB206032A144BA440AF410E1,
+ 7806B0B64D514AC448AD6E0F, ); name = "midi_io"; sourceTree = "<group>"; };
+ 2FAC8B0260F96E4D3115116A = {isa = PBXGroup; children = (
+ A909FAC6633F0D17F297405A,
+ 22C6FFBE9D2206A13A30D71F,
+ 8E8EB4F5ADDC2D5B024F0F0F,
+ 0EECE5A38949D03C48FA6727,
+ 173848000A992F19AC7AE30C,
+ 90092F1E5EBA0AA6057FBE6A,
+ 51DBB2E2806E132D175C2597,
+ D1BC969BA323CE7CEEB34692,
+ 1ACC1653C65505E7AC29FB74,
+ A9FB36572DDA1194317B9352,
+ DC4C0156E331164E93BF2F1B,
+ 07B3D9344EFFDC5DFE383519,
+ 250D5D5989533ADFB25306EC,
+ 66A50CF3EB078EE4D9F4456D, ); name = native; sourceTree = "<group>"; };
+ AE3AD44B4637C7B1E2E5E9D5 = {isa = PBXGroup; children = (
+ E38D7CBE4043D2FE2DB2B1A0,
+ 75A2F39B22AC60256D2115D4,
+ FAF3E26F1BBFA85CA8B333E5,
+ 396FCA5D9FAE5297B70B2655, ); name = sources; sourceTree = "<group>"; };
+ 90D9DDA0B7937A5B2ED77F30 = {isa = PBXGroup; children = (
+ 54F4B4E27F443E821ADD4F3B,
+ 7F2DD2D15FC2FB09957FB5E0,
+ 2FAC8B0260F96E4D3115116A,
+ AE3AD44B4637C7B1E2E5E9D5,
+ 6FC3D011A099091610A803A3,
+ 1418A6F2476A59D58CB4D5A6,
+ 919078E0ACA29DBAEFAEDB97,
+ 1418A6F2476A59D58CB4D5A6, ); name = "juce_audio_devices"; sourceTree = "<group>"; };
+ DAB6BE35181959435594FFD3 = {isa = PBXGroup; children = (
+ 31DBD439C2A41A1CC472D924,
+ 584414FE3F035198BBE28413,
+ 72E27E0C9F64F1BACD6EF454,
+ 982342A0B98DB337C74DC50A,
+ 8AFFB60B20E17B797777B2B8,
+ DA52F06969FC2FEFD8DCFAE3,
+ 936C85C333BE640A26BEA92B,
+ A32C77F35CC0A61153BDD2BD,
+ 0AA288FCCF1342C4947F5FD6,
+ BEFCC3E231F6729C94ED2F49,
+ DEB5BC8C4CF7600478965F15,
+ B019A04354A3A377813C4F10,
+ ACE53253C4EF7A3B45197F94,
+ 8A48EB23ED8F364CF167DF1D,
+ 83AFB3E647BB6ED40AA571A8,
+ 188EAA1BD57F1209B23F6903, ); name = private; sourceTree = "<group>"; };
+ E3100ECB6D7064558B06ADFE = {isa = PBXGroup; children = (
+ 1469F0FEBE09579AE2256553,
+ 5A19BDE20FB81C83D0A03799,
+ C57C541975044B538A4204B4, ); name = protected; sourceTree = "<group>"; };
+ F69691A4E1C622CB74BACAFA = {isa = PBXGroup; children = (
+ DAB6BE35181959435594FFD3,
+ E3100ECB6D7064558B06ADFE, ); name = include; sourceTree = "<group>"; };
+ 60614F6E93F279F8BD12C504 = {isa = PBXGroup; children = (
+ F69691A4E1C622CB74BACAFA,
+ B7EF3871AADEF4B0B05827E5,
+ 4CA1F3B93913EA346771DFAA,
+ CAA47648604DE92DE3E7826B,
+ 156A9CB51E86FFCA164A77F2,
+ 1F0A802DF7D1C7F69E32CF10,
+ E3F31A84F34E8B640AB5BE80,
+ FE376580AD9D099778977CBB,
+ 4D3CB4D0542A042B8C210E31,
+ 03130BDC25B905B277B0B227,
+ BF052877DCD7D8C1AA4CDF9F,
+ 6107414E2EBFD835DB9235E3,
+ C7A1D93A3CD65E4F1FA770F2,
+ 84FD4873C8F91A307D95563B,
+ A844CEB6720112AAAE4BDABD,
+ 942341A54DBA7FD0D9AD19DF, ); name = libFLAC; sourceTree = "<group>"; };
+ 366F782486E4200762978002 = {isa = PBXGroup; children = (
+ 60614F6E93F279F8BD12C504,
+ 9159BC49F78C18D4ABBAA16A,
+ C1CB3B69DCF541CF84F0A5C1,
+ 093EAF4BA57F6552E2C377B8,
+ 61C2BDE6AF13FDD7F7CFB20F,
+ 25F6B5BC25A7AFBA774E718C,
+ 68C6E67D53E770D9165DFB36,
+ 7127835E262D977E179ABA27,
+ ED9E41C44623B304A6079277,
+ 4ACC5E02BDD5C78A53E2522B,
+ D50C18AA1D31A606129E712C,
+ CA5C4EA6672E46AE47A55790,
+ 7E3C266A9195C927EDA3D45B,
+ 75E083FA4A0BAB99229F23EB,
+ DCE85E789DF463EF99F73FE0, ); name = flac; sourceTree = "<group>"; };
+ 74989612E8D2BDBE1BF17A4A = {isa = PBXGroup; children = (
+ 0EDF75F8D489F87A668EA9D5,
+ F77076F73232546CC0DA097C, ); name = coupled; sourceTree = "<group>"; };
+ 2FE9DE53F5D76DADC3CC0E2D = {isa = PBXGroup; children = (
+ 543DC3C0F6530C99ECA63A9A, ); name = floor; sourceTree = "<group>"; };
+ 0267817D9651ABB317E33C79 = {isa = PBXGroup; children = (
+ E276994927D3E8743E85FEF0, ); name = uncoupled; sourceTree = "<group>"; };
+ B9E0B6DA3094EEFCFA408C83 = {isa = PBXGroup; children = (
+ 74989612E8D2BDBE1BF17A4A,
+ 2FE9DE53F5D76DADC3CC0E2D,
+ 0267817D9651ABB317E33C79, ); name = books; sourceTree = "<group>"; };
+ 3EFC68CF20814573E989B57A = {isa = PBXGroup; children = (
+ 6C5369F8D2216549004C2A0E,
+ 67836F067567900AD54826E5,
+ B6291F8983C362DED92336BE,
+ 1F2D0A04F7D20953AAD00785,
+ 1E732CABBE64BE6C4FD80795,
+ E56F858D8C2F9C11CBD6308D,
+ BD019AAA61CCA4A497274794,
+ 930BD2067E0A3FC1B0812211,
+ 674C83936EDD53D1D3C70AC1,
+ D00E7D50024BC55EE60D8A1B,
+ 82C32D94FAED75BF1FBB3FCB,
+ 44F79CEE556BD28E515BA71B,
+ B16D0231583843F5782F2FF1,
+ 686B051DB68F5583A3DE1C31,
+ F2634446266E383816E9341A,
+ 8503FD83B959A39D75548438,
+ 0E8C76CFF33AC2608DE25A16,
+ 3A78A59E802951A187248BD6,
+ 6FE31511DFE124B4DBE13958, ); name = modes; sourceTree = "<group>"; };
+ 24E373FDAD31DE2E15DFD3D2 = {isa = PBXGroup; children = (
+ B9E0B6DA3094EEFCFA408C83,
+ 3EFC68CF20814573E989B57A,
+ 69DCAD4B37C6DFC393CAE941,
+ ADC432227AFFB91565728B20,
+ 50A01BFE69012A08EAAA5EF1,
+ 6CFE9428C509216C6B6E691E,
+ 99A9A70A22EC3C598F623111,
+ D2A305BF46124317B26844C3,
+ 43D4608C71521337A1E62CBF,
+ 685892F6AF56A2B6442C0BA2,
+ 18D12ABCC228BF8EB5D22ACC,
+ 812F5FE9CE244FFDCFA5F7D7,
+ B70A7208BDC84707A08B49E3,
+ 881A4A50718FA7CE3F3E5375,
+ A19C3A3A74428A4C8EF44EBF,
+ 4E7C1B9669C78323F39F66BA,
+ 56C47E673A21A919A36BA737,
+ 09A20E48B6DDCF89C3BA52B5,
+ E283C55B43C31CD66C6C387F,
+ 4083423AC8967EC85128335F,
+ 2B2AB245E134CDF5515EB130,
+ 7C32EA6B5A32E29B31FE6FFA,
+ 5C1AF59B9E0F831176669ED8,
+ 65D2779D3783A6B0DB9DD7C1,
+ 17A9AAC14945D24CB26659AD,
+ 3B740130AAA2019AE049C85B,
+ 174DCEEB1F0A9CC69F671E41,
+ F6133ABCAB3AC137D60D3D2F,
+ B34A138110D01A3CA9CB727D,
+ 8BD079BB7D801C6E67873BA1,
+ B43C86E279C36B83F25A88D0,
+ A65DFC4FCE8DD0EAA2901FF4,
+ 6FF35BA648B2B034130B0BF0,
+ 7A31D46D227370A23021E676,
+ 660DC5473197813B4E38CC4D,
+ 60CB8017B900A02E7C7C1667,
+ 100E8BF90F31D1E045AF1755,
+ 7F13C06AE22B799467575AB5,
+ 8CDDF045B2A202FCA5DFD932,
+ 0CABBB44D28EDBD36D8E4B87,
+ AA89E7B373C7733F3F5646F1,
+ 39F2D7F60BCE45E9BEF6D2D5,
+ C278FC33051757FD973E4BB6, ); name = lib; sourceTree = "<group>"; };
+ 4ED61D2C520A402C8D302C3D = {isa = PBXGroup; children = (
+ 24E373FDAD31DE2E15DFD3D2, ); name = "libvorbis-1.3.2"; sourceTree = "<group>"; };
+ 8A58297D0379A4A41A945917 = {isa = PBXGroup; children = (
+ 4ED61D2C520A402C8D302C3D,
+ F1071892476C8E78090C1B04,
+ 8FBD6AD2AA7111D2BE5D52AD,
+ 4EE92E0A9A6A3FED53DEF136,
+ 37D3F9ADA06E46941FFC1532,
+ 818EFDD3442FFD396956B865,
+ B3D4730C96893578BF727D5A,
+ D19C04CE3F848A3EB30BD306,
+ 613FE7EF2A3A4359633BA85E,
+ 2724A39A33300FFBF89A4EAF, ); name = oggvorbis; sourceTree = "<group>"; };
+ E3649F203633856653E44CDF = {isa = PBXGroup; children = (
+ 366F782486E4200762978002,
+ 8A58297D0379A4A41A945917,
+ 481A69F80148E9DCC2B4A067,
+ B194372F45854DE5FC54671F,
+ 97AE93FD5FB144697DBFE207,
+ B0A1C61E0EBC451CB0B3A337,
+ 46A4ED1AED4B90701C9FA937,
+ C02A07C4E5AB7D6C98CEAEFA,
+ 6D31C33C6C7BDB06D0BCCA99,
+ 1358B9554210B5D0242C1BA3,
+ 204D1CE3691490B81EB8C284,
+ 01E8CC333D1A9910A72DF28D,
+ 769D6EB9D30812CE68C829C8,
+ A693A2B27BD70EAF2FDCDD91,
+ 9D68ED5474F6AA923599D783,
+ 4FFAFAC9B332F9B993A6EBB6,
+ 4D8C7E04C4FD97998300FDE6,
+ 379589FC32E87B31496C96B7,
+ F2720937BE3C1F10272A7C06,
+ ED7FCADD5623453DD97B43D8, ); name = codecs; sourceTree = "<group>"; };
+ EF78B4527B53E228CF764D4C = {isa = PBXGroup; children = (
+ 116D8F769D93B11A66D4F7E4,
+ 771B35D7F44BB8C0DFDE2452,
+ 0DF05CB01EC7CAE5299DCB5E,
+ DA190E7F11B7C6308E764363,
+ 8CB84F9ACB8B17117E5FE0C4,
+ D1B4E1CE074A1BE6DB3D9BD5,
+ F9450711CCBD8FCDEA9E95F7,
+ 001CEF1BC67328BA0A561A06,
+ 223EDE843FE5CF77DCEEA76F,
+ 91EBFF0D72C95AA186003C8E,
+ 16457C02C3262323921CA12E,
+ 55E36D80A91694865B7CE332,
+ 49424899DC52549DE819C621,
+ 0D9243B5198B9D61504F7ED5,
+ 397717356F43CD103B169AF1, ); name = format; sourceTree = "<group>"; };
+ E130859390EF4D3D47AEB9E1 = {isa = PBXGroup; children = (
+ 74F32D6CE88116DDAD104001,
+ 1F7097A7E2FD1CFD992160A3, ); name = sampler; sourceTree = "<group>"; };
+ 594F462315832D34803DA5F6 = {isa = PBXGroup; children = (
+ E3649F203633856653E44CDF,
+ EF78B4527B53E228CF764D4C,
+ E130859390EF4D3D47AEB9E1,
+ 7609EEEACF06B6ABC9B0AD6C,
+ 96C5E46FAC93C462A7EBF4DF,
+ BED0AA415C62CB7F797E51C4,
+ 96C5E46FAC93C462A7EBF4DF, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
+ 94FF97995070201943DECACA = {isa = PBXGroup; children = (
+ 780ED77A4BF65BA1F5E61F95,
+ C5A18309C2DC13A1156282F6,
+ DD3970FDCA69D2DEFBBA3E72,
+ 81ADF2BEFA99AD3AB0FC9A82,
+ 8AB24BF1D27B394712F32CBF,
+ 5B14C9DFF557CC6B9A05E34D,
+ 50E9D72AF3E2F4CCDC6E7767,
+ A416B5CD799D7BDABF8FEE69, ); name = blocks; sourceTree = "<group>"; };
+ 659FF40903B6F0B096F059FF = {isa = PBXGroup; children = (
+ F2544DB9D399C1102E95A867,
+ AF6E053345A73531F9DE19FA,
+ A7102BD74E049F7ED8513D1B,
+ 3C3A319FB7E247A39036FB7A, ); name = littlefoot; sourceTree = "<group>"; };
+ 6E032060C5DDE5C3C3D2D844 = {isa = PBXGroup; children = (
+ 595CFE4CA3DAE79C08D9C7C7,
+ E7642142C979E15EF3CA8E38,
+ A7A27C3E995A0A0CAF75F018,
+ 30CC24B13FEBDDB188320191,
+ B1DDA423E55EA93290F02213,
+ 80BBC5D053419503A600F7D5, ); name = protocol; sourceTree = "<group>"; };
+ AD032E6784D805C3AEA123E6 = {isa = PBXGroup; children = (
+ 83A8F8A11B1659400C525E81,
+ E39AB15FBBB7950C44245FC6,
+ 36C6D8EECCE8A8A9E21D3895,
+ 234C53C2D7D7559F63E77597,
+ 778E2234490F20FEC78AE06E,
+ CE6036ECB2716A67BEDFF215, ); name = topology; sourceTree = "<group>"; };
+ 4A4AFBC9552F022B065AF812 = {isa = PBXGroup; children = (
+ 331EE1B47BD07B07DFAAE89E,
+ 225B313A9BC57AB15CC508F3,
+ D4F58BCBE5B9C7D88AC92BA4,
+ 1177C66130BC8F6B57308A18, ); name = visualisers; sourceTree = "<group>"; };
+ 4EA50957218B9A0F396DB28D = {isa = PBXGroup; children = (
+ 94FF97995070201943DECACA,
+ 659FF40903B6F0B096F059FF,
+ 6E032060C5DDE5C3C3D2D844,
+ AD032E6784D805C3AEA123E6,
+ 4A4AFBC9552F022B065AF812,
+ 211D0DA102619F3D2048A741,
+ CD2D5E669A846D3497CADFF5,
+ 014DEEB53672D7474B219518,
+ CD2D5E669A846D3497CADFF5, ); name = "juce_blocks_basics"; sourceTree = "<group>"; };
+ 989C3BDC492942642C24282E = {isa = PBXGroup; children = (
+ 44FCA467ADE97D1E2B2A49A1,
+ 35EA9261CEA2AD1A800B702C,
+ A76BBF30944A9FC89679BE5E,
+ D3F75448D5E30FEF546165DF,
+ 8232BE31BA3CA0AE677EC11D,
+ 8BE67E7D6CE3A17E2E120520,
+ 5B48244E76313E054EFEF426,
+ 8CCE915477416067D7B0F311,
+ 08E918530A1D5F37DC05B5DD,
+ 83123049240352B97AEC1FBE,
+ D06661831BB0908DEBF996FD,
+ 22B870C829CEA56B78D8EDFA,
+ 546AE298612DB93D5C336C70,
+ 2E8F5CD0CF6A9F42FF864B9D,
+ 7A5719ACD9A5B0D2663B2EB4,
+ 735D98A7029754C4EEC30638,
+ 361070599D3204D0C42F7A22,
+ 5259900DBEADF9B1E596D6CE,
+ 3F24711E8D4D2065EA8C372F,
+ EBCD4C646F6FA038CBCD1D6F,
+ AE7CE5DD4695049CE940B119, ); name = containers; sourceTree = "<group>"; };
+ 7F42CBA4D84F5AAA394B131B = {isa = PBXGroup; children = (
+ 29019D28852F4BA5CC9C303A,
+ 94123CD59BFDC04A9DFCB71B,
+ 21E4F85AFE03A986C667AC7F,
+ A9D2C3EEB94596DD2B772434,
+ 993A042E02F2CE3ABC485FC1,
+ 8BC3502A774FCDC44C015866,
+ 110E2D4DFEF9D028905A9127,
+ 58AEC1D427BCFE3609BCD90A,
+ 7BBCCF2C183BCF08FA446ABB,
+ E56A4F249B3DC548F3392621,
+ DBBDB335ABA05B454F030054,
+ A406981AEDB8C64F3F1000ED,
+ 4556D874FD9CF3D1DCE3DF36,
+ C2925B912CB7478725EC09C0,
+ 26F41B7D9404B50D9FE40C5E,
+ BFE24BD62EA3F7DBFA196DF7,
+ CC764227E00D7572D2B22354, ); name = files; sourceTree = "<group>"; };
+ 4DA608349B8E06A40C2B3610 = {isa = PBXGroup; children = (
+ 4EAAD4EB24BA19D7B7CC1EBB,
+ DB759FAAEF7C18AB11580C3C,
+ C2BFF63FD5C214D4E5B993AE,
+ B210D9151B74DC5875B5F9F5, ); name = javascript; sourceTree = "<group>"; };
+ 8A82CE1314A80CA4B9001732 = {isa = PBXGroup; children = (
+ 5C8F1A64FF9B42D0D2BED7FE,
+ B0B4567F125815CE3D5F97B0,
+ BA55F9EC52073F1ECFEF5F2D,
+ B19D56F3E441EB2B1A84C41A, ); name = logging; sourceTree = "<group>"; };
+ 8AEB618AFC1B1D81D447F930 = {isa = PBXGroup; children = (
+ FE6B0EBC824D1E924DB2406B,
+ 820AEA62B5F877385A1B482D,
+ 97BAAC4F048477A639E48B3F,
+ CEC3F1D21215C9FC326F7970,
+ 9BC9AD541C62AF0DD2BC11D5,
+ E60F4AAC9AEFE0400EEEF3F0,
+ ADF718CBF6842DD6FC15CF71,
+ 9D95253B677F8E6E916D4C41,
+ 43FA1C85CEEE8976874CDE5D,
+ 3863C9397ED9E2DC7C26E98F, ); name = maths; sourceTree = "<group>"; };
+ 92948EE426E4BF8860C245B5 = {isa = PBXGroup; children = (
+ 0EEC4F43BAD1FD5DD3503BAF,
+ 5558831C1B9AE2F59258290A,
+ D410F13F7C6D5DEB4EC91AA6,
+ 52E468B373041BD029A57DA9,
+ 045387853469E755B6DD741C,
+ 05D530D67D2893ADAD43AA46,
+ 01D383BCF77D7704F896259D,
+ 9AAD4E5C83FE06AA1C471DCB,
+ A9833EF4FF3863198A01845F,
+ 99D62156E5F03AEEF0F367BE,
+ 34232FF8256F5BA2E80D6C83,
+ 05C5166291508D65E4DE1C7F,
+ B0792237EC36D9F9D8D94380,
+ 6F0D14BB0BF350DD7664CFE7, ); name = memory; sourceTree = "<group>"; };
+ E25778D3DF758B321155435A = {isa = PBXGroup; children = (
+ 987209E1994B07DBD16DEC8B,
+ F5B3C9D2B068F9ADFA8C653C,
+ 334F7A39BD0DA475F23052A1,
+ 029B264C757780A8CD505C1E,
+ 2C4A133B427E627877FF8CE9,
+ BD75123529E67F9376C1899A,
+ DDCB65776F12BA2494D86229, ); name = misc; sourceTree = "<group>"; };
+ 9BEBBB02AD13A7EEF3C86DF3 = {isa = PBXGroup; children = (
+ 4B83FCEFA91AFCB06756FC71,
+ C719A471C0AF1ACF4915590B,
+ 23DC0CBBB4C6D6084EE19F93,
+ 01D74B926C822FA65B778B9A,
+ B6847B2CCF1B2E71712827E5,
+ B2F323A2CF9DBDE87094A12C,
+ 58DBADC28510520AE1E6E069,
+ D98F033805C033EF081A9696,
+ 23090584DEA1282747CE4769,
+ 317A1C3C47E0CFD28F629EE3,
+ 4CCBED88413D14521B8B840E,
+ C4703A5DB149F64AE6A30668,
+ 2C34101EF32AC5EA4030FDAD,
+ BA5273CC64B39B3B0455A53A,
+ A235D66B34BD50E939FF885D,
+ 1BCEE2EA9EFF8FD8078F15A5,
+ 0F5134388D55D439AA3B66B8,
+ 9C331AACD288AAD9F7FDF881,
+ 073C36AC9C06770D84781B70,
+ 71A349845B0AB4ECB6FB56AB,
+ 3EDA16959191726A83FAF8B3,
+ 1A9A02020BE1CA5BBD29B437,
+ C1564464E7D3E100E68F78F3,
+ D01B3D44D354E1DD105A6851,
+ 8CAF15744CF73CDE5C577AB3,
+ 96B1C4A89CB5A5423A116F84,
+ 79C0162E66B96342B5135E1F,
+ F2D9015FC6DBA12DE9609EAA,
+ 513984F548890D187E1A5683, ); name = native; sourceTree = "<group>"; };
+ 170195FA23226C76E16320A1 = {isa = PBXGroup; children = (
+ D7AA51A9571EBBDACC39F434,
+ 0A99DEEFD614DE832C7EF6BB,
+ 3BEAA229D9D403CBE51C6670,
+ B5887F35A912037691A7AA66,
+ E6BA394E1D41CCDEC2B0DD9B,
+ 13F2E257D9546C430FAD9DD5,
+ A546C8B742A8DC8F5E60C606,
+ 2E6C4EDE0CDE7BCC288D464B,
+ 3A43AB7B49441ABD392D105D,
+ 224EC8865F2F99C2F1E4361D, ); name = network; sourceTree = "<group>"; };
+ E91966262A1070E1B59F692C = {isa = PBXGroup; children = (
+ 1EB32F020771FAC988EA1E64,
+ 7E391A85858C06D5F6286DE1,
+ 7A252E1B8C10CF47B083732B,
+ 256BCED752B70974C8DBB789,
+ 7C5ACCC90B3367A29598171C,
+ D9E2B3341EC036EBCF562434,
+ 67BBC05B8A0FA71F2A325422,
+ EC9E71FB57478AB3FDA27CD4,
+ 016076F4D43D15D063A73530,
+ 6401A4CD373276A624803E09,
+ CA99CDFEEEA27490079060CC,
+ ACEA8F358B77577CBE526F1B,
+ 67A20BDAD84353BFF940850E,
+ FFF9520F524FED8D3468287F,
+ 40F2DCDCF3AE32D53839E7FC, ); name = streams; sourceTree = "<group>"; };
+ 34487656545A1983A0EFEFA8 = {isa = PBXGroup; children = (
+ 7B516EE490E9912305AEBFDC,
+ B82AF1752045C4157C0ADF1B,
+ 78E8E4FD896C87A932976258,
+ 849CF8E8313D7205E0DAA6F8,
+ 78E5BFE91209EE3CA40BAC3C,
+ 257F034BF0E09D78178ADCF5, ); name = system; sourceTree = "<group>"; };
+ 7FA3E417701A67C38F905646 = {isa = PBXGroup; children = (
+ D184EF49BA7A3F3F5545B1D0,
+ EABE813E005E9B66B20BEF8D,
+ 95A6DD5234F109DB3ABC983C,
+ 3F01CB2947056402F526A4F4,
+ 80235293554BB0956701E9ED,
+ 43CC58EE154F54E14E70A9A9,
+ CDB1484C4D6010E4D4B03C8A,
+ 8DC679191499EAE03463DC3E,
+ 8EBDC229B7D3D13C09C28CE6,
+ CDBA14E9ED2A6DFA59B3E9F8,
+ AA518B503E5A850094865B1A,
+ 4B28AF2241AA37172D6069F8,
+ 379BA1B50BAEE43F433A9E29,
+ 7E6FCB5568F74241A49A5B91,
+ 884EE4AA71233E725BAC6B70,
+ E8B53464FF63B6F3C0E8E723,
+ C8A28EF3F300FCD23130DADD,
+ 47607EE37E20577AC6770AD4,
+ D9C6F027E7A8E9FDDDAF99BC,
+ 62062D02BDD756A9F4CD9917,
+ 5715EA1172976C34BF618365,
+ 93FDFB1DD4E2378AE729BA02,
+ 284D3D37AFE280A47CFE5732,
+ A4E1341FFEB2CDFED4B2750C, ); name = text; sourceTree = "<group>"; };
+ C4A0162E2C1F3E0B4B0B0AD8 = {isa = PBXGroup; children = (
+ 14C3BD49C3F262D8449A6D89,
+ 0CC672620B96382CF715F134,
+ 1CFA52094CFDFB61E549EBD4,
+ A647EFD684A71A7F1DFEF7E9,
+ 64B11380D40B53153C293929,
+ 6C7EADF9387F020492C04442,
+ 5D5BA1131FE12F38BA17E290,
+ BC2708C1A30230F8FFED0BAF,
+ 50F08F6B006974130C590F4F,
+ 920D2C92A6D26ECC0914BE7A,
+ 2FAFF79F8E9250E599BEFDDE,
+ A8FBBFE98D5BD4AD7029040E,
+ 9065B3CBA068CCEE9F5AFDFE,
+ 59EB48AD6143AB10F2D4830F,
+ CA7BE1CD2A59E4A7A133207F,
+ 571FD86FB21925B70F4C2439,
+ 630596B03B4198D9FD956D98,
+ 4CF48857422D8B4462FDCAC8,
+ 6CD61526F604817E6912686D,
+ 170160056630E4035117107E,
+ 037C9C0E1723E94B95CD1913,
+ EA53D42B42EB75C773AB045B, ); name = threads; sourceTree = "<group>"; };
+ F1B99A44061AEE6C7E87751F = {isa = PBXGroup; children = (
+ 8EFAE8B2003284F5A905E08D,
+ 4AA531F8D8E250C0429E2CBB,
+ 660163B352BBE406FE15DDEB,
+ BABBA06E9B4F5AC45082E718,
+ 1ABB18E7361905092E209E5F,
+ 3D51F32E7FBF84DEE183F53A, ); name = time; sourceTree = "<group>"; };
+ 210735BB76D056E28844FFCE = {isa = PBXGroup; children = (
+ 241982E4455453EF71D03FFF,
+ 9707394FCE0F9ED5DDBB0524, ); name = "unit_tests"; sourceTree = "<group>"; };
+ B084942B44BF9E6FCCB075C7 = {isa = PBXGroup; children = (
+ CF895906826621767E325CAC,
+ B98F37A336955FF58F90FB4C,
+ A9A287E8488E914B1EDDA564,
+ 97C27DB9A68F6AACFF857A46, ); name = xml; sourceTree = "<group>"; };
+ E13111C1D2F1074DB33AF04F = {isa = PBXGroup; children = (
+ FA7463364B17FAF275702078,
+ 729FBFD01DE3FC0BAFB0C65F,
+ 9768B98C6D83F54C36FA719F,
+ FDAC3E164BA3FCB909B9F2BE,
+ 77192DF1CEF8FA03F0E6EE79,
+ 11535233EB65A31CB9A1C84C,
+ D6303AB7ED3A815A746818DB,
+ 0C368BF5435A155B2CEBF4DE,
+ AC4D225082C6EC2B2F74D280,
+ B50ED6B4AE791917727F5E7F,
+ 277B0FD43AA3A74D0BC6A519,
+ 4A6B7CEB97494FF6D388514E,
+ F2D31A607BEC69FA6AD0D12E,
+ 01A60EB1D681DDDB424C6C65,
+ F0E4E317DBB8EDC346F79C94,
+ CACC690868FC319352C6D605,
+ 327941468D62EFD046DFD31E,
+ FB7CEAF8DF0A4447F1BD2DCC,
+ B8793874DA3E3A50A76F9572,
+ 9D36B0CD0D56048687E2A573,
+ 8A3C4AF25492360327C080A7,
+ 681D758E911D2D050CD20F66, ); name = zlib; sourceTree = "<group>"; };
+ 661D28B0F542603EDC20F3CF = {isa = PBXGroup; children = (
+ E13111C1D2F1074DB33AF04F,
+ 0ACB19FBE5DEAB16B5FE56B9,
+ B2A083D68101A749DA6CEC50,
+ C22DDE0CA3FD2565AC1A9641,
+ D270EFE61FCF33ABA7DD7A82,
+ A830EA78B992425DA01217BB,
+ E7402936E5521555F7B600AC, ); name = zip; sourceTree = "<group>"; };
+ 247AF08855C438929F46C640 = {isa = PBXGroup; children = (
+ 989C3BDC492942642C24282E,
+ 7F42CBA4D84F5AAA394B131B,
+ 4DA608349B8E06A40C2B3610,
+ 8A82CE1314A80CA4B9001732,
+ 8AEB618AFC1B1D81D447F930,
+ 92948EE426E4BF8860C245B5,
+ E25778D3DF758B321155435A,
+ 9BEBBB02AD13A7EEF3C86DF3,
+ 170195FA23226C76E16320A1,
+ E91966262A1070E1B59F692C,
+ 34487656545A1983A0EFEFA8,
+ 7FA3E417701A67C38F905646,
+ C4A0162E2C1F3E0B4B0B0AD8,
+ F1B99A44061AEE6C7E87751F,
+ 210735BB76D056E28844FFCE,
+ B084942B44BF9E6FCCB075C7,
+ 661D28B0F542603EDC20F3CF,
+ 6FA8114276186677C37A02AB,
+ 866A90A69A3EB77768DD8A23,
+ C3131423ADE321A9FFD64C46,
+ 866A90A69A3EB77768DD8A23, ); name = "juce_core"; sourceTree = "<group>"; };
+ 1BD29601F50DC1FE90A2FB08 = {isa = PBXGroup; children = (
+ 47BED7BBD05CF1420DE94CFB,
+ 4ED26BCBDCC64564B6BC33E5,
+ 03B238D422D95970A3A834EC,
+ 2D0476BBF2E82030BC3095E2, ); name = "app_properties"; sourceTree = "<group>"; };
+ C0BA57825B1577A586C86CCD = {isa = PBXGroup; children = (
+ 9B04A8539B5ED08A7E26072A,
+ C50067A84435B50FAE2991A2,
+ C023041419CCD5A746DD3733, ); name = undomanager; sourceTree = "<group>"; };
+ FD7D0D9BA2507086B2E2DA6E = {isa = PBXGroup; children = (
+ 03E5101ED7B3FD06AE564F67,
+ 92014E0EF85DDA08ACCFE803,
+ 2DBADCD115CE48292C27E0FE,
+ 90040097B24860C360877342,
+ B387644139E3E36918C4D03A,
+ E2AC1771328A969730B88BDA,
+ 1F6AF62DCB06829E5D547080,
+ 003F5B441682BA631DDF3AC3, ); name = values; sourceTree = "<group>"; };
+ D8F226718DC7C6F677813853 = {isa = PBXGroup; children = (
+ 1BD29601F50DC1FE90A2FB08,
+ C0BA57825B1577A586C86CCD,
+ FD7D0D9BA2507086B2E2DA6E,
+ AD272D93B639B0D95431D071,
+ D4E6E686B826C386E372B9B0,
+ B714D3995796B3E1783B2B92,
+ D4E6E686B826C386E372B9B0, ); name = "juce_data_structures"; sourceTree = "<group>"; };
+ 6848C10D7BE2FDE4F5BE5A0B = {isa = PBXGroup; children = (
+ CDB6AB74B48E27543C7C3247,
+ 06345AE1675306ACD324B59F,
+ 5E977684B01B2AE8C9E6DAD6,
+ 545F7B594166F08E2B2976C7,
+ 57F6D4DF279AF7D98FE44E16,
+ C050A75A3FD1ED843430646B,
+ AE91EB61DAC980EC373284E1,
+ 79DB1C896B9D762A9BF4D9EF, ); name = broadcasters; sourceTree = "<group>"; };
+ 7F7BE232EE718E4A72993E33 = {isa = PBXGroup; children = (
+ FCD28EC20E234A418F03AB9E,
+ 3837D7332EB169F26F818BB9,
+ EC6D7E09774AD0360CFDD3CC,
+ 5DA4467E35DFFBF7AD8268A8,
+ 75725425105CE1949C646ADA,
+ 4D372B2B68D66E83A4370DE3, ); name = interprocess; sourceTree = "<group>"; };
+ 32D439DE7107240949F5553E = {isa = PBXGroup; children = (
+ 68F5730BEE88039A3E7E3195,
+ 8D69477B2E980591FF3F78EE,
+ 125D60706A72F35D9D6CB3FE,
+ A48C9F610C0BDA307CC287F7,
+ DA07E0972B6DD508A081B59E,
+ 9E0DB0A243F94F8D90C1CB1B,
+ B378396CBE6EE2E85295A2DB,
+ CFFCDE3DE85309817AA5314F,
+ D7A1432A09EA76270555EBFF,
+ FE81D4D343853571BF409685,
+ F56396DCA982B63F2DA78471,
+ BAFE2641BD8618F8F7F65579,
+ E305CCBB5B76D319BEC9248E, ); name = messages; sourceTree = "<group>"; };
+ B4D20666B4600ED310A0BD4D = {isa = PBXGroup; children = (
+ E76FD2235925C85F2D7A8550,
+ D5AE036BF17CF6BF3B415302,
+ 25C8F3E08BE437DD7F436242,
+ 24E745A97ACE83CB49C47941,
+ ADBF05F90178C516209F0C6F,
+ 44530960DE057A0334DFE77A,
+ DB5CE4E6FE04ADB6786CF3F4,
+ 3AF24B9D59180F6C4168586C, ); name = native; sourceTree = "<group>"; };
+ 293D388343818393DB994F8B = {isa = PBXGroup; children = (
+ B2737AFF8C4A2300FD4DC321,
+ 3521249F8414079020AF98B5,
+ 5AF86438272890D0836A262D,
+ 2092AE5634DE6877D83C4CD4, ); name = timers; sourceTree = "<group>"; };
+ 2E126121467FEA75AE5E28E7 = {isa = PBXGroup; children = (
+ 6848C10D7BE2FDE4F5BE5A0B,
+ 7F7BE232EE718E4A72993E33,
+ 32D439DE7107240949F5553E,
+ B4D20666B4600ED310A0BD4D,
+ 293D388343818393DB994F8B,
+ 6DC63841ED21D2CC651147C3,
+ 5414D9D1E3345D557CEFE983,
+ EB154A70F170DDD097484FE9,
+ 5414D9D1E3345D557CEFE983, ); name = "juce_events"; sourceTree = "<group>"; };
+ A0AB8A5CFF0F86A8DFC35FD6 = {isa = PBXGroup; children = (
+ 747883C759DB70A4DAB5FF3C,
+ FD05664C4D9E513C74BFBD73,
+ 890AEBD8BEC0A1A2C418F79B,
+ 6A3909C3FD602F355F2E5D74,
+ E0FC64420488B39FFC9C25AA,
+ 3F03CD51A0C38F53DEC35D06,
+ 8EEEC7C23F3A4D5EBAD32660,
+ B258C7C7456130F17398F6EC,
+ F69AED9FEB4B4E8B9457BA1F, ); name = colour; sourceTree = "<group>"; };
+ 788A2BB27DFA716A543497CA = {isa = PBXGroup; children = (
+ 14B0A23846DEF4981EB6CD1A,
+ 4977DE7B0A8135EDB73EFD68,
+ BDE15BB5ED83547045B075DC,
+ EDCE79F26F024D16BCA0F117,
+ EEC8B02D39FBA83A6AE62ADA,
+ 1B70293A6CF7F13B06B6569A,
+ 813E65ADB3932DDD6C2FD747, ); name = contexts; sourceTree = "<group>"; };
+ 6E5F7B54E6D5F4FC5DB69DEA = {isa = PBXGroup; children = (
+ BF273AD2BE0018A6EDCF2258,
+ C8CDA61126AEF68721AE396B,
+ C54776C328896DD9C63D5F14,
+ 6208ED57BF34A1758751DC64,
+ 05F31583615DF3401FCF6EDC, ); name = effects; sourceTree = "<group>"; };
+ 521B6DE6C4B7BE10CAE4065F = {isa = PBXGroup; children = (
+ BDBADF3D55924C948F41334D,
+ 21D9B04B3BDC4F1A87DA2C9E,
+ DFA7F722F61CC00E65789E52,
+ 7C3509B7C5B03AEF2B13D26C,
+ 207D373F8699CA107E7E86F0,
+ 12EFD54DC8E9CC723BEBE172,
+ ABB93E3C3FB5C8C04FB65943,
+ 92679B9C6D17B2B7CD7B4EFA,
+ 68282AFC746AB0122FF571AD,
+ 015F1290D2CFD4A244E60AC0,
+ E30B4E0A6F8029E7AE3D52E0,
+ A8A58CFF7A33378076372D7F, ); name = fonts; sourceTree = "<group>"; };
+ 240FD43C7C457ED97B01A27D = {isa = PBXGroup; children = (
+ F97BD4908447C154ADAEB982,
+ FBC1679B39F569C014570698,
+ 9B059A5FCABFC0743BAAEDB0,
+ B5F5DB38E5BE6CA6306CCE74,
+ 0C39EABAF7EE4C2F8C7D6D71,
+ 07D9DF1A2D9CA38CB2F08E7E,
+ 3D3D5858103B1047C1779AC5,
+ 9B927FB567BC0D29DE04DEC7,
+ 03BD89526E26A670AE63B364,
+ 599428B835C56E48958680E4,
+ BA09B2615301490887929DA8,
+ 6E9222D7B192A7EF575F5003,
+ ECA282604B5FF6065330901B,
+ DC9D312245AA5BFA4B21AC85,
+ D816E1D2FDD6252C7AAF2628, ); name = geometry; sourceTree = "<group>"; };
+ 94D15D08688C2A46AC9B168B = {isa = PBXGroup; children = (
+ A0FF0FE7A4BA41F808EBF3C1,
+ 2479A476CE3A4C0AF2EDBA33,
+ 5D2D967B09263CB6D21E1FCB,
+ 63577C8216D3E4FA634001A3,
+ 9F87B75B0923DE3CA7124827,
+ AC9C674F22F5CCEDB27CA007,
+ BC5C888CE6A7A5B4562FA329,
+ B1A84BBE9851F9F56F0E8D0D,
+ 468845E6939E7671B082138A,
+ 7F71A4F3F4814177EB0CFB75,
+ 7986D1D717F09A2C5DB15445,
+ 4FD457CCBE50024B1A6377A7,
+ D901EBE00D1E01A3702FA03D,
+ 55902FE86849138F98309FD1,
+ DB2F2C84EE330E7B99CB91D6,
+ C3729E6D46FC9FE8B8EA99E6,
+ 3CB2C6DD82376B45112B0576,
+ C5FB97556F8007E0E5849857,
+ 2ED49D97994DA78A2920445B,
+ 4F5EC73689E82CFA1B5E8B08,
+ F6E7A4BF54C27C60056270F0,
+ 761F52DF0A7AEB7B43229D12,
+ 0E2AB1720BB6F9EB7E91279B,
+ 3B4D669F61B7B70F9F60B2A0,
+ 0501056AA00F05DCCC93B577,
+ 0394E57BC8D292BA4F34C748,
+ 27A4321B4652868129075D63,
+ E9BFBC057BDD5E694D04F68E,
+ 3392234464B3B3A97DA2B58C,
+ B56ACDB21BF63DD70C738C65,
+ 939C507246EB383834A13299,
+ CC03ACEC4A87137E5E9C8328,
+ 609FED9DD1CE6987BC6B0407,
+ 97DC76FC35177C25FECDD169,
+ D3F2B4B868A0F886E10FD901,
+ 6F96929ABEA4492374734DB9,
+ 34F5C04FBF3B13F93083A301,
+ 0EC6923BA8DD0A685E54F725,
+ F7D345B0E22C7AB91FFF9CD2,
+ DFD7F405B35ECE2DC44D6939,
+ 2A545C8625733F4D09626C16,
+ 11BB8490A209BD313ED39DAE,
+ 8406536DA0B794016B0CC15B,
+ 634FC3F52B78B7FD78717F66,
+ BC6AEAE96DA5F1EE5F62BD17,
+ CE8E7EE0568DAE54277A3A75,
+ 100828DA91AC6887A22A621A,
+ 5DEC0A780DB6B3C7E3FE1896,
+ 8A92A94D8E00418673E58846,
+ 47604C0ABC53AE6ADB1BFF3D,
+ 3AB3B36BE9E7513E6A0785BC,
+ D16614D13C7C9AB7565DE60F,
+ 9BA7FB3722B671A47037C909,
+ 46CA6FE2FCF2B4493A1CB500,
+ 0A2C851155CE6975BA22C5B9,
+ 1F7339EB6D3A6DAC5966AA91,
+ 5917F2F2E450365FCD07C826,
+ CF22F2D71CC50A6A6BE820A2,
+ FD6A2554500AE9E8F340812C,
+ BFD3CE2B9C2AF98165049337, ); name = jpglib; sourceTree = "<group>"; };
+ 321FCEA0CA4F7508415A3CB4 = {isa = PBXGroup; children = (
+ C44815DFC69575308E2E7DF5,
+ 46CD74CB0C207D371D0F22BF,
+ 379FC2C12D06AFB0A0F07476,
+ D6A1B4EF7647B82043EC5C14,
+ 87F3AD7F998AC58254A5CB14,
+ D111247356C62C3698C5259A,
+ 67933CC08A429EF3955DA476,
+ CB6C50C6F026F66991905EBA,
+ 6D31F014FC058BF4E76B8415,
+ 5D77406B71C3A76439A5D9E4,
+ A317B26EF3D30E3CFCC80F79,
+ AF42734F63315C85E08587B3,
+ FBD3C4CF5151FE82BA05D486,
+ 38995FA8FD1425F65F87FC09,
+ 982EF3C57A98E26EAD69AE4B,
+ 17889DFA6CEB679211FF3389,
+ D9D800ABA75CDD05817432E2,
+ E38345D85F1CD35B62CD6456,
+ 57702152570891F1CEF1F858,
+ 6FFFF87297AF8C459786210B,
+ E5A413D6F34F783C7A708B49, ); name = pnglib; sourceTree = "<group>"; };
+ 3FE0C15B00B176DC80462EBF = {isa = PBXGroup; children = (
+ 94D15D08688C2A46AC9B168B,
+ 321FCEA0CA4F7508415A3CB4,
+ 26688B743438F611F16AA65B,
+ 493A7E8767FCA4250B6FBD94,
+ A10A8513A3239AF1A4E59DD6, ); name = "image_formats"; sourceTree = "<group>"; };
+ 5A2106C72326CEA212F2CCCA = {isa = PBXGroup; children = (
+ A23399E22779624DCB1D025C,
+ 72578DAAE178DD6EDC268A4E,
+ 6C6FCFF482B11A862BE7852F,
+ E4E68F979116A9B3B7D663C5,
+ B5FB26E84ABF33A7E353A48D,
+ 0608AD5F887B0DAB247A0169,
+ 45830B6210881854542DEE1C,
+ EFD23A341192EC2E36497814, ); name = images; sourceTree = "<group>"; };
+ 2AE3391E3CF2A2D9AEC5AA27 = {isa = PBXGroup; children = (
+ 2C651B376A3220A9D720B36B,
+ 711B895681BA427CC7DF8E7E,
+ 276500E2DF4FBF36F4FA1B81,
+ DB3F1EBC07134AD21DB325DC,
+ 5EA0ABB0B2C055D60AF351B7,
+ 942B534CD5B5BA732092A55E,
+ 5C9A7CB614CE1DFA574772DD,
+ 537FDE261B80BA27AB0F268F,
+ 51F6B14D12856AA27906835D,
+ DCCC9B894C6F3FF9643B3D85,
+ DE005946F4FF5EB9F2B5E94F,
+ FA91B86E9778655B50D0814C,
+ 23E03F6187920AD14BFC8BCD, ); name = native; sourceTree = "<group>"; };
+ 2EF49DCD807993B2B8356444 = {isa = PBXGroup; children = (
+ F06F1733D3BA37AA7C511933,
+ 8F311C729219275902113CE6,
+ BD8807162A21C44D5C816A74, ); name = placement; sourceTree = "<group>"; };
+ 4C6121D44894EBC2CE00C47C = {isa = PBXGroup; children = (
+ A0AB8A5CFF0F86A8DFC35FD6,
+ 788A2BB27DFA716A543497CA,
+ 6E5F7B54E6D5F4FC5DB69DEA,
+ 521B6DE6C4B7BE10CAE4065F,
+ 240FD43C7C457ED97B01A27D,
+ 3FE0C15B00B176DC80462EBF,
+ 5A2106C72326CEA212F2CCCA,
+ 2AE3391E3CF2A2D9AEC5AA27,
+ 2EF49DCD807993B2B8356444,
+ 614A8A8F8ED16753F8CFE07C,
+ 95636B26C770CFEADB3201BA,
+ 268EE6C32655E4002E0F67E1,
+ 95636B26C770CFEADB3201BA, ); name = "juce_graphics"; sourceTree = "<group>"; };
+ 07904D644F96E4BDE7F97211 = {isa = PBXGroup; children = (
+ BFF50837A22F32388D61E4C4,
+ 664C16822A70A0AC8DE7BB7C, ); name = application; sourceTree = "<group>"; };
+ 8C50A37660EFD2826595E21F = {isa = PBXGroup; children = (
+ A6CA6F9862A31AA045082102,
+ 007B1F3B503C7D7F4744BA43,
+ 1E3AD3FF27C698CD3EE18C93,
+ 39B343A6A7A4BD31ED5AA4EA,
+ 80E878BF0672503772AB3C6C,
+ 549A73307E1C2D12EC3FA599,
+ A1842A3B2210EA4F3E78A614,
+ EAA764F4599A4624B26AD06F,
+ FB558727D4E53558D3F72AE0,
+ A3C88D6C40459FD49F4BBBFC,
+ 84187C96133F7EAC39E46D9B,
+ EE8BBEB89A13B0E1AFD5780C,
+ 282CADA9E37A136FDBC83A2F,
+ A1C12AC77EFFF165AC6B053D,
+ 377AF33A6FFEBFE62A05AD2D,
+ 00AFB2ECABC5FF5015B0DF6C,
+ 3C7A5BB34C606EBC8556E38A,
+ 1751F5BA57A88D8A20248EAB, ); name = buttons; sourceTree = "<group>"; };
+ 5DCA357F8D71E6533AA7F14C = {isa = PBXGroup; children = (
+ E2C85B5C1B1B51B08231F7EC,
+ A8C4CA489A4BF1B340754797,
+ 54414222D76B0C6CD2D245C5,
+ BE3AB671FE1BF4BA67F3B22E,
+ F837F14CCAD905678B2EB5A1,
+ 5DDD8C97387E3792B53F6914,
+ 016588BDC792CF429E174F41,
+ E068081DF4D036954360B4CA,
+ B35C9A4EB69C394A0DE6E813, ); name = commands; sourceTree = "<group>"; };
+ A6E5010F1204E950F65CE679 = {isa = PBXGroup; children = (
+ 58E8DB6E05BEC37A2C386482,
+ 3BE2901B9A625B0A9A34FAEE,
+ A7DBC8925B48CFF83A1A785D,
+ 494C319CCFF5BCCD0F36FD33,
+ 3C0FB54AB7F6499B039CA796,
+ 868BF9273B56A0762F1CE5B8,
+ D8555991B456F672F132ABEC,
+ 61CAFC1A3803B6D6BA913E84,
+ 24B3BC3052E9DCD40B98304B, ); name = components; sourceTree = "<group>"; };
+ BB630F47D921377AA027C1B4 = {isa = PBXGroup; children = (
+ 7D3372B86F706B2EB958851D,
+ A701A3A08035A45B9D1F7963,
+ 32882ADD511B3542BB245169,
+ E46479B62709BC51E7EADCA3,
+ 4CE9E46083DBAE3BA66CEF34,
+ F17172414E68A67E86770D16,
+ 9109705AE4C9C46B0CEBAD57,
+ A94DAD22B9F27389EB042378,
+ 80CB00749EEB05EB63E6AB02,
+ CD9D44C2A4E6A65D62F5A2F4,
+ 182BED30B1F7A3E20AF7C41E,
+ 119E392B5554CFFE8416EA5E,
+ 55929F5F3E0FDBA0B5B5740A,
+ FB76ED4506F6CB6BC0FA0D50,
+ C0794CF65E83FA413249342B, ); name = drawables; sourceTree = "<group>"; };
+ A7D9149B4E37D9181E3F9A39 = {isa = PBXGroup; children = (
+ BEF40C565264BB572868FF09,
+ C92D8587F5DBAD4B1CC80406,
+ E76C940E3BEADDDA3B798D3F,
+ F641DDA93FDEF2450E56A606,
+ C225444502EBA04B63E16CE6,
+ F42D141B9A70BB0273407B0E,
+ 389F673D479BAA914D559C3C,
+ 733D19DB0084F1592D2ACCB5,
+ A75D403B2009F5E41DB85E88,
+ 5F622792DD550ED2F85D6BC6,
+ D24A6466F1C7D63741B729BC,
+ BEF0AAA4CC9BA56B412B7B20,
+ 26FE8AEE286297F8E8F148E8,
+ 7FE57FC0CEE579C81819F26B,
+ 0D197638970189B7FC7EF613,
+ FD2F08645DF014C0F3110942,
+ 6BC2FE3123EC3468395FC8D8,
+ 3F31EDAA9BB16DCAA86C6A6B,
+ 811EB7C741184EAE672D6581,
+ 3454368245C5E8CFD1456FBC,
+ EBF38E78D19A1BCCAE6C72E1,
+ 69A4D0C62C1F177C0C877A3A, ); name = filebrowser; sourceTree = "<group>"; };
+ 058E0B5BC34AD4AD46B9CAB4 = {isa = PBXGroup; children = (
+ 8FACD18D8DF3D14D269091CA,
+ 7D7F423A3FB0AC8EDBE62944,
+ A579D7C165F5D2A34D8B60DB,
+ 3F57879007B1AD70426EB58B,
+ C80F802372BCFB07523C535D,
+ 0112674271470DAC194D36F7,
+ DDD1AD3004D036AF9AFD5043,
+ EABAA3E42B432D106A18FC39,
+ 332520A35477D044DB108E0B,
+ 047EB8514054BDBED92A4D65,
+ EADE74B222122B9F8144DF28,
+ 6085D0F7B3DFD7C8A7564A9B,
+ C53219A41027ED103B202C42, ); name = keyboard; sourceTree = "<group>"; };
+ D9D416C8CAE3A9E7CE485AE2 = {isa = PBXGroup; children = (
+ 0D0667D008F7C834DC045F87,
+ 3F4C08B027AA5847220503DF,
+ D1D6547CA0BAEB079FF9050F,
+ 58BF05D2E1EBA950D4C132D9,
+ 07176F08AA96CA742FABF32C,
+ 473950B43F215D4523AE801F,
+ CE63CB470CE025B3344E6B14,
+ CB3169B4A664108CEA2751DF,
+ 94E460DE1BB4B000A0EB883A,
+ DB7D21EDFDD06447F1A26B93,
+ D56C2798DB2930BA21DE5222,
+ 4EFE2E4C990EE14732BACEC5,
+ A7513E63DF1FEE5FB89D5674,
+ FF988FAEBE5F808EE1BB9F4F,
+ 0522ECF89AFDFE087301B50B,
+ 47CC2D3C3EA5DBDD7A160619,
+ 96FC2E3988B10054B1A11323,
+ 03D95B05B6B6219344A8A5D7,
+ 260E45CCB287E4CC5DCB27B8,
+ 875FEC3940D6185FD9190213,
+ 77A1BF25012758C1D78583E4,
+ 0DF9EA0A64F07528C65C2623,
+ 8706B5033AE6F9AD92FB4F70,
+ B31CB3E3F4BD0212647C599D,
+ 84FE9718AAA47D64293881CB,
+ B04C24316C7F5D7E5C79E0CA,
+ 19EC8D47288168DED8C317DF,
+ EAFC617A8DEFF67E2A070D1B,
+ 0D9ED7566FF0B245CCB60C50,
+ 819FAA8F15DD9C9789D26B77,
+ 9D16672FDB24B44DFF13E4B1,
+ 15945B1F63EE00FE6BCD61F0,
+ 25CE3EDC204ADB54724E65DC,
+ F86455FC80F2DF1C12D28BFB,
+ 4A174700334838A28231D4A0,
+ 44B2FE959DF300C8385863AF,
+ CEE8CFCB66ADE7E78A9B5D84,
+ 9F13791A2E1028E08EFB5A32,
+ 2AFBEF39C606E0A3D698185B, ); name = layout; sourceTree = "<group>"; };
+ FAA6CD66C5226D3A9207B754 = {isa = PBXGroup; children = (
+ 8D267142A6682D9886D0CD9A,
+ EE3FF44BECDF0A701A625460,
+ E4A7570B4EABC3BDD766D2A0,
+ BD1F10BA3C91ABDEDA96A90A,
+ CA65DB1D639849CCDABA67FC,
+ 1B07C855838E6EF1D058D000,
+ CFF86D411ACF901036AA22E2,
+ 7C5529A757AAF95634BB7251, ); name = lookandfeel; sourceTree = "<group>"; };
+ A354D9464A5E0CA16BACC5FE = {isa = PBXGroup; children = (
+ 6686824DF63B35A02B0FCDAB,
+ 329DF7E968A8D1BC5242755D,
+ 892C11FB5B2192DC7FE0E617,
+ D5542B1227D81DCFF2DFCDA4,
+ 52162727C5145771E25131C9,
+ 1A8D2D0748598F01CEAAD4F7, ); name = menus; sourceTree = "<group>"; };
+ 7014FBB2A0234F105FFD4373 = {isa = PBXGroup; children = (
+ 9CD701758E71973D7BF7CC8D,
+ B2945D912BAAD64AB84975AA,
+ 879DC7CDE41F11EF9A8F3FCE,
+ 3DDC23784E7F36861AF31A75, ); name = misc; sourceTree = "<group>"; };
+ AECDF9A263F52E02F060F2B0 = {isa = PBXGroup; children = (
+ 2D3D590B3FA5486BDAD225B0,
+ BF9B812900B12580FCD3C1C5,
+ 1EB612BB5C88FD75360E182C,
+ 9A157F41830D8E72D9B6DDE9,
+ CA54557D28FB9E717532A9B8,
+ CB01A5CBA8DA5DA64F79F9D5,
+ DC92C4ED5AC4F39FA201F932,
+ 442B9293D4AECC2B9711CADD,
+ E4B9999176E0FB1175CE9568,
+ 9E56353F5164018FE9407346,
+ 1DA19C5E99B3551ADE26E391,
+ 49CA1AF15E947DCBBE1AB305,
+ 1446DDFD289F734BFE1861BD,
+ 9F02393F695A4882E729627C,
+ D7B9697EF473A62BE6453BA6,
+ 6C1E9287AA9C9FEFC393DDCB,
+ 5013B2E5F2FAF7E880593B1E,
+ 9C5ED73E2DF5FDCE5189E945,
+ A0B8C5DC5B1C48EF0B25D9DB,
+ 82A5E18127980C5CF8AE919F, ); name = mouse; sourceTree = "<group>"; };
+ BB809068C10AFC284A1D85E4 = {isa = PBXGroup; children = (
+ E53E7B65080C5BBEF4A9D7C3,
+ 09901BD8E4BF85BA33E43AC4,
+ 197DFCCEA5C1199B9C4D463F,
+ 8899E26B15AA5CE8D18A2DB2,
+ 334C26584909EC5509B8CF72,
+ 634DD22DD8F7DE4BA1BA2A8E,
+ 455B914D8EDEB31EDC2DC451,
+ 6FB98EFC21231B01B9375164,
+ A5C1C519AA6CE15BF9547B03,
+ C9BF56C284B0BE80A7C89DC0,
+ 6D9C6DABD7D5E768EF9DCEC9,
+ 4F37C953011C373B54598AD7,
+ 4D4FD67BD642DA535431F2B1,
+ AB995EFABB924F8175D8954F,
+ D54B128515F377318B34C9C9,
+ D512265869F4FD6DBE091DD4, ); name = native; sourceTree = "<group>"; };
+ 2E64869DDF2412C8949B3D60 = {isa = PBXGroup; children = (
+ B9DF6AB40767C91B45834CED,
+ 61287CFC6D4262060F576DD7,
+ B5E44A231B747E1759C87CD4,
+ 9D53AA5877289D7EC8E9D708,
+ 12748EFBC072636CB555FEED,
+ 3898C8969F187EDE6C2FE1A1,
+ C2EA3FCC07E1674AFDEA71B2,
+ C6F13DC7541D0F00B8C8ED6A,
+ AAF99DBF6ACB84A56C7996C5,
+ EA8A57933A118B68E6C8A037,
+ 799F28AA91B1E73D5DD93EF8,
+ 7773CF6756E7F17F8CCFBB0B,
+ CF56CAFD0B05918B202CC8C1,
+ B29B68EFD93C936B6004A003, ); name = positioning; sourceTree = "<group>"; };
+ 73B736F0A245E7492E237884 = {isa = PBXGroup; children = (
+ 083B9BAE399C7621EABFD0DC,
+ 8E8618D73EBC59ABD8A424EB,
+ 20C2BF35D7BA96D597557B46,
+ 5EA120BDDD4CEB77D4440C20,
+ 96A355D0A7CCC55998862273,
+ 551BB1571903BD046B3947C4,
+ C9C143571708C2B184BFEB12,
+ D0029C076D0AFD4531B8C952,
+ C78AE90444451893D78C4E91,
+ A868BFDFEFD84058783F8A1B,
+ DDA7B0C44BB6500A8264AB08,
+ AB50A06C6DADCC7678D37DF0,
+ F306B08E4CCAD1A06EC0DB0E,
+ 2D53FB29FFFEEB29036792DB, ); name = properties; sourceTree = "<group>"; };
+ 44A9B15FCFF35B6D4A98AD01 = {isa = PBXGroup; children = (
+ DCFCECAE8ED2C934AB68E4EC,
+ 8DC8471AAC1855AC5FCF5A49,
+ 98A71ED25423EDA3D71C5A82,
+ FA3537F978DC20BC51975AF4,
+ 7A45794310114755CDD94AB1,
+ 3BCDBA897B07973BE96C7CD4,
+ 730CE994579DDD2DE49B5D7A,
+ F0F5158BE492B43B8FAAD1D3,
+ 445E7C1EF124A4552532AE4F,
+ 61F8335D20F500B2BC612A2D,
+ 2F8470C7C024CC6EF9669961,
+ AB4BAE5B3AAB57A4BC712F3F,
+ 634A8B60191C15D6693B40BA,
+ FF9B172146D046D10BC0E7E0,
+ 8AC432E785BEC3DAD8663650,
+ 8694FBBB22ADD72875586C4C,
+ D766274BD43DF76958D6D7A1,
+ FB44F62FA6C5FA2DFB1B2142,
+ 0E2BE57E047E0F1EC2BF9880,
+ B7E100E53E55FBBB995D1015,
+ D01FEE0DC6C2CED2D3217198,
+ 35E2249D105A48B11BCF2DA3,
+ 97A84C15178314A33151C129,
+ 577DD1C1B6BC82BE5E32C290,
+ 137EDFA7BC30E6EEFF2A2C04,
+ E2C31B4B096247BEB81029C5,
+ 959F6D02ECA6B976583C67FA, ); name = widgets; sourceTree = "<group>"; };
+ 0C4CEA52BDC9F6A213AC17BD = {isa = PBXGroup; children = (
+ D0C5462B25A1EF7C0BAC2C66,
+ 38C951E0E35A4B513616931A,
+ 0353708CD8C613C0F5D9081D,
+ E8598E243314304BD8163FD7,
+ E270518951867873C374D756,
+ CCF01620822A4A144E3C6FBF,
+ F5A099B54BDAB42FF8D77144,
+ 320BFED03A887CDA204EB748,
+ DBD9D7E0C4FB25EBBE29B36A,
+ 47123B6CF53D538F0E90AC17,
+ F70DB3B3FBB0AB2575A13FD4,
+ 528DB2421C8140B90DA7B1C4,
+ 130A891678CD13F5B8F813A4,
+ 66CBE1EEF8AA4C91EB7046AA,
+ 3F461FC27A8BEA812E4604BB,
+ 1FA1A18FDF4E7266114D4B47,
+ 189CE0561DF5910DAF13D22B,
+ 260406E9FB3C041C0B3A89E7,
+ B185D4ED3D7011747FA30D2C, ); name = windows; sourceTree = "<group>"; };
+ FE33C8CB124FF0872158875A = {isa = PBXGroup; children = (
+ 07904D644F96E4BDE7F97211,
+ 8C50A37660EFD2826595E21F,
+ 5DCA357F8D71E6533AA7F14C,
+ A6E5010F1204E950F65CE679,
+ BB630F47D921377AA027C1B4,
+ A7D9149B4E37D9181E3F9A39,
+ 058E0B5BC34AD4AD46B9CAB4,
+ D9D416C8CAE3A9E7CE485AE2,
+ FAA6CD66C5226D3A9207B754,
+ A354D9464A5E0CA16BACC5FE,
+ 7014FBB2A0234F105FFD4373,
+ AECDF9A263F52E02F060F2B0,
+ BB809068C10AFC284A1D85E4,
+ 2E64869DDF2412C8949B3D60,
+ 73B736F0A245E7492E237884,
+ 44A9B15FCFF35B6D4A98AD01,
+ 0C4CEA52BDC9F6A213AC17BD,
+ 9BC007D5846F63F0F37CF97B,
+ B38DA581048FDA139F641FB0,
+ A928068058AABD08099E1792,
+ B38DA581048FDA139F641FB0, ); name = "juce_gui_basics"; sourceTree = "<group>"; };
+ 36D60AEACC295718CA4DF1ED = {isa = PBXGroup; children = (
+ C8BDDC0EA95699CED529FB96,
+ 8CB049C67CA9CA3E76960B1D,
+ A2DCF1D28A3EADC8DB365F97,
+ 8103743F82032789096ACEB5,
+ 66838D5159BDC5AC0E777C0C,
+ 6362E2A941EAA49521526692,
+ B978E5CC1180425AD149A152,
+ CDEBA4B2BB49150BFAED8665,
+ 21CA089CEAAEFB67132DE3CD,
+ A93D235AED6D56DA08F82062,
+ 8E5D35AF16D5BC97A9F05B26,
+ BCAD87C5C4722BE2239A00F6, ); name = "code_editor"; sourceTree = "<group>"; };
+ B5E054592FF50093B53D0CA3 = {isa = PBXGroup; children = (
+ C12E3B26BAD438E71B125623,
+ A31876A1700D5032452F8AA8, ); name = documents; sourceTree = "<group>"; };
+ BB26434B9CA479BA9218D9CC = {isa = PBXGroup; children = (
+ 75D9711B81D5DBE678D64734,
+ 39C0350A74FE0DD8E792ABC4,
+ FFC5E68D2033592D6896B282, ); name = embedding; sourceTree = "<group>"; };
+ DE3A2AD01175FA05865FCD67 = {isa = PBXGroup; children = (
+ E1714E22DFB33D06F62468F8,
+ D6B40F5575A4546875FDBFCA,
+ 0072E9EDE9A531ABF573D6A1,
+ 66E065F9613ED585487E57B8,
+ AD3294A10650175E7F446D7E,
+ AF09AA6BF4864B8998E2676E,
+ 5B74F105B018F0D2497D818E,
+ FF9CD52F808B7C91AD25CF71,
+ 40268160C3A821B16C2C0106,
+ BED548AB5BFA57159DD12DAC,
+ 39C7BCC2C6A8A53D47605192,
+ 6229C851E122AA62DFE23981,
+ 27C1AA486727BE2A93B11251,
+ 6F60258048938FF67DFCDDE4,
+ FDF345AF086264E4040A79CF,
+ A41A3F1FD1EE4F50F9267231,
+ 9EA89360E878DE14172E34CF,
+ 7D5439A24397FB12F5B97C69,
+ ADF9FFDBBDB7AE74869554B6,
+ 4E93058BD941E58123C09290, ); name = misc; sourceTree = "<group>"; };
+ 9EC9071CD635A99CC2532CCD = {isa = PBXGroup; children = (
+ 8A270D3B29FF0A115BDA7C00,
+ 8319007F2F0B140F09E10D2E,
+ 333C35C42EAAC5C9C654F12B,
+ D504B7AB34A2CD39CB9C856D,
+ 3942B0BFD06ABC8B8AC0459D,
+ F1A811BDF1FBDB3460847383,
+ 86C5B51CA8FE58BBE6C48E5E,
+ 1DA2607436F77B9E79C8D031,
+ 2FAD51414C9D18ADA5B2CC16,
+ 1414F1FC8B43992F623E2FD2,
+ D0F8908BB4BF8D2904759E9B,
+ BAB1E713B8FD5FF764E93C7D, ); name = native; sourceTree = "<group>"; };
+ 9E18A441884CEFE11E2D3857 = {isa = PBXGroup; children = (
+ 36D60AEACC295718CA4DF1ED,
+ B5E054592FF50093B53D0CA3,
+ BB26434B9CA479BA9218D9CC,
+ DE3A2AD01175FA05865FCD67,
+ 9EC9071CD635A99CC2532CCD,
+ FDB547DFBE187A379D96760B,
+ FD6A23DA53BC48A5D01DCAAF,
+ F572E47156DAA8EEBE746390,
+ FD6A23DA53BC48A5D01DCAAF, ); name = "juce_gui_extra"; sourceTree = "<group>"; };
+ FF3F83506D205EABE1669524 = {isa = PBXGroup; children = (
+ C096E8792E18214FCE25A25C,
+ 92CEF1181147D9E110D85278,
+ AED3A93746DB1172E5A05BBC,
+ DAF373B4117FFAAEF7D9AA22, ); name = geometry; sourceTree = "<group>"; };
+ 81FAD18B53D88E4B82950267 = {isa = PBXGroup; children = (
+ 3B603D361B33DF947B16EC5A,
+ BD369BD9E2486BB5D544D8FA,
+ 2DA8B0B8F42BA75AA6C09CF5,
+ 41AAF7E46A95C5137361C5D1,
+ 99D82B4AECBFE5BBEA8E435B,
+ D9B504A48CCEDE57288899D9,
+ B56D69C275FA7C73683BA840, ); name = native; sourceTree = "<group>"; };
+ D417D822B572124AADECC6BF = {isa = PBXGroup; children = (
+ 1BEF40062139BA123A55EB92,
+ C23D3AE443F3DA9E05DCF670,
+ 738A2C478AADF47D641F9577,
+ 036FADA1493FCEA443F6BD31,
+ 265C9E0CD85917026D804337,
+ 21AFD9310BD1AA9619366C27,
+ 099F6F87C4D05FF49A7E3C2C,
+ 149DD0517AA814294C0A8C70,
+ 6A3B0B68AF1891D6708E5CF7,
+ BDF3FBAE1450DCFA0496D341,
+ 279386328A2D384E9C2AE928,
+ 339A19F5096F4F61F8255B88,
+ F5D2EE7EA410E9A78BF68285,
+ 3EB1E0AA5710B0452FF6BBE6,
+ A0C6E00A2F5204606A1B0196,
+ A16EB5BE88FD8E25BD4F4158,
+ E8BBBB6CB566863296CC406B, ); name = opengl; sourceTree = "<group>"; };
+ A9FFCB200EC6C79188EC21FA = {isa = PBXGroup; children = (
+ 9E490E7A44CB793DDFBEE1EE,
+ 63E061781918F57A073B894F, ); name = utils; sourceTree = "<group>"; };
+ CD3B970017EF8AC522E6238C = {isa = PBXGroup; children = (
+ FF3F83506D205EABE1669524,
+ 81FAD18B53D88E4B82950267,
+ D417D822B572124AADECC6BF,
+ A9FFCB200EC6C79188EC21FA,
+ E3FFC7BB4B7420DFFB0FF1F0,
+ 36FB8C0AD65A9A875C90C662,
+ 0FE96D4C83E1846EE628D57F,
+ 36FB8C0AD65A9A875C90C662, ); name = "juce_opengl"; sourceTree = "<group>"; };
+ FCB109DCDFCB200668E6864C = {isa = PBXGroup; children = (
+ 404BFEA464246C3581AFCF47,
+ 90D9DDA0B7937A5B2ED77F30,
+ 594F462315832D34803DA5F6,
+ 4EA50957218B9A0F396DB28D,
+ 247AF08855C438929F46C640,
+ D8F226718DC7C6F677813853,
+ 2E126121467FEA75AE5E28E7,
+ 4C6121D44894EBC2CE00C47C,
+ FE33C8CB124FF0872158875A,
+ 9E18A441884CEFE11E2D3857,
+ CD3B970017EF8AC522E6238C, ); name = "Juce Modules"; sourceTree = "<group>"; };
+ 3ADDC207B0CCAE1F5E220196 = {isa = PBXGroup; children = (
+ EFE9FF35F95193089D2465F5,
+ DD58AB0C80AB9D0B6850983D,
+ AF5F2E4B8A7F1B9A507D043C,
+ E1CDDE683A9D3D00182334F0,
+ A40D3E3FFBEC78F04EE0DE5A,
+ B0B1C0956FEDCBF2AF19CA6B,
+ 17544537ED6A83CB6C3F3201,
+ 8EF4F0D964C0ECA2E058F7DC,
+ 7038FD73A5F7527FB76E987E,
+ ABFE23A312B6421D3E21ADC8,
+ 2E85944AC4191910EE758B99,
+ 231FA43EA6BDD60E2E5D682E,
+ 87ECEEBFFBBFB5281E991537, ); name = "Juce Library Code"; sourceTree = "<group>"; };
+ A6A176D809E46AF236D766B1 = {isa = PBXGroup; children = (
+ 0E36301F694447E2DE1A780C,
+ 5152C57AD139845409BD05F2, ); name = Resources; sourceTree = "<group>"; };
+ 0916F802A223C831DF7E3018 = {isa = PBXGroup; children = (
+ EB91C5FFE88DF5CFF947669D,
+ F3AD07BBECD1E70E5F3F40BD,
+ F2F3C7E6FA8608C80DF5EF34,
+ 503BEED13051A5D02CE34644,
+ CBA6A8FCB0795C89183A8E71,
+ 42747FC2DD3F362950112EFA,
+ 318FAEC913D5880AF074E666,
+ 794233C62A59EA02725A7E9E,
+ 67663D2E66C7F1C1B6BD6392,
+ E3C5B106E571D189E28529D7, ); name = Frameworks; sourceTree = "<group>"; };
+ BEBE62C64C08316AE975AC01 = {isa = PBXGroup; children = (
+ D778C2ED7EA9D5EDCFBA1507, ); name = Products; sourceTree = "<group>"; };
+ 0F4E2B72B683E9B48DF13DDB = {isa = PBXGroup; children = (
+ 38998921858495104F35872D,
+ FCB109DCDFCB200668E6864C,
+ 3ADDC207B0CCAE1F5E220196,
+ A6A176D809E46AF236D766B1,
+ 0916F802A223C831DF7E3018,
+ BEBE62C64C08316AE975AC01, ); name = Source; sourceTree = "<group>"; };
+ BD1F40E3A4433BD30678025E = {isa = XCBuildConfiguration; buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_DEBUG=1",
+ "DEBUG=1",
+ "JUCER_XCODE_MAC_F6D2F4CF=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000", );
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
+ INFOPLIST_FILE = Info-App.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksSynth;
+ SDKROOT_ppc = macosx10.5; }; name = Debug; };
+ 1EABC8E25D5063C5DE0DA4E2 = {isa = XCBuildConfiguration; buildSettings = {
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ DEAD_CODE_STRIPPING = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_NDEBUG=1",
+ "NDEBUG=1",
+ "JUCER_XCODE_MAC_F6D2F4CF=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000", );
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
+ INFOPLIST_FILE = Info-App.plist;
+ INSTALL_PATH = "$(HOME)/Applications";
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksSynth;
+ SDKROOT_ppc = macosx10.5; }; name = Release; };
+ 9FADB9B516D955EEE4CDF9B9 = {isa = XCBuildConfiguration; buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "BlocksSynth";
+ WARNING_CFLAGS = -Wreorder;
+ ZERO_LINK = NO; }; name = Debug; };
+ 57DFE1C6F280A60ED6AF5D46 = {isa = XCBuildConfiguration; buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ PRODUCT_NAME = "BlocksSynth";
+ WARNING_CFLAGS = -Wreorder;
+ ZERO_LINK = NO; }; name = Release; };
+ 82EC3EE9E07C52DA2F93CDF9 = {isa = PBXTargetDependency; target = 0B9ADB15A71FB90DD6919895; };
+ F2BDE5D743A9870C169E5CC8 = {isa = XCConfigurationList; buildConfigurations = (
+ 9FADB9B516D955EEE4CDF9B9,
+ 57DFE1C6F280A60ED6AF5D46, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
+ 55C758B950EB7307111C9D74 = {isa = XCConfigurationList; buildConfigurations = (
+ BD1F40E3A4433BD30678025E,
+ 1EABC8E25D5063C5DE0DA4E2, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
+ B62995CCD71EBA82C2BC1692 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (
+ F737BADD554536EA38ADB4FC, ); runOnlyForDeploymentPostprocessing = 0; };
+ C8A1585A07BDCD77C240ECAA = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
+ 8492CFCDEC3C8BC7E679D597,
+ 8708D4FDEA2E44838FF56AF7,
+ DD6F640B22B1E254A30D23A3,
+ BFF81A843FE6013A9D16AA34,
+ BF6FA2A2A66FBBB7C0C82551,
+ A6C2383A9E41C6C0492FBD71,
+ 36CA4CF2E34082660F108708,
+ 90AB9198E92ADD84AFB8EFD6,
+ 221901C4077F389C16EE6FE1,
+ 8A93A3EB39E14A2887A12CF9,
+ 35E0967364383B7202CB3A01,
+ 0112FC2B7A664C27E8F9941D, ); runOnlyForDeploymentPostprocessing = 0; };
+ 1EFBDD8D783B94E754626B32 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
+ 96CFB8DAD7FFF76D2E317495,
+ 535851B45E7D80B53ABB689D,
+ D88704AA437596894A7729CB,
+ BAF807771E4AC4C725E9D058,
+ C04A639A8ABC44749B49ED36,
+ 5CC0AE888A8B9CF85C8C1077,
+ E0A65700714D2B1B3F21887F,
+ F2321DBBDA9BEE2577B4B73B,
+ DEE7F200E0ABCA5F551B8BC8,
+ 5D510B2F61AD897D19B917A4, ); runOnlyForDeploymentPostprocessing = 0; };
+ 0B9ADB15A71FB90DD6919895 = {isa = PBXNativeTarget; buildConfigurationList = 55C758B950EB7307111C9D74; buildPhases = (
+ B62995CCD71EBA82C2BC1692,
+ C8A1585A07BDCD77C240ECAA,
+ 1EFBDD8D783B94E754626B32, ); buildRules = ( ); dependencies = ( ); name = "BlocksSynth (App)"; productName = BlocksSynth; productReference = D778C2ED7EA9D5EDCFBA1507; productType = "com.apple.product-type.application"; };
+ C28D173095C609C48901860E = {isa = PBXProject; buildConfigurationList = F2BDE5D743A9870C169E5CC8; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 0B9ADB15A71FB90DD6919895 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 0F4E2B72B683E9B48DF13DDB; projectDirPath = ""; projectRoot = ""; targets = (0B9ADB15A71FB90DD6919895); };
+ };
+ rootObject = C28D173095C609C48901860E;
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\r
+<plist>\r
+ <dict>\r
+ <key>CFBundleExecutable</key>\r
+ <string>${EXECUTABLE_NAME}</string>\r
+ <key>CFBundleIconFile</key>\r
+ <string></string>\r
+ <key>CFBundleIdentifier</key>\r
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\r
+ <key>CFBundleName</key>\r
+ <string>BlocksSynth</string>\r
+ <key>CFBundleDisplayName</key>\r
+ <string>BlocksSynth</string>\r
+ <key>CFBundlePackageType</key>\r
+ <string>APPL</string>\r
+ <key>CFBundleSignature</key>\r
+ <string>????</string>\r
+ <key>CFBundleShortVersionString</key>\r
+ <string>1.0.0</string>\r
+ <key>CFBundleVersion</key>\r
+ <string>1.0.0</string>\r
+ <key>NSHumanReadableCopyright</key>\r
+ <string></string>\r
+ <key>NSHighResolutionCapable</key>\r
+ <true/>\r
+ </dict>\r
+</plist>\r
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 11.00\r
+# Visual Studio 2013\r
+Project("{1ADF3DE4-36E9-080C-9E5A-03B9A3DA399C}") = "BlocksSynth", "BlocksSynth.vcxproj", "{95CDA882-A3D2-8344-A1B4-E341383A631E}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Win32 = Debug|Win32\r
+ Release|Win32 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {95CDA882-A3D2-8344-A1B4-E341383A631E}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {95CDA882-A3D2-8344-A1B4-E341383A631E}.Debug|Win32.Build.0 = Debug|Win32\r
+ {95CDA882-A3D2-8344-A1B4-E341383A631E}.Release|Win32.ActiveCfg = Release|Win32\r
+ {95CDA882-A3D2-8344-A1B4-E341383A631E}.Release|Win32.Build.0 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{95CDA882-A3D2-8344-A1B4-E341383A631E}</ProjectGuid>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>\r
+ <ImportGroup Label="ExtensionSettings"/>\r
+ <ImportGroup Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"\r
+ Label="LocalAppDataPlatform"/>\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros">\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">BlocksSynth</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">BlocksSynth</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>\r
+ <PlatformToolset>v120</PlatformToolset>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksSynth.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksSynth.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksSynth.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Full</Optimization>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksSynth.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>false</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksSynth.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksSynth.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\Oscillators.h"/>\r
+ <ClInclude Include="..\..\Source\Audio.h"/>\r
+ <ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc"/>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>\r
+ <ImportGroup Label="ExtensionTargets"/>\r
+</Project>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="BlocksSynth">\r
+ <UniqueIdentifier>{C606AB23-A78D-2307-23CB-FA5CC8F625E3}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="BlocksSynth\Source">\r
+ <UniqueIdentifier>{216C6C92-F33B-BAF3-C401-E8FA85F71C36}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="BlocksSynth\Source\Audio">\r
+ <UniqueIdentifier>{5BD18F56-3EC1-EE53-7F59-EE48893579E1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules">\r
+ <UniqueIdentifier>{422C46B7-0467-2DB0-BF3C-16DFCAFD69AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics">\r
+ <UniqueIdentifier>{3247ED97-A75A-F50B-8CCC-46155E895806}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\buffers">\r
+ <UniqueIdentifier>{A33A1E1D-AC2C-6382-8681-48B0FC374C60}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\effects">\r
+ <UniqueIdentifier>{11A75801-B027-40BD-4993-023023ACCBF7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\midi">\r
+ <UniqueIdentifier>{3FD908F5-98C8-9A61-FC03-0BAF8913CBB0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\mpe">\r
+ <UniqueIdentifier>{8C868E51-156D-A916-047C-0D9EA1393675}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\sources">\r
+ <UniqueIdentifier>{EF2CAB40-0432-429B-C517-86ADF136BB8A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\synthesisers">\r
+ <UniqueIdentifier>{8F7EC212-3168-AD81-5064-C45BA838C408}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices">\r
+ <UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
+ <UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\midi_io">\r
+ <UniqueIdentifier>{0F766DD4-A277-CB86-5647-42498C8B41E1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\native">\r
+ <UniqueIdentifier>{01603E05-423B-5FC3-1BEE-E15ED33B5688}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\sources">\r
+ <UniqueIdentifier>{D64942B4-6984-3623-3347-45D472AE1C61}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats">\r
+ <UniqueIdentifier>{65CB28F8-0422-A8F3-9A17-959E12A1F8E2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs">\r
+ <UniqueIdentifier>{0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac">\r
+ <UniqueIdentifier>{AB8611DF-8161-A9DF-DBAD-77A87DE37331}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC">\r
+ <UniqueIdentifier>{9DFA63C1-4EE6-1FAB-D563-41FCF84988F2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include">\r
+ <UniqueIdentifier>{FEF33480-117C-23A6-D12C-7C299F26C9DB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private">\r
+ <UniqueIdentifier>{C9640E58-4493-7EEC-6F58-603AD184956E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected">\r
+ <UniqueIdentifier>{D8EE4AD1-61E3-21C2-6640-6684F4CF77DC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis">\r
+ <UniqueIdentifier>{76391436-F92A-7602-4073-E446B5FAA859}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2">\r
+ <UniqueIdentifier>{9971A63C-5B75-039F-95C2-7474D7DB16B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib">\r
+ <UniqueIdentifier>{DC58E9B7-2710-F45C-B718-75EACDF53F47}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books">\r
+ <UniqueIdentifier>{B8087E92-19F7-552F-9E85-16153D7191B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled">\r
+ <UniqueIdentifier>{25C8FB00-334A-6E0F-F203-E988758B708A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor">\r
+ <UniqueIdentifier>{94027CB9-8162-7431-2E01-B710C7CAE620}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled">\r
+ <UniqueIdentifier>{450B8177-6F41-B902-761B-BF68D55102DA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes">\r
+ <UniqueIdentifier>{B7221885-1731-611D-FDD9-EA968FA8D858}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\format">\r
+ <UniqueIdentifier>{2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\sampler">\r
+ <UniqueIdentifier>{40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics">\r
+ <UniqueIdentifier>{DFA2DC59-3B2E-1F2A-8661-79D25C3D7F1B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\blocks">\r
+ <UniqueIdentifier>{F00B1208-CE3A-EE5C-C33C-9A016BAD5E70}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\littlefoot">\r
+ <UniqueIdentifier>{31632996-AC68-BCF8-B244-110FC6087A6E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\protocol">\r
+ <UniqueIdentifier>{65A9A26C-02FC-34D8-BEAC-C30A1E255B44}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\topology">\r
+ <UniqueIdentifier>{F61978A2-275C-CD64-3724-AE5945CB8970}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\visualisers">\r
+ <UniqueIdentifier>{3BF28565-4A19-23EA-96D6-910B5646D6B9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core">\r
+ <UniqueIdentifier>{95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\containers">\r
+ <UniqueIdentifier>{0608ADE9-66EF-1A19-6D57-12D07F76EB53}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\files">\r
+ <UniqueIdentifier>{C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\javascript">\r
+ <UniqueIdentifier>{1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\logging">\r
+ <UniqueIdentifier>{C294408A-2005-2E9E-7AC0-8D3ABE8AC175}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\maths">\r
+ <UniqueIdentifier>{476C69CE-0B67-6B85-E888-45D91E37A29E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\memory">\r
+ <UniqueIdentifier>{7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\misc">\r
+ <UniqueIdentifier>{FA891A58-9FDA-9651-43C4-714A19B5D08D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\native">\r
+ <UniqueIdentifier>{C79A4D23-7866-8F3E-AC39-BD68C52A9259}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\network">\r
+ <UniqueIdentifier>{DA0DC4AC-B511-A2D4-199A-C93454D6F114}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\streams">\r
+ <UniqueIdentifier>{91929C6F-7902-B87D-5260-2F6CBF8ACD93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\system">\r
+ <UniqueIdentifier>{4634FFAE-9586-A970-364C-4FDDA635F99F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\text">\r
+ <UniqueIdentifier>{244D11B0-2D68-3C08-A0B7-0D12469BC3AA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\threads">\r
+ <UniqueIdentifier>{05F3DB8A-499C-6ACA-282F-5BF8455A0DE1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\time">\r
+ <UniqueIdentifier>{C9F6D785-BF78-5AA1-B479-111C65397864}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\unit_tests">\r
+ <UniqueIdentifier>{4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\xml">\r
+ <UniqueIdentifier>{F2B2F310-F30F-7166-42A9-9BF9C230DA78}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip">\r
+ <UniqueIdentifier>{F03654BC-34D8-F975-BEA3-750CC2783D23}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip\zlib">\r
+ <UniqueIdentifier>{585D6A72-C5E7-BCF1-A168-63A40C6B6313}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures">\r
+ <UniqueIdentifier>{928D8FCC-5E00-174B-6538-93E8D75AB396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\app_properties">\r
+ <UniqueIdentifier>{358AEA11-3F96-36AE-7B32-71373B5C5396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\undomanager">\r
+ <UniqueIdentifier>{3DF036EA-3B80-553B-2494-3AAC835CAE75}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\values">\r
+ <UniqueIdentifier>{1988E68A-A964-64CA-0E0C-26FF9BC5176C}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events">\r
+ <UniqueIdentifier>{F2A38F45-6E55-E147-2E52-64A89FDD9D59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\broadcasters">\r
+ <UniqueIdentifier>{B098BC87-3298-7E6B-12DC-D26C09CDCAED}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\interprocess">\r
+ <UniqueIdentifier>{6322B88F-984A-C3CD-6263-38D7AA49B6EC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\messages">\r
+ <UniqueIdentifier>{6172822C-01A5-E824-12DA-FA43FA934D35}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\native">\r
+ <UniqueIdentifier>{73C1E759-AD90-59A3-942E-2D10FAA29107}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\timers">\r
+ <UniqueIdentifier>{41DC3BE3-D629-8A17-C32B-F5B4008B5FAD}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics">\r
+ <UniqueIdentifier>{EE1AE8C3-0908-8F53-A4E5-D930C7C97C26}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\colour">\r
+ <UniqueIdentifier>{4926B3FF-E797-F586-857A-69D9703FA2D1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\contexts">\r
+ <UniqueIdentifier>{EBC65085-3AD5-280C-1A29-2B1683643AA1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\effects">\r
+ <UniqueIdentifier>{E37D25CD-4350-4614-055B-7ABC55E67895}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\fonts">\r
+ <UniqueIdentifier>{26ECA2AF-7368-C6CC-58EF-017ECD1862D0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\geometry">\r
+ <UniqueIdentifier>{C1A1A236-AB01-173E-96C3-0706BFF93B1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats">\r
+ <UniqueIdentifier>{69E1179D-76EC-26DC-C3E6-6602ED26D783}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\jpglib">\r
+ <UniqueIdentifier>{F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\pnglib">\r
+ <UniqueIdentifier>{12D20EC8-139C-C2B1-1A66-AC436C48C0A7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\images">\r
+ <UniqueIdentifier>{413F481F-075C-2958-115C-D8268682FCB7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\native">\r
+ <UniqueIdentifier>{FFC6E1CC-C772-75E6-5087-FB5D4E016799}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\placement">\r
+ <UniqueIdentifier>{1182303F-ECA3-166D-AC0C-92C5E762CB93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics">\r
+ <UniqueIdentifier>{8E43579F-C185-266D-DD67-F8B95BD80F2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\application">\r
+ <UniqueIdentifier>{61712B09-5783-ADFA-2001-5A0C3D7764EB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\buttons">\r
+ <UniqueIdentifier>{C3B2EB8A-1A2F-306F-AA78-3E9D1593788B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\commands">\r
+ <UniqueIdentifier>{46535B56-3737-2BE8-E3A0-571BCBEB2DA4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\components">\r
+ <UniqueIdentifier>{2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\drawables">\r
+ <UniqueIdentifier>{5A0AA36E-3957-E413-14C6-31CBE15271DF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\filebrowser">\r
+ <UniqueIdentifier>{5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\keyboard">\r
+ <UniqueIdentifier>{A92719C7-70BE-57C4-CE9E-A9BC9DFEB757}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\layout">\r
+ <UniqueIdentifier>{E980FADB-6E3F-B93C-DE02-CE4271C9BA93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\lookandfeel">\r
+ <UniqueIdentifier>{F408DCA2-D5E2-0A3A-A064-A1D045889BC1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\menus">\r
+ <UniqueIdentifier>{7BCEAB87-62FD-0327-EB5D-679E54EDB9B1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\misc">\r
+ <UniqueIdentifier>{C2B9505B-27B4-F650-12BD-F477D4BBCBAA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\mouse">\r
+ <UniqueIdentifier>{796B7886-44A7-34CC-9B95-BF4FB2C7B6F4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\native">\r
+ <UniqueIdentifier>{8A80BA78-D3A8-C0F8-7FFD-61AA028CE852}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\positioning">\r
+ <UniqueIdentifier>{7A53E6F1-1343-33B8-4CA8-1D7B714A0E76}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\properties">\r
+ <UniqueIdentifier>{D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\widgets">\r
+ <UniqueIdentifier>{75F1F352-251A-75E0-D941-8431588F5C1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\windows">\r
+ <UniqueIdentifier>{DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra">\r
+ <UniqueIdentifier>{8EC9572F-3CCA-E930-74B6-CB6139DE0E17}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\code_editor">\r
+ <UniqueIdentifier>{C60A6FCA-9462-922E-AD8D-69F10C9049AF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\documents">\r
+ <UniqueIdentifier>{D56498EE-E354-1F00-5EEE-8CF7944BEAFB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\embedding">\r
+ <UniqueIdentifier>{61B2920C-494D-D8CB-C0C7-5DBF3D76D164}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\misc">\r
+ <UniqueIdentifier>{66C9B809-8739-A217-C78D-A15D6089B8E3}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\native">\r
+ <UniqueIdentifier>{C413328B-5D81-89EE-F4F3-75752E700DE4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl">\r
+ <UniqueIdentifier>{639E16C5-DA8B-ADBA-6E24-7B596378EAB2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\geometry">\r
+ <UniqueIdentifier>{B3141847-8F13-F67D-45B2-E3ECF6E09088}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\native">\r
+ <UniqueIdentifier>{151B49D8-6102-F802-1C07-D59931BC0574}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\opengl">\r
+ <UniqueIdentifier>{2D8D0E19-E676-83EB-38D9-F73500DD6B79}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\utils">\r
+ <UniqueIdentifier>{9E586194-C056-101C-5311-F2AF5191AC80}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Library Code">\r
+ <UniqueIdentifier>{8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp">\r
+ <Filter>BlocksSynth\Source</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.mm">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.mm">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Files.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Network.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Strings.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_SystemStats.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Threads.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.mm">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.mm">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_ios_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_mac_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.mm">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_Fonts.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.mm">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_UIViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_FileChooser.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MainMenu.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MouseCursor.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_NSViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.mm">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_ios_UIViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_AppleRemote.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_NSViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_WebBrowserComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.mm">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.mm">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\Oscillators.h">\r
+ <Filter>BlocksSynth\Source\Audio</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\Source\Audio.h">\r
+ <Filter>BlocksSynth\Source\Audio</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\Source\MainComponent.h">\r
+ <Filter>BlocksSynth\Source</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ResourceCompile>\r
+ </ItemGroup>\r
+</Project>\r
--- /dev/null
+#ifdef JUCE_USER_DEFINED_RC_FILE\r
+ #include JUCE_USER_DEFINED_RC_FILE\r
+#else\r
+\r
+#undef WIN32_LEAN_AND_MEAN\r
+#define WIN32_LEAN_AND_MEAN\r
+#include <windows.h>\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+FILEVERSION 1,0,0,0\r
+BEGIN\r
+ BLOCK "StringFileInfo"\r
+ BEGIN\r
+ BLOCK "040904E4"\r
+ BEGIN\r
+ VALUE "FileDescription", "BlocksSynth\0"\r
+ VALUE "FileVersion", "1.0.0\0"\r
+ VALUE "ProductName", "BlocksSynth\0"\r
+ VALUE "ProductVersion", "1.0.0\0"\r
+ END\r
+ END\r
+\r
+ BLOCK "VarFileInfo"\r
+ BEGIN\r
+ VALUE "Translation", 0x409, 1252\r
+ END\r
+END\r
+\r
+#endif\r
--- /dev/null
+Microsoft Visual Studio Solution File, Format Version 11.00\r
+# Visual Studio 2015\r
+Project("{1ADF3DE4-36E9-080C-9E5A-03B9A3DA399C}") = "BlocksSynth", "BlocksSynth.vcxproj", "{95CDA882-A3D2-8344-A1B4-E341383A631E}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Win32 = Debug|Win32\r
+ Release|Win32 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {95CDA882-A3D2-8344-A1B4-E341383A631E}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {95CDA882-A3D2-8344-A1B4-E341383A631E}.Debug|Win32.Build.0 = Debug|Win32\r
+ {95CDA882-A3D2-8344-A1B4-E341383A631E}.Release|Win32.ActiveCfg = Release|Win32\r
+ {95CDA882-A3D2-8344-A1B4-E341383A631E}.Release|Win32.Build.0 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{95CDA882-A3D2-8344-A1B4-E341383A631E}</ProjectGuid>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseOfMfc>false</UseOfMfc>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>\r
+ <ImportGroup Label="ExtensionSettings"/>\r
+ <ImportGroup Label="PropertySheets">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')"\r
+ Label="LocalAppDataPlatform"/>\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros">\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <PropertyGroup>\r
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">BlocksSynth</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>\r
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">BlocksSynth</TargetName>\r
+ <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Disabled</Optimization>\r
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksSynth.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksSynth.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksSynth.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Midl>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <MkTypLibCompatible>true</MkTypLibCompatible>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <TargetEnvironment>Win32</TargetEnvironment>\r
+ <HeaderFileName/>\r
+ </Midl>\r
+ <ClCompile>\r
+ <Optimization>Full</Optimization>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
+ <RuntimeTypeInfo>true</RuntimeTypeInfo>\r
+ <PrecompiledHeader/>\r
+ <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>\r
+ <ObjectFileName>$(IntDir)\</ObjectFileName>\r
+ <ProgramDataBaseFileName>$(IntDir)\</ProgramDataBaseFileName>\r
+ <WarningLevel>Level4</WarningLevel>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <MultiProcessorCompilation>true</MultiProcessorCompilation>\r
+ </ClCompile>\r
+ <ResourceCompile>\r
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ </ResourceCompile>\r
+ <Link>\r
+ <OutputFile>$(OutDir)\BlocksSynth.exe</OutputFile>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>\r
+ <GenerateDebugInformation>false</GenerateDebugInformation>\r
+ <ProgramDatabaseFile>$(IntDir)\BlocksSynth.pdb</ProgramDatabaseFile>\r
+ <SubSystem>Windows</SubSystem>\r
+ <TargetMachine>MachineX86</TargetMachine>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <LargeAddressAware>true</LargeAddressAware>\r
+ </Link>\r
+ <Bscmake>\r
+ <SuppressStartupBanner>true</SuppressStartupBanner>\r
+ <OutputFile>$(IntDir)\BlocksSynth.bsc</OutputFile>\r
+ </Bscmake>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp"/>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\Oscillators.h"/>\r
+ <ClInclude Include="..\..\Source\Audio.h"/>\r
+ <ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h"/>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt"/>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc"/>\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>\r
+ <ImportGroup Label="ExtensionTargets"/>\r
+</Project>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+\r
+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup>\r
+ <Filter Include="BlocksSynth">\r
+ <UniqueIdentifier>{C606AB23-A78D-2307-23CB-FA5CC8F625E3}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="BlocksSynth\Source">\r
+ <UniqueIdentifier>{216C6C92-F33B-BAF3-C401-E8FA85F71C36}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="BlocksSynth\Source\Audio">\r
+ <UniqueIdentifier>{5BD18F56-3EC1-EE53-7F59-EE48893579E1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules">\r
+ <UniqueIdentifier>{422C46B7-0467-2DB0-BF3C-16DFCAFD69AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics">\r
+ <UniqueIdentifier>{3247ED97-A75A-F50B-8CCC-46155E895806}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\buffers">\r
+ <UniqueIdentifier>{A33A1E1D-AC2C-6382-8681-48B0FC374C60}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\effects">\r
+ <UniqueIdentifier>{11A75801-B027-40BD-4993-023023ACCBF7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\midi">\r
+ <UniqueIdentifier>{3FD908F5-98C8-9A61-FC03-0BAF8913CBB0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\mpe">\r
+ <UniqueIdentifier>{8C868E51-156D-A916-047C-0D9EA1393675}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\sources">\r
+ <UniqueIdentifier>{EF2CAB40-0432-429B-C517-86ADF136BB8A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_basics\synthesisers">\r
+ <UniqueIdentifier>{8F7EC212-3168-AD81-5064-C45BA838C408}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices">\r
+ <UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
+ <UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\midi_io">\r
+ <UniqueIdentifier>{0F766DD4-A277-CB86-5647-42498C8B41E1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\native">\r
+ <UniqueIdentifier>{01603E05-423B-5FC3-1BEE-E15ED33B5688}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_devices\sources">\r
+ <UniqueIdentifier>{D64942B4-6984-3623-3347-45D472AE1C61}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats">\r
+ <UniqueIdentifier>{65CB28F8-0422-A8F3-9A17-959E12A1F8E2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs">\r
+ <UniqueIdentifier>{0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac">\r
+ <UniqueIdentifier>{AB8611DF-8161-A9DF-DBAD-77A87DE37331}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC">\r
+ <UniqueIdentifier>{9DFA63C1-4EE6-1FAB-D563-41FCF84988F2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include">\r
+ <UniqueIdentifier>{FEF33480-117C-23A6-D12C-7C299F26C9DB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private">\r
+ <UniqueIdentifier>{C9640E58-4493-7EEC-6F58-603AD184956E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected">\r
+ <UniqueIdentifier>{D8EE4AD1-61E3-21C2-6640-6684F4CF77DC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis">\r
+ <UniqueIdentifier>{76391436-F92A-7602-4073-E446B5FAA859}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2">\r
+ <UniqueIdentifier>{9971A63C-5B75-039F-95C2-7474D7DB16B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib">\r
+ <UniqueIdentifier>{DC58E9B7-2710-F45C-B718-75EACDF53F47}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books">\r
+ <UniqueIdentifier>{B8087E92-19F7-552F-9E85-16153D7191B0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled">\r
+ <UniqueIdentifier>{25C8FB00-334A-6E0F-F203-E988758B708A}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor">\r
+ <UniqueIdentifier>{94027CB9-8162-7431-2E01-B710C7CAE620}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled">\r
+ <UniqueIdentifier>{450B8177-6F41-B902-761B-BF68D55102DA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes">\r
+ <UniqueIdentifier>{B7221885-1731-611D-FDD9-EA968FA8D858}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\format">\r
+ <UniqueIdentifier>{2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_audio_formats\sampler">\r
+ <UniqueIdentifier>{40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics">\r
+ <UniqueIdentifier>{DFA2DC59-3B2E-1F2A-8661-79D25C3D7F1B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\blocks">\r
+ <UniqueIdentifier>{F00B1208-CE3A-EE5C-C33C-9A016BAD5E70}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\littlefoot">\r
+ <UniqueIdentifier>{31632996-AC68-BCF8-B244-110FC6087A6E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\protocol">\r
+ <UniqueIdentifier>{65A9A26C-02FC-34D8-BEAC-C30A1E255B44}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\topology">\r
+ <UniqueIdentifier>{F61978A2-275C-CD64-3724-AE5945CB8970}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_blocks_basics\visualisers">\r
+ <UniqueIdentifier>{3BF28565-4A19-23EA-96D6-910B5646D6B9}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core">\r
+ <UniqueIdentifier>{95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\containers">\r
+ <UniqueIdentifier>{0608ADE9-66EF-1A19-6D57-12D07F76EB53}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\files">\r
+ <UniqueIdentifier>{C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\javascript">\r
+ <UniqueIdentifier>{1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\logging">\r
+ <UniqueIdentifier>{C294408A-2005-2E9E-7AC0-8D3ABE8AC175}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\maths">\r
+ <UniqueIdentifier>{476C69CE-0B67-6B85-E888-45D91E37A29E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\memory">\r
+ <UniqueIdentifier>{7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\misc">\r
+ <UniqueIdentifier>{FA891A58-9FDA-9651-43C4-714A19B5D08D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\native">\r
+ <UniqueIdentifier>{C79A4D23-7866-8F3E-AC39-BD68C52A9259}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\network">\r
+ <UniqueIdentifier>{DA0DC4AC-B511-A2D4-199A-C93454D6F114}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\streams">\r
+ <UniqueIdentifier>{91929C6F-7902-B87D-5260-2F6CBF8ACD93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\system">\r
+ <UniqueIdentifier>{4634FFAE-9586-A970-364C-4FDDA635F99F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\text">\r
+ <UniqueIdentifier>{244D11B0-2D68-3C08-A0B7-0D12469BC3AA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\threads">\r
+ <UniqueIdentifier>{05F3DB8A-499C-6ACA-282F-5BF8455A0DE1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\time">\r
+ <UniqueIdentifier>{C9F6D785-BF78-5AA1-B479-111C65397864}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\unit_tests">\r
+ <UniqueIdentifier>{4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\xml">\r
+ <UniqueIdentifier>{F2B2F310-F30F-7166-42A9-9BF9C230DA78}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip">\r
+ <UniqueIdentifier>{F03654BC-34D8-F975-BEA3-750CC2783D23}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_core\zip\zlib">\r
+ <UniqueIdentifier>{585D6A72-C5E7-BCF1-A168-63A40C6B6313}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures">\r
+ <UniqueIdentifier>{928D8FCC-5E00-174B-6538-93E8D75AB396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\app_properties">\r
+ <UniqueIdentifier>{358AEA11-3F96-36AE-7B32-71373B5C5396}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\undomanager">\r
+ <UniqueIdentifier>{3DF036EA-3B80-553B-2494-3AAC835CAE75}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_data_structures\values">\r
+ <UniqueIdentifier>{1988E68A-A964-64CA-0E0C-26FF9BC5176C}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events">\r
+ <UniqueIdentifier>{F2A38F45-6E55-E147-2E52-64A89FDD9D59}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\broadcasters">\r
+ <UniqueIdentifier>{B098BC87-3298-7E6B-12DC-D26C09CDCAED}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\interprocess">\r
+ <UniqueIdentifier>{6322B88F-984A-C3CD-6263-38D7AA49B6EC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\messages">\r
+ <UniqueIdentifier>{6172822C-01A5-E824-12DA-FA43FA934D35}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\native">\r
+ <UniqueIdentifier>{73C1E759-AD90-59A3-942E-2D10FAA29107}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_events\timers">\r
+ <UniqueIdentifier>{41DC3BE3-D629-8A17-C32B-F5B4008B5FAD}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics">\r
+ <UniqueIdentifier>{EE1AE8C3-0908-8F53-A4E5-D930C7C97C26}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\colour">\r
+ <UniqueIdentifier>{4926B3FF-E797-F586-857A-69D9703FA2D1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\contexts">\r
+ <UniqueIdentifier>{EBC65085-3AD5-280C-1A29-2B1683643AA1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\effects">\r
+ <UniqueIdentifier>{E37D25CD-4350-4614-055B-7ABC55E67895}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\fonts">\r
+ <UniqueIdentifier>{26ECA2AF-7368-C6CC-58EF-017ECD1862D0}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\geometry">\r
+ <UniqueIdentifier>{C1A1A236-AB01-173E-96C3-0706BFF93B1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats">\r
+ <UniqueIdentifier>{69E1179D-76EC-26DC-C3E6-6602ED26D783}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\jpglib">\r
+ <UniqueIdentifier>{F27C42E6-CF39-9B72-8CD7-C29CA4ADD43B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\image_formats\pnglib">\r
+ <UniqueIdentifier>{12D20EC8-139C-C2B1-1A66-AC436C48C0A7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\images">\r
+ <UniqueIdentifier>{413F481F-075C-2958-115C-D8268682FCB7}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\native">\r
+ <UniqueIdentifier>{FFC6E1CC-C772-75E6-5087-FB5D4E016799}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_graphics\placement">\r
+ <UniqueIdentifier>{1182303F-ECA3-166D-AC0C-92C5E762CB93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics">\r
+ <UniqueIdentifier>{8E43579F-C185-266D-DD67-F8B95BD80F2F}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\application">\r
+ <UniqueIdentifier>{61712B09-5783-ADFA-2001-5A0C3D7764EB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\buttons">\r
+ <UniqueIdentifier>{C3B2EB8A-1A2F-306F-AA78-3E9D1593788B}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\commands">\r
+ <UniqueIdentifier>{46535B56-3737-2BE8-E3A0-571BCBEB2DA4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\components">\r
+ <UniqueIdentifier>{2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\drawables">\r
+ <UniqueIdentifier>{5A0AA36E-3957-E413-14C6-31CBE15271DF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\filebrowser">\r
+ <UniqueIdentifier>{5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\keyboard">\r
+ <UniqueIdentifier>{A92719C7-70BE-57C4-CE9E-A9BC9DFEB757}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\layout">\r
+ <UniqueIdentifier>{E980FADB-6E3F-B93C-DE02-CE4271C9BA93}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\lookandfeel">\r
+ <UniqueIdentifier>{F408DCA2-D5E2-0A3A-A064-A1D045889BC1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\menus">\r
+ <UniqueIdentifier>{7BCEAB87-62FD-0327-EB5D-679E54EDB9B1}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\misc">\r
+ <UniqueIdentifier>{C2B9505B-27B4-F650-12BD-F477D4BBCBAA}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\mouse">\r
+ <UniqueIdentifier>{796B7886-44A7-34CC-9B95-BF4FB2C7B6F4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\native">\r
+ <UniqueIdentifier>{8A80BA78-D3A8-C0F8-7FFD-61AA028CE852}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\positioning">\r
+ <UniqueIdentifier>{7A53E6F1-1343-33B8-4CA8-1D7B714A0E76}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\properties">\r
+ <UniqueIdentifier>{D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\widgets">\r
+ <UniqueIdentifier>{75F1F352-251A-75E0-D941-8431588F5C1E}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_basics\windows">\r
+ <UniqueIdentifier>{DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra">\r
+ <UniqueIdentifier>{8EC9572F-3CCA-E930-74B6-CB6139DE0E17}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\code_editor">\r
+ <UniqueIdentifier>{C60A6FCA-9462-922E-AD8D-69F10C9049AF}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\documents">\r
+ <UniqueIdentifier>{D56498EE-E354-1F00-5EEE-8CF7944BEAFB}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\embedding">\r
+ <UniqueIdentifier>{61B2920C-494D-D8CB-C0C7-5DBF3D76D164}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\misc">\r
+ <UniqueIdentifier>{66C9B809-8739-A217-C78D-A15D6089B8E3}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_gui_extra\native">\r
+ <UniqueIdentifier>{C413328B-5D81-89EE-F4F3-75752E700DE4}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl">\r
+ <UniqueIdentifier>{639E16C5-DA8B-ADBA-6E24-7B596378EAB2}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\geometry">\r
+ <UniqueIdentifier>{B3141847-8F13-F67D-45B2-E3ECF6E09088}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\native">\r
+ <UniqueIdentifier>{151B49D8-6102-F802-1C07-D59931BC0574}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\opengl">\r
+ <UniqueIdentifier>{2D8D0E19-E676-83EB-38D9-F73500DD6B79}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Modules\juce_opengl\utils">\r
+ <UniqueIdentifier>{9E586194-C056-101C-5311-F2AF5191AC80}</UniqueIdentifier>\r
+ </Filter>\r
+ <Filter Include="Juce Library Code">\r
+ <UniqueIdentifier>{8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61}</UniqueIdentifier>\r
+ </Filter>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\Source\Main.cpp">\r
+ <Filter>BlocksSynth\Source</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_android_OpenSL.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_ios_Audio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreMidi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_Midi.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_WASAPI.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.cpp">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.mm">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitmath.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitreader.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\bitwriter.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\cpu.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\crc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\fixed.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\float.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\format.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\lpc_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\md5.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\memory.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_decoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\stream_encoder_framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\window_flac.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\analysis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\block.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\floor1.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\info.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mapping0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\res0.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\sharedbook.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\synthesis.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisenc.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\vorbisfile.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\bitwise.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\framing.c">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.cpp">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.mm">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.cpp">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.cpp">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_File.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.cpp">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.cpp">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.cpp">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.cpp">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.cpp">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.cpp">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Misc.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_RuntimePermissions.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_android_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_curl_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_CommonFile.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_linux_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Files.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Network.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Strings.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_SystemStats.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_mac_Threads.mm">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_posix_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Files.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Network.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Registry.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\native\juce_win32_Threads.cpp">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\network\juce_URL.cpp">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.cpp">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.cpp">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_String.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.cpp">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.cpp">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\time\juce_Time.cpp">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.cpp">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.cpp">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\adler32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\compress.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\infback.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\uncompr.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.c">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.cpp">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.cpp">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_core\juce_core.mm">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.cpp">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.cpp">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.mm">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.cpp">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.cpp">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.cpp">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_android_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_ios_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_linux_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_mac_MessageManager.mm">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\native\juce_win32_Messaging.cpp">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.cpp">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.cpp">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_events\juce_events.mm">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.cpp">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.cpp">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.cpp">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jccolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcdctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcinit.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcomapi.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcparam.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcprepct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jcsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jctrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapimin.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdapistd.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdatasrc.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcoefct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdcolor.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jddctmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdinput.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmainct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmarker.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmaster.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdmerge.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdphuff.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdpostct.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdsample.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jfdctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctflt.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctfst.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctint.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jidctred.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemmgr.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemnobs.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant1.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jquant2.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jutils.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngerror.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngget.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngmem.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngread.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngrutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngset.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngtrans.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwio.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwrite.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwtran.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngwutil.c">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_GIFLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_JPEGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\image_formats\juce_PNGLoader.cpp">\r
+ <Filter>Juce Modules\juce_graphics\image_formats</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.cpp">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_android_GraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_freetype_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_linux_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_Fonts.mm">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Direct2DGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeface.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_DirectWriteTypeLayout.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\native\juce_win32_Fonts.cpp">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.cpp">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.cpp">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.mm">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_SVGParser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_android_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_UIViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_ios_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Clipboard.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_linux_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_FileChooser.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MainMenu.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_MouseCursor.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_NSViewComponentPeer.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_mac_Windowing.mm">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_DragAndDrop.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_FileChooser.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_win32_Windowing.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.cpp">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.mm">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_android_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_ios_UIViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_linux_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_AppleRemote.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_NSViewComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_WebBrowserComponent.mm">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_ActiveXComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_SystemTrayIcon.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_win32_WebBrowserComponent.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.cpp">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.mm">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.cpp">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.cpp">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.cpp">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.mm">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_blocks_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_data_structures.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_events.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_graphics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_basics.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_gui_extra.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\JuceLibraryCode\juce_opengl.cpp">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClCompile>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\Source\Oscillators.h">\r
+ <Filter>BlocksSynth\Source\Audio</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\Source\Audio.h">\r
+ <Filter>BlocksSynth\Source\Audio</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\Source\MainComponent.h">\r
+ <Filter>BlocksSynth\Source</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_CatmullRomInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Decibels.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_FFT.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_IIRFilter.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LagrangeInterpolator.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_LinearSmoothedValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\effects\juce_Reverb.h">\r
+ <Filter>Juce Modules\juce_audio_basics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiBuffer.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiFile.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiKeyboardState.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessage.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiMessageSequence.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\midi\juce_MidiRPN.h">\r
+ <Filter>Juce Modules\juce_audio_basics\midi</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEInstrument.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEMessages.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPENote.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserBase.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPESynthesiserVoice.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEValue.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZone.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\mpe\juce_MPEZoneLayout.h">\r
+ <Filter>Juce Modules\juce_audio_basics\mpe</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_AudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_BufferingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ChannelRemappingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_IIRFilterAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_MixerAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_PositionableAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ResamplingAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ReverbAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\sources\juce_ToneGeneratorAudioSource.h">\r
+ <Filter>Juce Modules\juce_audio_basics\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h">\r
+ <Filter>Juce Modules\juce_audio_basics\synthesisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
+ <Filter>Juce Modules\juce_audio_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_SystemAudioVolume.h">\r
+ <Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiInput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiMessageCollector.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\midi_io\juce_MidiOutput.h">\r
+ <Filter>Juce Modules\juce_audio_devices\midi_io</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_MidiDataConcatenator.h">\r
+ <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioSourcePlayer.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\sources\juce_AudioTransportSource.h">\r
+ <Filter>Juce Modules\juce_audio_devices\sources</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\juce_audio_devices.h">\r
+ <Filter>Juce Modules\juce_audio_devices</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitmath.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitreader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\bitwriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\cpu.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\crc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\fixed.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\float.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\md5.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\memory.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\stream_encoder_framing.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\private\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\private</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\libFLAC\include\protected\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac\libFLAC\include\protected</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\alloc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\assert.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\callback.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\compat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\endswap.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\export.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\format.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\metadata.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\ordinals.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_decoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\stream_encoder.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\win_utf8_io.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled\res_books_stereo.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\coupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor\floor_books.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\floor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled\res_books_uncoupled.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\books\uncoupled</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\floor_all.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\psych_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\residue_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_8.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_11.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_16.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_22.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_32.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44p51.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_44u.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes\setup_X.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\modes</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\backends.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\bitrate.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codebook.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\codec_internal.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\envelope.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\highlevel.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lookup_data.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lpc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\lsp.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\masking.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\mdct.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\misc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\os.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\psy.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\registry.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\scales.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\smallft.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib\window.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis\libvorbis-1.3.2\lib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\codec.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\config_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\ogg.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\os_types.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisenc.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\vorbisfile.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_AiffAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_CoreAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_FlacAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_LAMEEncoderAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_MP3AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_OggVorbisAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_QuickTimeAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WavAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\codecs\juce_WindowsMediaAudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormat.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatManager.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatReaderSource.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioFormatWriter.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_AudioSubsectionReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_BufferingAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\format\juce_MemoryMappedAudioFormatReader.h">\r
+ <Filter>Juce Modules\juce_audio_formats\format</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\sampler\juce_Sampler.h">\r
+ <Filter>Juce Modules\juce_audio_formats\sampler</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h">\r
+ <Filter>Juce Modules\juce_audio_formats</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_Block.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_ControlButton.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDGrid.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_LEDRow.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_StatusLight.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchList.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\blocks\juce_TouchSurface.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\blocks</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootCompiler.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRemoteHeap.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\juce_LittleFootRunner.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BitPackingUtilities.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlockModels.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_BlocksProtocolDefinitions.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketBuilder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\juce_HostPacketDecoder.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_PhysicalTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_RuleBasedTopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_Topology.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\topology\juce_TopologySource.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\topology</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_BitmapLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\visualisers\juce_DrumPadLEDProgram.h">\r
+ <Filter>Juce Modules\juce_blocks_basics\visualisers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_blocks_basics\juce_blocks_basics.h">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Array.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ArrayAllocationBase.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_DynamicObject.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ElementComparator.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_HashMap.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_LinkedListPointer.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ListenerList.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_NamedValueSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_OwnedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_PropertySet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ReferenceCountedArray.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_ScopedValueSetter.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SortedSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_SparseSet.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\containers\juce_Variant.h">\r
+ <Filter>Juce Modules\juce_core\containers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_DirectoryIterator.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_File.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileInputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_FileSearchPath.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_MemoryMappedFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_TemporaryFile.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\files\juce_WildcardFileFilter.h">\r
+ <Filter>Juce Modules\juce_core\files</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_Javascript.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\javascript\juce_JSON.h">\r
+ <Filter>Juce Modules\juce_core\javascript</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_FileLogger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\logging\juce_Logger.h">\r
+ <Filter>Juce Modules\juce_core\logging</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_BigInteger.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Expression.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_MathsFunctions.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_NormalisableRange.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Random.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_Range.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\maths\juce_StatisticsAccumulator.h">\r
+ <Filter>Juce Modules\juce_core\maths</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Atomic.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ByteOrder.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ContainerDeletePolicy.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_HeapBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_LeakedObjectDetector.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Memory.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_MemoryBlock.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_OptionalScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ReferenceCountedObject.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_ScopedPointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_SharedResourcePointer.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_Singleton.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\memory\juce_WeakReference.h">\r
+ <Filter>Juce Modules\juce_core\memory</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Result.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_RuntimePermissions.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_Uuid.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\misc\juce_WindowsRegistry.h">\r
+ <Filter>Juce Modules\juce_core\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_android_JNIHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_BasicNativeHeaders.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_mac_ClangBugWorkaround.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_osx_ObjCHelpers.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_posix_SharedCode.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\native\juce_win32_ComSmartPtr.h">\r
+ <Filter>Juce Modules\juce_core\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_IPAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_MACAddress.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_NamedPipe.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_Socket.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\network\juce_URL.h">\r
+ <Filter>Juce Modules\juce_core\network</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_BufferedInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_FileInputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputSource.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_InputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryInputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_MemoryOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_OutputStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\streams\juce_SubregionStream.h">\r
+ <Filter>Juce Modules\juce_core\streams</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_CompilerSupport.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_PlatformDefs.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_StandardHeader.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_SystemStats.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\system\juce_TargetPlatform.h">\r
+ <Filter>Juce Modules\juce_core\system</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Base64.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharacterFunctions.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_ASCII.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF8.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF16.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_CharPointer_UTF32.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_Identifier.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_LocalisedStrings.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_NewLine.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_String.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPairArray.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringPool.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_StringRef.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\text\juce_TextDiff.h">\r
+ <Filter>Juce Modules\juce_core\text</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ChildProcess.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_CriticalSection.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_DynamicLibrary.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_HighResolutionTimer.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_InterProcessLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Process.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ReadWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedReadLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ScopedWriteLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_SpinLock.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_Thread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadLocalValue.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_ThreadPool.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_TimeSliceThread.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\threads\juce_WaitableEvent.h">\r
+ <Filter>Juce Modules\juce_core\threads</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_PerformanceCounter.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_RelativeTime.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\time\juce_Time.h">\r
+ <Filter>Juce Modules\juce_core\time</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\unit_tests\juce_UnitTest.h">\r
+ <Filter>Juce Modules\juce_core\unit_tests</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlDocument.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\xml\juce_XmlElement.h">\r
+ <Filter>Juce Modules\juce_core\xml</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\crc32.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\deflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffast.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inffixed.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inflate.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\inftrees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\trees.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zconf.in.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zlib.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\zlib\zutil.h">\r
+ <Filter>Juce Modules\juce_core\zip\zlib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPCompressorOutputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_GZIPDecompressorInputStream.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\zip\juce_ZipFile.h">\r
+ <Filter>Juce Modules\juce_core\zip</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_core\juce_core.h">\r
+ <Filter>Juce Modules\juce_core</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_ApplicationProperties.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\app_properties\juce_PropertiesFile.h">\r
+ <Filter>Juce Modules\juce_data_structures\app_properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoableAction.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\undomanager\juce_UndoManager.h">\r
+ <Filter>Juce Modules\juce_data_structures\undomanager</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_CachedValue.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_Value.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTree.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\values\juce_ValueTreeSynchroniser.h">\r
+ <Filter>Juce Modules\juce_data_structures\values</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_data_structures\juce_data_structures.h">\r
+ <Filter>Juce Modules\juce_data_structures</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ActionListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_AsyncUpdater.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeBroadcaster.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\broadcasters\juce_ChangeListener.h">\r
+ <Filter>Juce Modules\juce_events\broadcasters</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_ConnectedChildProcess.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnection.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\interprocess\juce_InterprocessConnectionServer.h">\r
+ <Filter>Juce Modules\juce_events\interprocess</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_ApplicationBase.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_CallbackMessage.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_DeletedAtShutdown.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Initialisation.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_Message.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageListener.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MessageManager.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_MountedVolumeListChangeDetector.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\messages\juce_NotificationType.h">\r
+ <Filter>Juce Modules\juce_events\messages</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_osx_MessageQueue.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_ScopedXLock.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\native\juce_win32_HiddenMessageWindow.h">\r
+ <Filter>Juce Modules\juce_events\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_MultiTimer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\timers\juce_Timer.h">\r
+ <Filter>Juce Modules\juce_events\timers</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_events\juce_events.h">\r
+ <Filter>Juce Modules\juce_events</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colour.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_ColourGradient.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_Colours.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_FillType.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\colour\juce_PixelFormats.h">\r
+ <Filter>Juce Modules\juce_graphics\colour</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_GraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsPostScriptRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\contexts\juce_LowLevelGraphicsSoftwareRenderer.h">\r
+ <Filter>Juce Modules\juce_graphics\contexts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_DropShadowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_GlowEffect.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\effects\juce_ImageEffectFilter.h">\r
+ <Filter>Juce Modules\juce_graphics\effects</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_AttributedString.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_CustomTypeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Font.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_GlyphArrangement.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_TextLayout.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\fonts\juce_Typeface.h">\r
+ <Filter>Juce Modules\juce_graphics\fonts</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_AffineTransform.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_BorderSize.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_EdgeTable.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Line.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Path.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathIterator.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_PathStrokeType.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Point.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_Rectangle.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\geometry\juce_RectangleList.h">\r
+ <Filter>Juce Modules\juce_graphics\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\cderror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jchuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jconfig.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jdhuff.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jerror.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jinclude.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmemsys.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jmorecfg.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpegint.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jpeglib.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\jversion.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\transupp.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\png.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngconf.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pnginfo.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngpriv.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\pngstruct.h">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_Image.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageCache.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageConvolutionKernel.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\images\juce_ImageFileFormat.h">\r
+ <Filter>Juce Modules\juce_graphics\images</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_mac_CoreGraphicsHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\native\juce_RenderingHelpers.h">\r
+ <Filter>Juce Modules\juce_graphics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_Justification.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\placement\juce_RectanglePlacement.h">\r
+ <Filter>Juce Modules\juce_graphics\placement</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_graphics\juce_graphics.h">\r
+ <Filter>Juce Modules\juce_graphics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\application\juce_Application.h">\r
+ <Filter>Juce Modules\juce_gui_basics\application</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ArrowButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_Button.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_DrawableButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_HyperlinkButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ImageButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ShapeButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_TextButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToggleButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\buttons\juce_ToolbarButton.h">\r
+ <Filter>Juce Modules\juce_gui_basics\buttons</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandID.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandInfo.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_ApplicationCommandTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\commands\juce_KeyPressMappingSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\commands</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_CachedComponentImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Component.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ComponentListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_Desktop.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\components\juce_ModalComponentManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\components</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_Drawable.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableComposite.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableImage.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawablePath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableShape.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\drawables\juce_DrawableText.h">\r
+ <Filter>Juce Modules\juce_gui_basics\drawables</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsDisplayComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_DirectoryContentsList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileBrowserListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileChooserDialogBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilenameComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FilePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileSearchPathListComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_FileTreeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\filebrowser\juce_ImagePreviewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\filebrowser</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_CaretComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyboardFocusTraverser.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_KeyPress.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_ModifierKeys.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_SystemClipboard.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextEditorKeyMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\keyboard\juce_TextInputTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\keyboard</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPosition.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_AnimatedPositionBehaviours.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentAnimator.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBoundsConstrainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentBuilder.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ComponentMovementWatcher.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ConcertinaPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_FlexItem.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_GroupComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_MultiDocumentPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableBorderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableCornerComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ResizableEdgeComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_ScrollBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutManager.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableLayoutResizerBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_StretchableObjectResizer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedButtonBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_TabbedComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\layout\juce_Viewport.h">\r
+ <Filter>Juce Modules\juce_gui_basics\layout</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V1.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V2.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\lookandfeel\juce_LookAndFeel_V3.h">\r
+ <Filter>Juce Modules\juce_gui_basics\lookandfeel</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_MenuBarModel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\menus\juce_PopupMenu.h">\r
+ <Filter>Juce Modules\juce_gui_basics\menus</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_BubbleComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\misc\juce_DropShadower.h">\r
+ <Filter>Juce Modules\juce_gui_basics\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_ComponentDragger.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropContainer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_DragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_FileDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_LassoComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseCursor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseEvent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInactivityDetector.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseInputSource.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_MouseListener.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_SelectedItemSet.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TextDragAndDropTarget.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\mouse\juce_TooltipClient.h">\r
+ <Filter>Juce Modules\juce_gui_basics\mouse</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\native\juce_MultiTouchMapper.h">\r
+ <Filter>Juce Modules\juce_gui_basics\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_MarkerList.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinate.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeCoordinatePositioner.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeParallelogram.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePoint.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativePointPath.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\positioning\juce_RelativeRectangle.h">\r
+ <Filter>Juce Modules\juce_gui_basics\positioning</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_BooleanPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ButtonPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_ChoicePropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_PropertyPanel.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_SliderPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\properties\juce_TextPropertyComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\properties</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ComboBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ImageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Label.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ProgressBar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Slider.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableHeaderComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TableListBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TextEditor.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_Toolbar.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemComponent.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemFactory.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_ToolbarItemPalette.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\widgets\juce_TreeView.h">\r
+ <Filter>Juce Modules\juce_gui_basics\widgets</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_AlertWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_CallOutBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ComponentPeer.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DialogWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_DocumentWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_NativeMessageBox.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ResizableWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_ThreadWithProgressWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TooltipWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\windows\juce_TopLevelWindow.h">\r
+ <Filter>Juce Modules\juce_gui_basics\windows</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_basics\juce_gui_basics.h">\r
+ <Filter>Juce Modules\juce_gui_basics</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_CPlusPlusCodeTokeniserFunctions.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_LuaCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\code_editor\juce_XMLCodeTokeniser.h">\r
+ <Filter>Juce Modules\juce_gui_extra\code_editor</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\documents\juce_FileBasedDocument.h">\r
+ <Filter>Juce Modules\juce_gui_extra\documents</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_ActiveXControlComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_NSViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\embedding\juce_UIViewComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\embedding</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AnimatedAppComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_AppleRemote.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_BubbleMessageComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_ColourSelector.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_KeyMappingEditorComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_LiveConstantEditor.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_PreferencesPanel.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_RecentlyOpenedFilesList.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SplashScreen.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_SystemTrayIconComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\misc\juce_WebBrowserComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\misc</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\native\juce_mac_CarbonViewWrapperComponent.h">\r
+ <Filter>Juce Modules\juce_gui_extra\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_gui_extra\juce_gui_extra.h">\r
+ <Filter>Juce Modules\juce_gui_extra</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Draggable3DOrientation.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Matrix3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Quaternion.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\geometry\juce_Vector3D.h">\r
+ <Filter>Juce Modules\juce_opengl\geometry</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_MissingGLDefinitions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_android.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_ios.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_linux.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_osx.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGL_win32.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\native\juce_OpenGLExtensions.h">\r
+ <Filter>Juce Modules\juce_opengl\native</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLFrameBuffer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLGraphicsContext.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLHelpers.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLImage.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLPixelFormat.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLRenderer.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLShaderProgram.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\opengl\juce_OpenGLTexture.h">\r
+ <Filter>Juce Modules\juce_opengl\opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\utils\juce_OpenGLAppComponent.h">\r
+ <Filter>Juce Modules\juce_opengl\utils</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_opengl\juce_opengl.h">\r
+ <Filter>Juce Modules\juce_opengl</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\AppConfig.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ClInclude>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\flac</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt">\r
+ <Filter>Juce Modules\juce_audio_formats\codecs\oggvorbis</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\littlefoot\LittleFoot Language README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\littlefoot</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\protocol\Protocol Format.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics\protocol</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_blocks_basics\README.txt">\r
+ <Filter>Juce Modules\juce_blocks_basics</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\jpglib</Filter>\r
+ </None>\r
+ <None Include="..\..\..\..\..\modules\juce_graphics\image_formats\pnglib\libpng_readme.txt">\r
+ <Filter>Juce Modules\juce_graphics\image_formats\pnglib</Filter>\r
+ </None>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ResourceCompile Include=".\resources.rc">\r
+ <Filter>Juce Library Code</Filter>\r
+ </ResourceCompile>\r
+ </ItemGroup>\r
+</Project>\r
--- /dev/null
+#ifdef JUCE_USER_DEFINED_RC_FILE\r
+ #include JUCE_USER_DEFINED_RC_FILE\r
+#else\r
+\r
+#undef WIN32_LEAN_AND_MEAN\r
+#define WIN32_LEAN_AND_MEAN\r
+#include <windows.h>\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+FILEVERSION 1,0,0,0\r
+BEGIN\r
+ BLOCK "StringFileInfo"\r
+ BEGIN\r
+ BLOCK "040904E4"\r
+ BEGIN\r
+ VALUE "FileDescription", "BlocksSynth\0"\r
+ VALUE "FileVersion", "1.0.0\0"\r
+ VALUE "ProductName", "BlocksSynth\0"\r
+ VALUE "ProductVersion", "1.0.0\0"\r
+ END\r
+ END\r
+\r
+ BLOCK "VarFileInfo"\r
+ BEGIN\r
+ VALUE "Translation", 0x409, 1252\r
+ END\r
+END\r
+\r
+#endif\r
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 0112FC2B7A664C27E8F9941D /* juce_opengl.mm in Sources */ = {isa = PBXBuildFile; fileRef = 231FA43EA6BDD60E2E5D682E /* juce_opengl.mm */; };
+ 03889D80A76102BB72F53888 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB8E624C28BB20096959B5C9 /* Foundation.framework */; };
+ 0579DDF4B03255527CD92BF9 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC52ED2250DAF9085E67628 /* CoreGraphics.framework */; };
+ 221901C4077F389C16EE6FE1 /* juce_graphics.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7038FD73A5F7527FB76E987E /* juce_graphics.mm */; };
+ 268110CDBB2C5560CE1935AB /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0FD9AE627E98FA0C1EC3C163 /* OpenGLES.framework */; };
+ 35E0967364383B7202CB3A01 /* juce_gui_extra.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E85944AC4191910EE758B99 /* juce_gui_extra.mm */; };
+ 36CA4CF2E34082660F108708 /* juce_data_structures.mm in Sources */ = {isa = PBXBuildFile; fileRef = 17544537ED6A83CB6C3F3201 /* juce_data_structures.mm */; };
+ 3B23FB9BAAEB77AA64AD037B /* Audio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 110B6CE01796C1C6DF0DECAE /* Audio.cpp */; };
+ 535851B45E7D80B53ABB689D /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3AD07BBECD1E70E5F3F40BD /* AudioToolbox.framework */; };
+ 5CC0AE888A8B9CF85C8C1077 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 42747FC2DD3F362950112EFA /* CoreMIDI.framework */; };
+ 646AAFCDA0A0620699614BB7 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E0B3C73D7F3BC93AC8164C1B /* AVFoundation.framework */; };
+ 657E06CA14EC10A4744D5DEB /* MainComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 77EAC0B282DEA3227F3F03B1 /* MainComponent.cpp */; };
+ 8492CFCDEC3C8BC7E679D597 /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D98771DCE827466B36D51AF8 /* Main.cpp */; };
+ 8708D4FDEA2E44838FF56AF7 /* juce_audio_basics.mm in Sources */ = {isa = PBXBuildFile; fileRef = DD58AB0C80AB9D0B6850983D /* juce_audio_basics.mm */; };
+ 8A93A3EB39E14A2887A12CF9 /* juce_gui_basics.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABFE23A312B6421D3E21ADC8 /* juce_gui_basics.mm */; };
+ 9097F21A6491C4C4ABA3185F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 70426BCCD5E978424B32AC8B /* Images.xcassets */; };
+ 90AB9198E92ADD84AFB8EFD6 /* juce_events.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8EF4F0D964C0ECA2E058F7DC /* juce_events.mm */; };
+ 96CFB8DAD7FFF76D2E317495 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EB91C5FFE88DF5CFF947669D /* Accelerate.framework */; };
+ A6C2383A9E41C6C0492FBD71 /* juce_core.mm in Sources */ = {isa = PBXBuildFile; fileRef = B0B1C0956FEDCBF2AF19CA6B /* juce_core.mm */; };
+ AE46B38D70B347166EEA3112 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACC89760CF09AB1EB06AD52B /* UIKit.framework */; };
+ BDD9B6E13096A4F929CDF0C7 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A72A10DC2BCD29B4A801D40 /* CoreText.framework */; };
+ BF6FA2A2A66FBBB7C0C82551 /* juce_blocks_basics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A40D3E3FFBEC78F04EE0DE5A /* juce_blocks_basics.cpp */; };
+ BFF81A843FE6013A9D16AA34 /* juce_audio_formats.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1CDDE683A9D3D00182334F0 /* juce_audio_formats.mm */; };
+ C04A639A8ABC44749B49ED36 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CBA6A8FCB0795C89183A8E71 /* CoreAudio.framework */; };
+ DD6F640B22B1E254A30D23A3 /* juce_audio_devices.mm in Sources */ = {isa = PBXBuildFile; fileRef = AF5F2E4B8A7F1B9A507D043C /* juce_audio_devices.mm */; };
+ DEE7F200E0ABCA5F551B8BC8 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67663D2E66C7F1C1B6BD6392 /* QuartzCore.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 001CEF1BC67328BA0A561A06 /* juce_AudioFormatReaderSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormatReaderSource.h; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h; sourceTree = SOURCE_ROOT; };
+ 003F5B441682BA631DDF3AC3 /* juce_ValueTreeSynchroniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ValueTreeSynchroniser.h; path = ../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h; sourceTree = SOURCE_ROOT; };
+ 0072E9EDE9A531ABF573D6A1 /* juce_AppleRemote.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AppleRemote.h; path = ../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h; sourceTree = SOURCE_ROOT; };
+ 007B1F3B503C7D7F4744BA43 /* juce_ArrowButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ArrowButton.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h; sourceTree = SOURCE_ROOT; };
+ 00AFB2ECABC5FF5015B0DF6C /* juce_ToggleButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToggleButton.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h; sourceTree = SOURCE_ROOT; };
+ 0112674271470DAC194D36F7 /* juce_KeyListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyListener.h; path = ../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h; sourceTree = SOURCE_ROOT; };
+ 014DEEB53672D7474B219518 /* README.txt */ = {isa = PBXFileReference; lastKnownFileType = text.txt; name = README.txt; path = ../../../../../modules/juce_blocks_basics/README.txt; sourceTree = SOURCE_ROOT; };
+ 015F1290D2CFD4A244E60AC0 /* juce_TextLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextLayout.h; path = ../../../../../modules/juce_graphics/fonts/juce_TextLayout.h; sourceTree = SOURCE_ROOT; };
+ 016076F4D43D15D063A73530 /* juce_MemoryInputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryInputStream.h; path = ../../../../../modules/juce_core/streams/juce_MemoryInputStream.h; sourceTree = SOURCE_ROOT; };
+ 016588BDC792CF429E174F41 /* juce_ApplicationCommandTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationCommandTarget.h; path = ../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h; sourceTree = SOURCE_ROOT; };
+ 01A60EB1D681DDDB424C6C65 /* inftrees.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = ../../../../../modules/juce_core/zip/zlib/inftrees.h; sourceTree = SOURCE_ROOT; };
+ 01D383BCF77D7704F896259D /* juce_MemoryBlock.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MemoryBlock.cpp; path = ../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp; sourceTree = SOURCE_ROOT; };
+ 01D74B926C822FA65B778B9A /* juce_android_Network.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Network.cpp; path = ../../../../../modules/juce_core/native/juce_android_Network.cpp; sourceTree = SOURCE_ROOT; };
+ 01E8CC333D1A9910A72DF28D /* juce_MP3AudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MP3AudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h; sourceTree = SOURCE_ROOT; };
+ 029B264C757780A8CD505C1E /* juce_RuntimePermissions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RuntimePermissions.h; path = ../../../../../modules/juce_core/misc/juce_RuntimePermissions.h; sourceTree = SOURCE_ROOT; };
+ 02A336F8CDC439485DC73DD0 /* juce_MixerAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MixerAudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h; sourceTree = SOURCE_ROOT; };
+ 03130BDC25B905B277B0B227 /* lpc_flac.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc_flac.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c; sourceTree = SOURCE_ROOT; };
+ 0353708CD8C613C0F5D9081D /* juce_CallOutBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CallOutBox.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp; sourceTree = SOURCE_ROOT; };
+ 036FADA1493FCEA443F6BD31 /* juce_OpenGLFrameBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLFrameBuffer.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h; sourceTree = SOURCE_ROOT; };
+ 037C9C0E1723E94B95CD1913 /* juce_TimeSliceThread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TimeSliceThread.h; path = ../../../../../modules/juce_core/threads/juce_TimeSliceThread.h; sourceTree = SOURCE_ROOT; };
+ 0394E57BC8D292BA4F34C748 /* jdct.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h; sourceTree = SOURCE_ROOT; };
+ 03B238D422D95970A3A834EC /* juce_PropertiesFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PropertiesFile.cpp; path = ../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp; sourceTree = SOURCE_ROOT; };
+ 03BD89526E26A670AE63B364 /* juce_PathIterator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PathIterator.cpp; path = ../../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp; sourceTree = SOURCE_ROOT; };
+ 03D95B05B6B6219344A8A5D7 /* juce_MultiDocumentPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MultiDocumentPanel.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp; sourceTree = SOURCE_ROOT; };
+ 03E5101ED7B3FD06AE564F67 /* juce_CachedValue.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CachedValue.cpp; path = ../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp; sourceTree = SOURCE_ROOT; };
+ 045387853469E755B6DD741C /* juce_LeakedObjectDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LeakedObjectDetector.h; path = ../../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h; sourceTree = SOURCE_ROOT; };
+ 047EB8514054BDBED92A4D65 /* juce_ModifierKeys.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ModifierKeys.h; path = ../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h; sourceTree = SOURCE_ROOT; };
+ 0501056AA00F05DCCC93B577 /* jdcolor.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c; sourceTree = SOURCE_ROOT; };
+ 05201B7662BC062EA0347E8E /* juce_audio_basics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_audio_basics.h; path = ../../../../../modules/juce_audio_basics/juce_audio_basics.h; sourceTree = SOURCE_ROOT; };
+ 0522ECF89AFDFE087301B50B /* juce_FlexItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FlexItem.h; path = ../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h; sourceTree = SOURCE_ROOT; };
+ 05C5166291508D65E4DE1C7F /* juce_SharedResourcePointer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SharedResourcePointer.h; path = ../../../../../modules/juce_core/memory/juce_SharedResourcePointer.h; sourceTree = SOURCE_ROOT; };
+ 05D530D67D2893ADAD43AA46 /* juce_Memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Memory.h; path = ../../../../../modules/juce_core/memory/juce_Memory.h; sourceTree = SOURCE_ROOT; };
+ 05F31583615DF3401FCF6EDC /* juce_ImageEffectFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageEffectFilter.h; path = ../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h; sourceTree = SOURCE_ROOT; };
+ 0608AD5F887B0DAB247A0169 /* juce_ImageConvolutionKernel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageConvolutionKernel.h; path = ../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h; sourceTree = SOURCE_ROOT; };
+ 06345AE1675306ACD324B59F /* juce_ActionBroadcaster.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ActionBroadcaster.h; path = ../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h; sourceTree = SOURCE_ROOT; };
+ 07176F08AA96CA742FABF32C /* juce_ComponentBoundsConstrainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentBoundsConstrainer.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp; sourceTree = SOURCE_ROOT; };
+ 073C36AC9C06770D84781B70 /* juce_mac_SystemStats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_SystemStats.mm; path = ../../../../../modules/juce_core/native/juce_mac_SystemStats.mm; sourceTree = SOURCE_ROOT; };
+ 07B3D9344EFFDC5DFE383519 /* juce_win32_DirectSound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectSound.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp; sourceTree = SOURCE_ROOT; };
+ 07D9DF1A2D9CA38CB2F08E7E /* juce_Line.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Line.h; path = ../../../../../modules/juce_graphics/geometry/juce_Line.h; sourceTree = SOURCE_ROOT; };
+ 083B9BAE399C7621EABFD0DC /* juce_BooleanPropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BooleanPropertyComponent.cpp; path = ../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 08E918530A1D5F37DC05B5DD /* juce_LinkedListPointer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LinkedListPointer.h; path = ../../../../../modules/juce_core/containers/juce_LinkedListPointer.h; sourceTree = SOURCE_ROOT; };
+ 093EAF4BA57F6552E2C377B8 /* assert.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/assert.h; sourceTree = SOURCE_ROOT; };
+ 09901BD8E4BF85BA33E43AC4 /* juce_android_Windowing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Windowing.cpp; path = ../../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp; sourceTree = SOURCE_ROOT; };
+ 099F6F87C4D05FF49A7E3C2C /* juce_OpenGLHelpers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLHelpers.cpp; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp; sourceTree = SOURCE_ROOT; };
+ 09A20E48B6DDCF89C3BA52B5 /* lookup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = SOURCE_ROOT; };
+ 0A2C851155CE6975BA22C5B9 /* jquant1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c; sourceTree = SOURCE_ROOT; };
+ 0A72A10DC2BCD29B4A801D40 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; };
+ 0A99DEEFD614DE832C7EF6BB /* juce_IPAddress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_IPAddress.h; path = ../../../../../modules/juce_core/network/juce_IPAddress.h; sourceTree = SOURCE_ROOT; };
+ 0AA288FCCF1342C4947F5FD6 /* format.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h; sourceTree = SOURCE_ROOT; };
+ 0ACB19FBE5DEAB16B5FE56B9 /* juce_GZIPCompressorOutputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GZIPCompressorOutputStream.cpp; path = ../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp; sourceTree = SOURCE_ROOT; };
+ 0C368BF5435A155B2CEBF4DE /* inffast.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = ../../../../../modules/juce_core/zip/zlib/inffast.c; sourceTree = SOURCE_ROOT; };
+ 0C39EABAF7EE4C2F8C7D6D71 /* juce_EdgeTable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_EdgeTable.h; path = ../../../../../modules/juce_graphics/geometry/juce_EdgeTable.h; sourceTree = SOURCE_ROOT; };
+ 0CABBB44D28EDBD36D8E4B87 /* vorbisenc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = SOURCE_ROOT; };
+ 0CC672620B96382CF715F134 /* juce_ChildProcess.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChildProcess.h; path = ../../../../../modules/juce_core/threads/juce_ChildProcess.h; sourceTree = SOURCE_ROOT; };
+ 0D0667D008F7C834DC045F87 /* juce_AnimatedPosition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AnimatedPosition.h; path = ../../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h; sourceTree = SOURCE_ROOT; };
+ 0D197638970189B7FC7EF613 /* juce_FilenameComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FilenameComponent.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h; sourceTree = SOURCE_ROOT; };
+ 0D9243B5198B9D61504F7ED5 /* juce_BufferingAudioFormatReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BufferingAudioFormatReader.h; path = ../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h; sourceTree = SOURCE_ROOT; };
+ 0D9ED7566FF0B245CCB60C50 /* juce_StretchableLayoutManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StretchableLayoutManager.h; path = ../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h; sourceTree = SOURCE_ROOT; };
+ 0DF05CB01EC7CAE5299DCB5E /* juce_AudioFormatManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormatManager.cpp; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp; sourceTree = SOURCE_ROOT; };
+ 0DF9EA0A64F07528C65C2623 /* juce_ResizableCornerComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResizableCornerComponent.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 0E2AB1720BB6F9EB7E91279B /* jdatasrc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c; sourceTree = SOURCE_ROOT; };
+ 0E2BE57E047E0F1EC2BF9880 /* juce_Toolbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Toolbar.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp; sourceTree = SOURCE_ROOT; };
+ 0E36301F694447E2DE1A780C /* Info-App.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-App.plist"; sourceTree = SOURCE_ROOT; };
+ 0E8C76CFF33AC2608DE25A16 /* setup_44p51.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_44p51.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = SOURCE_ROOT; };
+ 0EC6923BA8DD0A685E54F725 /* jdtrans.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c; sourceTree = SOURCE_ROOT; };
+ 0EDF75F8D489F87A668EA9D5 /* res_books_51.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = res_books_51.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = SOURCE_ROOT; };
+ 0EEC4F43BAD1FD5DD3503BAF /* juce_Atomic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Atomic.h; path = ../../../../../modules/juce_core/memory/juce_Atomic.h; sourceTree = SOURCE_ROOT; };
+ 0EECE5A38949D03C48FA6727 /* juce_ios_Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ios_Audio.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp; sourceTree = SOURCE_ROOT; };
+ 0F5134388D55D439AA3B66B8 /* juce_mac_Network.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Network.mm; path = ../../../../../modules/juce_core/native/juce_mac_Network.mm; sourceTree = SOURCE_ROOT; };
+ 0FD9AE627E98FA0C1EC3C163 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
+ 0FE96D4C83E1846EE628D57F /* juce_opengl.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_opengl.mm; path = ../../../../../modules/juce_opengl/juce_opengl.mm; sourceTree = SOURCE_ROOT; };
+ 100828DA91AC6887A22A621A /* jidctred.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctred.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jidctred.c; sourceTree = SOURCE_ROOT; };
+ 100E8BF90F31D1E045AF1755 /* smallft.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = SOURCE_ROOT; };
+ 110B6CE01796C1C6DF0DECAE /* Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Audio.cpp; path = ../../Source/Audio.cpp; sourceTree = SOURCE_ROOT; };
+ 110E2D4DFEF9D028905A9127 /* juce_FileInputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileInputStream.cpp; path = ../../../../../modules/juce_core/files/juce_FileInputStream.cpp; sourceTree = SOURCE_ROOT; };
+ 11535233EB65A31CB9A1C84C /* deflate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = ../../../../../modules/juce_core/zip/zlib/deflate.h; sourceTree = SOURCE_ROOT; };
+ 116D8F769D93B11A66D4F7E4 /* juce_AudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 1177C66130BC8F6B57308A18 /* juce_DrumPadLEDProgram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrumPadLEDProgram.h; path = ../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.h; sourceTree = SOURCE_ROOT; };
+ 119E392B5554CFFE8416EA5E /* juce_DrawableShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableShape.h; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h; sourceTree = SOURCE_ROOT; };
+ 11BB8490A209BD313ED39DAE /* jfdctfst.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c; sourceTree = SOURCE_ROOT; };
+ 125D60706A72F35D9D6CB3FE /* juce_CallbackMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CallbackMessage.h; path = ../../../../../modules/juce_events/messages/juce_CallbackMessage.h; sourceTree = SOURCE_ROOT; };
+ 12748EFBC072636CB555FEED /* juce_RelativeCoordinatePositioner.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeCoordinatePositioner.cpp; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp; sourceTree = SOURCE_ROOT; };
+ 12ACF9469751D8A6D9D90E53 /* juce_MidiBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiBuffer.cpp; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp; sourceTree = SOURCE_ROOT; };
+ 12EFD54DC8E9CC723BEBE172 /* juce_Font.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Font.h; path = ../../../../../modules/juce_graphics/fonts/juce_Font.h; sourceTree = SOURCE_ROOT; };
+ 130A891678CD13F5B8F813A4 /* juce_ResizableWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResizableWindow.h; path = ../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h; sourceTree = SOURCE_ROOT; };
+ 1358B9554210B5D0242C1BA3 /* juce_LAMEEncoderAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LAMEEncoderAudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h; sourceTree = SOURCE_ROOT; };
+ 137EDFA7BC30E6EEFF2A2C04 /* juce_ToolbarItemPalette.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToolbarItemPalette.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h; sourceTree = SOURCE_ROOT; };
+ 13B6344205397F546400A40B /* juce_MPENote.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPENote.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp; sourceTree = SOURCE_ROOT; };
+ 13F2E257D9546C430FAD9DD5 /* juce_NamedPipe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NamedPipe.h; path = ../../../../../modules/juce_core/network/juce_NamedPipe.h; sourceTree = SOURCE_ROOT; };
+ 1414F1FC8B43992F623E2FD2 /* juce_win32_ActiveXComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_ActiveXComponent.cpp; path = ../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 1418A6F2476A59D58CB4D5A6 /* juce_audio_devices.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_audio_devices.h; path = ../../../../../modules/juce_audio_devices/juce_audio_devices.h; sourceTree = SOURCE_ROOT; };
+ 1446DDFD289F734BFE1861BD /* juce_MouseInactivityDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseInactivityDetector.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h; sourceTree = SOURCE_ROOT; };
+ 1469F0FEBE09579AE2256553 /* all.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h; sourceTree = SOURCE_ROOT; };
+ 149DD0517AA814294C0A8C70 /* juce_OpenGLHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLHelpers.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h; sourceTree = SOURCE_ROOT; };
+ 14B0A23846DEF4981EB6CD1A /* juce_GraphicsContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GraphicsContext.cpp; path = ../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp; sourceTree = SOURCE_ROOT; };
+ 14C3BD49C3F262D8449A6D89 /* juce_ChildProcess.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ChildProcess.cpp; path = ../../../../../modules/juce_core/threads/juce_ChildProcess.cpp; sourceTree = SOURCE_ROOT; };
+ 14CD2D0EE13A7D3289EBBC86 /* Audio.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Audio.h; path = ../../Source/Audio.h; sourceTree = SOURCE_ROOT; };
+ 156A9CB51E86FFCA164A77F2 /* cpu.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c; sourceTree = SOURCE_ROOT; };
+ 15945B1F63EE00FE6BCD61F0 /* juce_StretchableObjectResizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StretchableObjectResizer.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp; sourceTree = SOURCE_ROOT; };
+ 160EA3FBA3A8D5CD53C381F5 /* juce_AudioIODevice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioIODevice.h; path = ../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h; sourceTree = SOURCE_ROOT; };
+ 16457C02C3262323921CA12E /* juce_AudioSubsectionReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioSubsectionReader.cpp; path = ../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp; sourceTree = SOURCE_ROOT; };
+ 170160056630E4035117107E /* juce_TimeSliceThread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TimeSliceThread.cpp; path = ../../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp; sourceTree = SOURCE_ROOT; };
+ 173848000A992F19AC7AE30C /* juce_linux_ALSA.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_ALSA.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp; sourceTree = SOURCE_ROOT; };
+ 174DCEEB1F0A9CC69F671E41 /* mdct.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = SOURCE_ROOT; };
+ 1751F5BA57A88D8A20248EAB /* juce_ToolbarButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToolbarButton.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h; sourceTree = SOURCE_ROOT; };
+ 17544537ED6A83CB6C3F3201 /* juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_data_structures.mm; path = ../../JuceLibraryCode/juce_data_structures.mm; sourceTree = SOURCE_ROOT; };
+ 17889DFA6CEB679211FF3389 /* pngstruct.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h; sourceTree = SOURCE_ROOT; };
+ 17A9AAC14945D24CB26659AD /* masking.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = SOURCE_ROOT; };
+ 182BED30B1F7A3E20AF7C41E /* juce_DrawableShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableShape.cpp; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp; sourceTree = SOURCE_ROOT; };
+ 188EAA1BD57F1209B23F6903 /* window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h; sourceTree = SOURCE_ROOT; };
+ 189CE0561DF5910DAF13D22B /* juce_TooltipWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TooltipWindow.h; path = ../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h; sourceTree = SOURCE_ROOT; };
+ 18D12ABCC228BF8EB5D22ACC /* envelope.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = envelope.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.c"; sourceTree = SOURCE_ROOT; };
+ 18F92B6A8369D0F1A9B6705F /* juce_SystemAudioVolume.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SystemAudioVolume.h; path = ../../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h; sourceTree = SOURCE_ROOT; };
+ 197DFCCEA5C1199B9C4D463F /* juce_ios_UIViewComponentPeer.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_UIViewComponentPeer.mm; path = ../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm; sourceTree = SOURCE_ROOT; };
+ 19EC8D47288168DED8C317DF /* juce_ScrollBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScrollBar.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h; sourceTree = SOURCE_ROOT; };
+ 1A544EA5E8AC999D7F681DDE /* Oscillators.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Oscillators.h; path = ../../Source/Oscillators.h; sourceTree = SOURCE_ROOT; };
+ 1A8D2D0748598F01CEAAD4F7 /* juce_PopupMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PopupMenu.h; path = ../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h; sourceTree = SOURCE_ROOT; };
+ 1A9A02020BE1CA5BBD29B437 /* juce_posix_NamedPipe.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_posix_NamedPipe.cpp; path = ../../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp; sourceTree = SOURCE_ROOT; };
+ 1ABB18E7361905092E209E5F /* juce_Time.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Time.cpp; path = ../../../../../modules/juce_core/time/juce_Time.cpp; sourceTree = SOURCE_ROOT; };
+ 1ACC1653C65505E7AC29FB74 /* juce_mac_CoreMidi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_mac_CoreMidi.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp; sourceTree = SOURCE_ROOT; };
+ 1AE75CB0FA61A03429A4E540 /* MainComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainComponent.h; path = ../../Source/MainComponent.h; sourceTree = SOURCE_ROOT; };
+ 1B07C855838E6EF1D058D000 /* juce_LookAndFeel_V2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LookAndFeel_V2.h; path = ../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h; sourceTree = SOURCE_ROOT; };
+ 1B70293A6CF7F13B06B6569A /* juce_LowLevelGraphicsSoftwareRenderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LowLevelGraphicsSoftwareRenderer.cpp; path = ../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp; sourceTree = SOURCE_ROOT; };
+ 1BCEE2EA9EFF8FD8078F15A5 /* juce_mac_Files.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Files.mm; path = ../../../../../modules/juce_core/native/juce_mac_Files.mm; sourceTree = SOURCE_ROOT; };
+ 1BEF40062139BA123A55EB92 /* juce_OpenGLContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLContext.cpp; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp; sourceTree = SOURCE_ROOT; };
+ 1BF2C3AD8A498D0D55F22623 /* juce_MPEMessages.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPEMessages.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp; sourceTree = SOURCE_ROOT; };
+ 1CFA52094CFDFB61E549EBD4 /* juce_CriticalSection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CriticalSection.h; path = ../../../../../modules/juce_core/threads/juce_CriticalSection.h; sourceTree = SOURCE_ROOT; };
+ 1DA19C5E99B3551ADE26E391 /* juce_MouseEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseEvent.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h; sourceTree = SOURCE_ROOT; };
+ 1DA2607436F77B9E79C8D031 /* juce_mac_SystemTrayIcon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_mac_SystemTrayIcon.cpp; path = ../../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp; sourceTree = SOURCE_ROOT; };
+ 1E3AD3FF27C698CD3EE18C93 /* juce_Button.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Button.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp; sourceTree = SOURCE_ROOT; };
+ 1E732CABBE64BE6C4FD80795 /* psych_44.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psych_44.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = SOURCE_ROOT; };
+ 1EB32F020771FAC988EA1E64 /* juce_BufferedInputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BufferedInputStream.cpp; path = ../../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp; sourceTree = SOURCE_ROOT; };
+ 1EB612BB5C88FD75360E182C /* juce_DragAndDropContainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DragAndDropContainer.cpp; path = ../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp; sourceTree = SOURCE_ROOT; };
+ 1F0A802DF7D1C7F69E32CF10 /* crc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c; sourceTree = SOURCE_ROOT; };
+ 1F2D0A04F7D20953AAD00785 /* psych_16.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psych_16.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = SOURCE_ROOT; };
+ 1F6AF62DCB06829E5D547080 /* juce_ValueTreeSynchroniser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ValueTreeSynchroniser.cpp; path = ../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp; sourceTree = SOURCE_ROOT; };
+ 1F7097A7E2FD1CFD992160A3 /* juce_Sampler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Sampler.h; path = ../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h; sourceTree = SOURCE_ROOT; };
+ 1F7339EB6D3A6DAC5966AA91 /* jquant2.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c; sourceTree = SOURCE_ROOT; };
+ 1FA1A18FDF4E7266114D4B47 /* juce_TooltipWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TooltipWindow.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp; sourceTree = SOURCE_ROOT; };
+ 204D1CE3691490B81EB8C284 /* juce_MP3AudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MP3AudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 207D373F8699CA107E7E86F0 /* juce_Font.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Font.cpp; path = ../../../../../modules/juce_graphics/fonts/juce_Font.cpp; sourceTree = SOURCE_ROOT; };
+ 2092AE5634DE6877D83C4CD4 /* juce_Timer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Timer.h; path = ../../../../../modules/juce_events/timers/juce_Timer.h; sourceTree = SOURCE_ROOT; };
+ 20C2BF35D7BA96D597557B46 /* juce_ButtonPropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ButtonPropertyComponent.cpp; path = ../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 211D0DA102619F3D2048A741 /* juce_blocks_basics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_blocks_basics.cpp; path = ../../../../../modules/juce_blocks_basics/juce_blocks_basics.cpp; sourceTree = SOURCE_ROOT; };
+ 21AFD9310BD1AA9619366C27 /* juce_OpenGLGraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLGraphicsContext.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h; sourceTree = SOURCE_ROOT; };
+ 21CA089CEAAEFB67132DE3CD /* juce_LuaCodeTokeniser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LuaCodeTokeniser.cpp; path = ../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp; sourceTree = SOURCE_ROOT; };
+ 21D9B04B3BDC4F1A87DA2C9E /* juce_AttributedString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AttributedString.h; path = ../../../../../modules/juce_graphics/fonts/juce_AttributedString.h; sourceTree = SOURCE_ROOT; };
+ 21E4F85AFE03A986C667AC7F /* juce_File.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_File.cpp; path = ../../../../../modules/juce_core/files/juce_File.cpp; sourceTree = SOURCE_ROOT; };
+ 223EDE843FE5CF77DCEEA76F /* juce_AudioFormatWriter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormatWriter.cpp; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp; sourceTree = SOURCE_ROOT; };
+ 224EC8865F2F99C2F1E4361D /* juce_URL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_URL.h; path = ../../../../../modules/juce_core/network/juce_URL.h; sourceTree = SOURCE_ROOT; };
+ 225B313A9BC57AB15CC508F3 /* juce_BitmapLEDProgram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BitmapLEDProgram.h; path = ../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h; sourceTree = SOURCE_ROOT; };
+ 22B870C829CEA56B78D8EDFA /* juce_NamedValueSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NamedValueSet.h; path = ../../../../../modules/juce_core/containers/juce_NamedValueSet.h; sourceTree = SOURCE_ROOT; };
+ 22C6FFBE9D2206A13A30D71F /* juce_android_Midi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Midi.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp; sourceTree = SOURCE_ROOT; };
+ 23090584DEA1282747CE4769 /* juce_curl_Network.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_curl_Network.cpp; path = ../../../../../modules/juce_core/native/juce_curl_Network.cpp; sourceTree = SOURCE_ROOT; };
+ 231FA43EA6BDD60E2E5D682E /* juce_opengl.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_opengl.mm; path = ../../JuceLibraryCode/juce_opengl.mm; sourceTree = SOURCE_ROOT; };
+ 234C53C2D7D7559F63E77597 /* juce_RuleBasedTopologySource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RuleBasedTopologySource.h; path = ../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.h; sourceTree = SOURCE_ROOT; };
+ 23DBE20DA60F90ACDEC5A24A /* juce_AudioDeviceManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioDeviceManager.cpp; path = ../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp; sourceTree = SOURCE_ROOT; };
+ 23DC0CBBB4C6D6084EE19F93 /* juce_android_Misc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Misc.cpp; path = ../../../../../modules/juce_core/native/juce_android_Misc.cpp; sourceTree = SOURCE_ROOT; };
+ 23E03F6187920AD14BFC8BCD /* juce_win32_Fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Fonts.cpp; path = ../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp; sourceTree = SOURCE_ROOT; };
+ 241982E4455453EF71D03FFF /* juce_UnitTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_UnitTest.cpp; path = ../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp; sourceTree = SOURCE_ROOT; };
+ 2479A476CE3A4C0AF2EDBA33 /* changes to libjpeg for JUCE.txt */ = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = SOURCE_ROOT; };
+ 24B3BC3052E9DCD40B98304B /* juce_ModalComponentManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ModalComponentManager.h; path = ../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h; sourceTree = SOURCE_ROOT; };
+ 24E745A97ACE83CB49C47941 /* juce_mac_MessageManager.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MessageManager.mm; path = ../../../../../modules/juce_events/native/juce_mac_MessageManager.mm; sourceTree = SOURCE_ROOT; };
+ 250D5D5989533ADFB25306EC /* juce_win32_Midi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Midi.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp; sourceTree = SOURCE_ROOT; };
+ 256BCED752B70974C8DBB789 /* juce_FileInputSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileInputSource.h; path = ../../../../../modules/juce_core/streams/juce_FileInputSource.h; sourceTree = SOURCE_ROOT; };
+ 257F034BF0E09D78178ADCF5 /* juce_TargetPlatform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TargetPlatform.h; path = ../../../../../modules/juce_core/system/juce_TargetPlatform.h; sourceTree = SOURCE_ROOT; };
+ 25C8F3E08BE437DD7F436242 /* juce_linux_Messaging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Messaging.cpp; path = ../../../../../modules/juce_events/native/juce_linux_Messaging.cpp; sourceTree = SOURCE_ROOT; };
+ 25CE3EDC204ADB54724E65DC /* juce_StretchableObjectResizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StretchableObjectResizer.h; path = ../../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h; sourceTree = SOURCE_ROOT; };
+ 25F6B5BC25A7AFBA774E718C /* compat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = compat.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/compat.h; sourceTree = SOURCE_ROOT; };
+ 260406E9FB3C041C0B3A89E7 /* juce_TopLevelWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TopLevelWindow.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp; sourceTree = SOURCE_ROOT; };
+ 260E45CCB287E4CC5DCB27B8 /* juce_MultiDocumentPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MultiDocumentPanel.h; path = ../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h; sourceTree = SOURCE_ROOT; };
+ 265C9E0CD85917026D804337 /* juce_OpenGLGraphicsContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLGraphicsContext.cpp; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp; sourceTree = SOURCE_ROOT; };
+ 26688B743438F611F16AA65B /* juce_GIFLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GIFLoader.cpp; path = ../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp; sourceTree = SOURCE_ROOT; };
+ 268EE6C32655E4002E0F67E1 /* juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_graphics.mm; path = ../../../../../modules/juce_graphics/juce_graphics.mm; sourceTree = SOURCE_ROOT; };
+ 26F41B7D9404B50D9FE40C5E /* juce_TemporaryFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TemporaryFile.h; path = ../../../../../modules/juce_core/files/juce_TemporaryFile.h; sourceTree = SOURCE_ROOT; };
+ 26FE8AEE286297F8E8F148E8 /* juce_FileListComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileListComponent.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h; sourceTree = SOURCE_ROOT; };
+ 2724A39A33300FFBF89A4EAF /* vorbisfile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = ../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h; sourceTree = SOURCE_ROOT; };
+ 276500E2DF4FBF36F4FA1B81 /* juce_freetype_Fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_freetype_Fonts.cpp; path = ../../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp; sourceTree = SOURCE_ROOT; };
+ 277B0FD43AA3A74D0BC6A519 /* inflate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = ../../../../../modules/juce_core/zip/zlib/inflate.c; sourceTree = SOURCE_ROOT; };
+ 279386328A2D384E9C2AE928 /* juce_OpenGLPixelFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLPixelFormat.cpp; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 27A4321B4652868129075D63 /* jddctmgr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c; sourceTree = SOURCE_ROOT; };
+ 27C1AA486727BE2A93B11251 /* juce_PreferencesPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PreferencesPanel.h; path = ../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h; sourceTree = SOURCE_ROOT; };
+ 282CADA9E37A136FDBC83A2F /* juce_TextButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextButton.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp; sourceTree = SOURCE_ROOT; };
+ 284D3D37AFE280A47CFE5732 /* juce_TextDiff.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextDiff.cpp; path = ../../../../../modules/juce_core/text/juce_TextDiff.cpp; sourceTree = SOURCE_ROOT; };
+ 29019D28852F4BA5CC9C303A /* juce_DirectoryIterator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DirectoryIterator.cpp; path = ../../../../../modules/juce_core/files/juce_DirectoryIterator.cpp; sourceTree = SOURCE_ROOT; };
+ 298DDF49756F536B50469375 /* juce_IIRFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_IIRFilter.cpp; path = ../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp; sourceTree = SOURCE_ROOT; };
+ 2A545C8625733F4D09626C16 /* jfdctflt.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c; sourceTree = SOURCE_ROOT; };
+ 2AFBEF39C606E0A3D698185B /* juce_Viewport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Viewport.h; path = ../../../../../modules/juce_gui_basics/layout/juce_Viewport.h; sourceTree = SOURCE_ROOT; };
+ 2B2AB245E134CDF5515EB130 /* lpc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.h"; sourceTree = SOURCE_ROOT; };
+ 2C34101EF32AC5EA4030FDAD /* juce_linux_SystemStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_SystemStats.cpp; path = ../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp; sourceTree = SOURCE_ROOT; };
+ 2C4A133B427E627877FF8CE9 /* juce_Uuid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Uuid.cpp; path = ../../../../../modules/juce_core/misc/juce_Uuid.cpp; sourceTree = SOURCE_ROOT; };
+ 2C651B376A3220A9D720B36B /* juce_android_Fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Fonts.cpp; path = ../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp; sourceTree = SOURCE_ROOT; };
+ 2CDD1AD17D9E9316BC26501D /* juce_Synthesiser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Synthesiser.h; path = ../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h; sourceTree = SOURCE_ROOT; };
+ 2D0476BBF2E82030BC3095E2 /* juce_PropertiesFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PropertiesFile.h; path = ../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h; sourceTree = SOURCE_ROOT; };
+ 2D3D590B3FA5486BDAD225B0 /* juce_ComponentDragger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentDragger.cpp; path = ../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp; sourceTree = SOURCE_ROOT; };
+ 2D53FB29FFFEEB29036792DB /* juce_TextPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextPropertyComponent.h; path = ../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h; sourceTree = SOURCE_ROOT; };
+ 2DA8B0B8F42BA75AA6C09CF5 /* juce_OpenGL_ios.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_ios.h; path = ../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h; sourceTree = SOURCE_ROOT; };
+ 2DBADCD115CE48292C27E0FE /* juce_Value.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Value.cpp; path = ../../../../../modules/juce_data_structures/values/juce_Value.cpp; sourceTree = SOURCE_ROOT; };
+ 2DF02AFF10879E3FE2BBF776 /* juce_MPESynthesiserVoice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPESynthesiserVoice.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp; sourceTree = SOURCE_ROOT; };
+ 2E6C4EDE0CDE7BCC288D464B /* juce_Socket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Socket.h; path = ../../../../../modules/juce_core/network/juce_Socket.h; sourceTree = SOURCE_ROOT; };
+ 2E85944AC4191910EE758B99 /* juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_gui_extra.mm; path = ../../JuceLibraryCode/juce_gui_extra.mm; sourceTree = SOURCE_ROOT; };
+ 2E8F5CD0CF6A9F42FF864B9D /* juce_PropertySet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PropertySet.cpp; path = ../../../../../modules/juce_core/containers/juce_PropertySet.cpp; sourceTree = SOURCE_ROOT; };
+ 2ED49D97994DA78A2920445B /* jcsample.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c; sourceTree = SOURCE_ROOT; };
+ 2F8470C7C024CC6EF9669961 /* juce_Slider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Slider.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp; sourceTree = SOURCE_ROOT; };
+ 2FAD51414C9D18ADA5B2CC16 /* juce_mac_WebBrowserComponent.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_WebBrowserComponent.mm; path = ../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm; sourceTree = SOURCE_ROOT; };
+ 2FAFF79F8E9250E599BEFDDE /* juce_ScopedLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedLock.h; path = ../../../../../modules/juce_core/threads/juce_ScopedLock.h; sourceTree = SOURCE_ROOT; };
+ 30CC24B13FEBDDB188320191 /* juce_HostPacketBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HostPacketBuilder.h; path = ../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketBuilder.h; sourceTree = SOURCE_ROOT; };
+ 317A1C3C47E0CFD28F629EE3 /* juce_linux_CommonFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_CommonFile.cpp; path = ../../../../../modules/juce_core/native/juce_linux_CommonFile.cpp; sourceTree = SOURCE_ROOT; };
+ 31DBD439C2A41A1CC472D924 /* all.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h; sourceTree = SOURCE_ROOT; };
+ 320BFED03A887CDA204EB748 /* juce_DialogWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DialogWindow.h; path = ../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h; sourceTree = SOURCE_ROOT; };
+ 327941468D62EFD046DFD31E /* uncompr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = ../../../../../modules/juce_core/zip/zlib/uncompr.c; sourceTree = SOURCE_ROOT; };
+ 32882ADD511B3542BB245169 /* juce_DrawableComposite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableComposite.cpp; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp; sourceTree = SOURCE_ROOT; };
+ 329DF7E968A8D1BC5242755D /* juce_MenuBarComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MenuBarComponent.h; path = ../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h; sourceTree = SOURCE_ROOT; };
+ 331EE1B47BD07B07DFAAE89E /* juce_BitmapLEDProgram.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BitmapLEDProgram.cpp; path = ../../../../../modules/juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp; sourceTree = SOURCE_ROOT; };
+ 332520A35477D044DB108E0B /* juce_ModifierKeys.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ModifierKeys.cpp; path = ../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp; sourceTree = SOURCE_ROOT; };
+ 333C35C42EAAC5C9C654F12B /* juce_linux_SystemTrayIcon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_SystemTrayIcon.cpp; path = ../../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp; sourceTree = SOURCE_ROOT; };
+ 334C26584909EC5509B8CF72 /* juce_linux_Clipboard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Clipboard.cpp; path = ../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp; sourceTree = SOURCE_ROOT; };
+ 334F7A39BD0DA475F23052A1 /* juce_RuntimePermissions.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RuntimePermissions.cpp; path = ../../../../../modules/juce_core/misc/juce_RuntimePermissions.cpp; sourceTree = SOURCE_ROOT; };
+ 3392234464B3B3A97DA2B58C /* jdhuff.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h; sourceTree = SOURCE_ROOT; };
+ 339A19F5096F4F61F8255B88 /* juce_OpenGLPixelFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLPixelFormat.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h; sourceTree = SOURCE_ROOT; };
+ 33B297800F96D1E644E085B6 /* juce_CatmullRomInterpolator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CatmullRomInterpolator.h; path = ../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h; sourceTree = SOURCE_ROOT; };
+ 34232FF8256F5BA2E80D6C83 /* juce_ScopedPointer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedPointer.h; path = ../../../../../modules/juce_core/memory/juce_ScopedPointer.h; sourceTree = SOURCE_ROOT; };
+ 3454368245C5E8CFD1456FBC /* juce_FileTreeComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileTreeComponent.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h; sourceTree = SOURCE_ROOT; };
+ 34F5C04FBF3B13F93083A301 /* jdsample.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c; sourceTree = SOURCE_ROOT; };
+ 3521249F8414079020AF98B5 /* juce_MultiTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MultiTimer.h; path = ../../../../../modules/juce_events/timers/juce_MultiTimer.h; sourceTree = SOURCE_ROOT; };
+ 35E2249D105A48B11BCF2DA3 /* juce_ToolbarItemComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToolbarItemComponent.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h; sourceTree = SOURCE_ROOT; };
+ 35EA9261CEA2AD1A800B702C /* juce_AbstractFifo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AbstractFifo.h; path = ../../../../../modules/juce_core/containers/juce_AbstractFifo.h; sourceTree = SOURCE_ROOT; };
+ 361070599D3204D0C42F7A22 /* juce_ScopedValueSetter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedValueSetter.h; path = ../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h; sourceTree = SOURCE_ROOT; };
+ 36C6D8EECCE8A8A9E21D3895 /* juce_RuleBasedTopologySource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RuleBasedTopologySource.cpp; path = ../../../../../modules/juce_blocks_basics/topology/juce_RuleBasedTopologySource.cpp; sourceTree = SOURCE_ROOT; };
+ 36FB8C0AD65A9A875C90C662 /* juce_opengl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_opengl.h; path = ../../../../../modules/juce_opengl/juce_opengl.h; sourceTree = SOURCE_ROOT; };
+ 377AF33A6FFEBFE62A05AD2D /* juce_ToggleButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToggleButton.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp; sourceTree = SOURCE_ROOT; };
+ 379589FC32E87B31496C96B7 /* juce_WavAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WavAudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h; sourceTree = SOURCE_ROOT; };
+ 379BA1B50BAEE43F433A9E29 /* juce_NewLine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NewLine.h; path = ../../../../../modules/juce_core/text/juce_NewLine.h; sourceTree = SOURCE_ROOT; };
+ 379FC2C12D06AFB0A0F07476 /* png.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = ../../../../../modules/juce_graphics/image_formats/pnglib/png.h; sourceTree = SOURCE_ROOT; };
+ 37D3F9ADA06E46941FFC1532 /* framing.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = framing.c; path = ../../../../../modules/juce_audio_formats/codecs/oggvorbis/framing.c; sourceTree = SOURCE_ROOT; };
+ 3837D7332EB169F26F818BB9 /* juce_ConnectedChildProcess.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ConnectedChildProcess.h; path = ../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h; sourceTree = SOURCE_ROOT; };
+ 3863C9397ED9E2DC7C26E98F /* juce_StatisticsAccumulator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StatisticsAccumulator.h; path = ../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h; sourceTree = SOURCE_ROOT; };
+ 3898C8969F187EDE6C2FE1A1 /* juce_RelativeCoordinatePositioner.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeCoordinatePositioner.h; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h; sourceTree = SOURCE_ROOT; };
+ 38995FA8FD1425F65F87FC09 /* pngrutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c; sourceTree = SOURCE_ROOT; };
+ 389F673D479BAA914D559C3C /* juce_FileBrowserListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileBrowserListener.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h; sourceTree = SOURCE_ROOT; };
+ 38BF78CAB1ABA56E87C5F438 /* juce_MidiMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessage.h; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h; sourceTree = SOURCE_ROOT; };
+ 38C951E0E35A4B513616931A /* juce_AlertWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AlertWindow.h; path = ../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h; sourceTree = SOURCE_ROOT; };
+ 3942B0BFD06ABC8B8AC0459D /* juce_mac_AppleRemote.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AppleRemote.mm; path = ../../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm; sourceTree = SOURCE_ROOT; };
+ 396FCA5D9FAE5297B70B2655 /* juce_AudioTransportSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioTransportSource.h; path = ../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h; sourceTree = SOURCE_ROOT; };
+ 397717356F43CD103B169AF1 /* juce_MemoryMappedAudioFormatReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryMappedAudioFormatReader.h; path = ../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h; sourceTree = SOURCE_ROOT; };
+ 39B343A6A7A4BD31ED5AA4EA /* juce_Button.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Button.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_Button.h; sourceTree = SOURCE_ROOT; };
+ 39C0350A74FE0DD8E792ABC4 /* juce_NSViewComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NSViewComponent.h; path = ../../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h; sourceTree = SOURCE_ROOT; };
+ 39C7BCC2C6A8A53D47605192 /* juce_LiveConstantEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LiveConstantEditor.h; path = ../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h; sourceTree = SOURCE_ROOT; };
+ 39F2D7F60BCE45E9BEF6D2D5 /* window.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = SOURCE_ROOT; };
+ 3A43AB7B49441ABD392D105D /* juce_URL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_URL.cpp; path = ../../../../../modules/juce_core/network/juce_URL.cpp; sourceTree = SOURCE_ROOT; };
+ 3A78A59E802951A187248BD6 /* setup_44u.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_44u.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = SOURCE_ROOT; };
+ 3AB3B36BE9E7513E6A0785BC /* jmemsys.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmemsys.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jmemsys.h; sourceTree = SOURCE_ROOT; };
+ 3AF24B9D59180F6C4168586C /* juce_win32_Messaging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Messaging.cpp; path = ../../../../../modules/juce_events/native/juce_win32_Messaging.cpp; sourceTree = SOURCE_ROOT; };
+ 3B4D669F61B7B70F9F60B2A0 /* jdcoefct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c; sourceTree = SOURCE_ROOT; };
+ 3B603D361B33DF947B16EC5A /* juce_MissingGLDefinitions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MissingGLDefinitions.h; path = ../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h; sourceTree = SOURCE_ROOT; };
+ 3B740130AAA2019AE049C85B /* mdct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = SOURCE_ROOT; };
+ 3BCDBA897B07973BE96C7CD4 /* juce_Label.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Label.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_Label.h; sourceTree = SOURCE_ROOT; };
+ 3BE2901B9A625B0A9A34FAEE /* juce_Component.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Component.cpp; path = ../../../../../modules/juce_gui_basics/components/juce_Component.cpp; sourceTree = SOURCE_ROOT; };
+ 3BEAA229D9D403CBE51C6670 /* juce_MACAddress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MACAddress.cpp; path = ../../../../../modules/juce_core/network/juce_MACAddress.cpp; sourceTree = SOURCE_ROOT; };
+ 3C0FB54AB7F6499B039CA796 /* juce_ComponentListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentListener.h; path = ../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h; sourceTree = SOURCE_ROOT; };
+ 3C3A319FB7E247A39036FB7A /* LittleFoot Language README.txt */ = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "LittleFoot Language README.txt"; path = "../../../../../modules/juce_blocks_basics/littlefoot/LittleFoot Language README.txt"; sourceTree = SOURCE_ROOT; };
+ 3C7A5BB34C606EBC8556E38A /* juce_ToolbarButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToolbarButton.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp; sourceTree = SOURCE_ROOT; };
+ 3CB2C6DD82376B45112B0576 /* jcphuff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c; sourceTree = SOURCE_ROOT; };
+ 3D3D5858103B1047C1779AC5 /* juce_Path.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Path.cpp; path = ../../../../../modules/juce_graphics/geometry/juce_Path.cpp; sourceTree = SOURCE_ROOT; };
+ 3D51F32E7FBF84DEE183F53A /* juce_Time.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Time.h; path = ../../../../../modules/juce_core/time/juce_Time.h; sourceTree = SOURCE_ROOT; };
+ 3D8ED3F6C1407C572BBEC652 /* juce_AudioChannelSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioChannelSet.h; path = ../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h; sourceTree = SOURCE_ROOT; };
+ 3DDC23784E7F36861AF31A75 /* juce_DropShadower.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DropShadower.h; path = ../../../../../modules/juce_gui_basics/misc/juce_DropShadower.h; sourceTree = SOURCE_ROOT; };
+ 3EB1E0AA5710B0452FF6BBE6 /* juce_OpenGLShaderProgram.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLShaderProgram.cpp; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp; sourceTree = SOURCE_ROOT; };
+ 3EDA16959191726A83FAF8B3 /* juce_osx_ObjCHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_osx_ObjCHelpers.h; path = ../../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h; sourceTree = SOURCE_ROOT; };
+ 3F01CB2947056402F526A4F4 /* juce_CharacterFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharacterFunctions.h; path = ../../../../../modules/juce_core/text/juce_CharacterFunctions.h; sourceTree = SOURCE_ROOT; };
+ 3F03CD51A0C38F53DEC35D06 /* juce_Colours.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Colours.h; path = ../../../../../modules/juce_graphics/colour/juce_Colours.h; sourceTree = SOURCE_ROOT; };
+ 3F24711E8D4D2065EA8C372F /* juce_SparseSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SparseSet.h; path = ../../../../../modules/juce_core/containers/juce_SparseSet.h; sourceTree = SOURCE_ROOT; };
+ 3F31EDAA9BB16DCAA86C6A6B /* juce_FileSearchPathListComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileSearchPathListComponent.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h; sourceTree = SOURCE_ROOT; };
+ 3F461FC27A8BEA812E4604BB /* juce_ThreadWithProgressWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ThreadWithProgressWindow.h; path = ../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h; sourceTree = SOURCE_ROOT; };
+ 3F4C08B027AA5847220503DF /* juce_AnimatedPositionBehaviours.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AnimatedPositionBehaviours.h; path = ../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h; sourceTree = SOURCE_ROOT; };
+ 3F57879007B1AD70426EB58B /* juce_KeyboardFocusTraverser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyboardFocusTraverser.h; path = ../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h; sourceTree = SOURCE_ROOT; };
+ 40268160C3A821B16C2C0106 /* juce_KeyMappingEditorComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyMappingEditorComponent.h; path = ../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h; sourceTree = SOURCE_ROOT; };
+ 40297764149FD52F1B1B8FF0 /* juce_MPESynthesiserVoice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPESynthesiserVoice.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h; sourceTree = SOURCE_ROOT; };
+ 4083423AC8967EC85128335F /* lpc.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lpc.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lpc.c"; sourceTree = SOURCE_ROOT; };
+ 408CD5BDE5207D96C2DC6F0B /* juce_AudioDataConverters.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioDataConverters.cpp; path = ../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp; sourceTree = SOURCE_ROOT; };
+ 40AFF57E82F006FB59D0BB29 /* juce_LinearSmoothedValue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LinearSmoothedValue.h; path = ../../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h; sourceTree = SOURCE_ROOT; };
+ 40F2DCDCF3AE32D53839E7FC /* juce_SubregionStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SubregionStream.h; path = ../../../../../modules/juce_core/streams/juce_SubregionStream.h; sourceTree = SOURCE_ROOT; };
+ 41AAF7E46A95C5137361C5D1 /* juce_OpenGL_linux.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_linux.h; path = ../../../../../modules/juce_opengl/native/juce_OpenGL_linux.h; sourceTree = SOURCE_ROOT; };
+ 42747FC2DD3F362950112EFA /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+ 43CC58EE154F54E14E70A9A9 /* juce_CharPointer_UTF8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharPointer_UTF8.h; path = ../../../../../modules/juce_core/text/juce_CharPointer_UTF8.h; sourceTree = SOURCE_ROOT; };
+ 43D4608C71521337A1E62CBF /* codebook.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = SOURCE_ROOT; };
+ 43FA1C85CEEE8976874CDE5D /* juce_Range.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Range.h; path = ../../../../../modules/juce_core/maths/juce_Range.h; sourceTree = SOURCE_ROOT; };
+ 442B9293D4AECC2B9711CADD /* juce_MouseCursor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseCursor.cpp; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp; sourceTree = SOURCE_ROOT; };
+ 44530960DE057A0334DFE77A /* juce_ScopedXLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedXLock.h; path = ../../../../../modules/juce_events/native/juce_ScopedXLock.h; sourceTree = SOURCE_ROOT; };
+ 445E7C1EF124A4552532AE4F /* juce_ProgressBar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ProgressBar.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp; sourceTree = SOURCE_ROOT; };
+ 44B2FE959DF300C8385863AF /* juce_TabbedComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TabbedComponent.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 44F79CEE556BD28E515BA71B /* setup_11.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_11.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_11.h"; sourceTree = SOURCE_ROOT; };
+ 44FCA467ADE97D1E2B2A49A1 /* juce_AbstractFifo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AbstractFifo.cpp; path = ../../../../../modules/juce_core/containers/juce_AbstractFifo.cpp; sourceTree = SOURCE_ROOT; };
+ 4556D874FD9CF3D1DCE3DF36 /* juce_MemoryMappedFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryMappedFile.h; path = ../../../../../modules/juce_core/files/juce_MemoryMappedFile.h; sourceTree = SOURCE_ROOT; };
+ 455B914D8EDEB31EDC2DC451 /* juce_linux_Windowing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Windowing.cpp; path = ../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp; sourceTree = SOURCE_ROOT; };
+ 45830B6210881854542DEE1C /* juce_ImageFileFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageFileFormat.cpp; path = ../../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 468845E6939E7671B082138A /* jchuff.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h; sourceTree = SOURCE_ROOT; };
+ 46A4ED1AED4B90701C9FA937 /* juce_FlacAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FlacAudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 46CA6FE2FCF2B4493A1CB500 /* jpeglib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h; sourceTree = SOURCE_ROOT; };
+ 46CD74CB0C207D371D0F22BF /* png.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/png.c; sourceTree = SOURCE_ROOT; };
+ 47123B6CF53D538F0E90AC17 /* juce_DocumentWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DocumentWindow.h; path = ../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h; sourceTree = SOURCE_ROOT; };
+ 473950B43F215D4523AE801F /* juce_ComponentBoundsConstrainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentBoundsConstrainer.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h; sourceTree = SOURCE_ROOT; };
+ 47604C0ABC53AE6ADB1BFF3D /* jmemnobs.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c; sourceTree = SOURCE_ROOT; };
+ 47607EE37E20577AC6770AD4 /* juce_StringPairArray.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StringPairArray.cpp; path = ../../../../../modules/juce_core/text/juce_StringPairArray.cpp; sourceTree = SOURCE_ROOT; };
+ 47BED7BBD05CF1420DE94CFB /* juce_ApplicationProperties.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationProperties.cpp; path = ../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp; sourceTree = SOURCE_ROOT; };
+ 47CC2D3C3EA5DBDD7A160619 /* juce_GroupComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GroupComponent.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 481A69F80148E9DCC2B4A067 /* juce_AiffAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AiffAudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 493A7E8767FCA4250B6FBD94 /* juce_JPEGLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_JPEGLoader.cpp; path = ../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp; sourceTree = SOURCE_ROOT; };
+ 49424899DC52549DE819C621 /* juce_BufferingAudioFormatReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BufferingAudioFormatReader.cpp; path = ../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp; sourceTree = SOURCE_ROOT; };
+ 494C319CCFF5BCCD0F36FD33 /* juce_ComponentListener.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentListener.cpp; path = ../../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp; sourceTree = SOURCE_ROOT; };
+ 4977DE7B0A8135EDB73EFD68 /* juce_GraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GraphicsContext.h; path = ../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h; sourceTree = SOURCE_ROOT; };
+ 49CA1AF15E947DCBBE1AB305 /* juce_MouseInactivityDetector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseInactivityDetector.cpp; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp; sourceTree = SOURCE_ROOT; };
+ 4A174700334838A28231D4A0 /* juce_TabbedButtonBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TabbedButtonBar.h; path = ../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h; sourceTree = SOURCE_ROOT; };
+ 4A6B7CEB97494FF6D388514E /* inflate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = ../../../../../modules/juce_core/zip/zlib/inflate.h; sourceTree = SOURCE_ROOT; };
+ 4AA531F8D8E250C0429E2CBB /* juce_PerformanceCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PerformanceCounter.h; path = ../../../../../modules/juce_core/time/juce_PerformanceCounter.h; sourceTree = SOURCE_ROOT; };
+ 4ACC5E02BDD5C78A53E2522B /* format.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/format.h; sourceTree = SOURCE_ROOT; };
+ 4B28AF2241AA37172D6069F8 /* juce_LocalisedStrings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LocalisedStrings.h; path = ../../../../../modules/juce_core/text/juce_LocalisedStrings.h; sourceTree = SOURCE_ROOT; };
+ 4B83FCEFA91AFCB06756FC71 /* juce_android_Files.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Files.cpp; path = ../../../../../modules/juce_core/native/juce_android_Files.cpp; sourceTree = SOURCE_ROOT; };
+ 4C3567E01529EB4730FACB2C /* juce_MPESynthesiserBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPESynthesiserBase.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h; sourceTree = SOURCE_ROOT; };
+ 4CA1F3B93913EA346771DFAA /* bitreader.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c; sourceTree = SOURCE_ROOT; };
+ 4CCBED88413D14521B8B840E /* juce_linux_Files.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Files.cpp; path = ../../../../../modules/juce_core/native/juce_linux_Files.cpp; sourceTree = SOURCE_ROOT; };
+ 4CE9E46083DBAE3BA66CEF34 /* juce_DrawableImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableImage.cpp; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp; sourceTree = SOURCE_ROOT; };
+ 4CF48857422D8B4462FDCAC8 /* juce_ThreadPool.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ThreadPool.cpp; path = ../../../../../modules/juce_core/threads/juce_ThreadPool.cpp; sourceTree = SOURCE_ROOT; };
+ 4D372B2B68D66E83A4370DE3 /* juce_InterprocessConnectionServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InterprocessConnectionServer.h; path = ../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h; sourceTree = SOURCE_ROOT; };
+ 4D3CB4D0542A042B8C210E31 /* format.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c; sourceTree = SOURCE_ROOT; };
+ 4D4FD67BD642DA535431F2B1 /* juce_MultiTouchMapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MultiTouchMapper.h; path = ../../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h; sourceTree = SOURCE_ROOT; };
+ 4D8C7E04C4FD97998300FDE6 /* juce_WavAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_WavAudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 4E7C1B9669C78323F39F66BA /* info.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = SOURCE_ROOT; };
+ 4E93058BD941E58123C09290 /* juce_WebBrowserComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WebBrowserComponent.h; path = ../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h; sourceTree = SOURCE_ROOT; };
+ 4EAAD4EB24BA19D7B7CC1EBB /* juce_Javascript.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Javascript.cpp; path = ../../../../../modules/juce_core/javascript/juce_Javascript.cpp; sourceTree = SOURCE_ROOT; };
+ 4ED26BCBDCC64564B6BC33E5 /* juce_ApplicationProperties.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationProperties.h; path = ../../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h; sourceTree = SOURCE_ROOT; };
+ 4EE92E0A9A6A3FED53DEF136 /* config_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = config_types.h; path = ../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h; sourceTree = SOURCE_ROOT; };
+ 4EFE2E4C990EE14732BACEC5 /* juce_ConcertinaPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ConcertinaPanel.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h; sourceTree = SOURCE_ROOT; };
+ 4F37C953011C373B54598AD7 /* juce_mac_Windowing.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Windowing.mm; path = ../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm; sourceTree = SOURCE_ROOT; };
+ 4F5EC73689E82CFA1B5E8B08 /* jctrans.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c; sourceTree = SOURCE_ROOT; };
+ 4FD457CCBE50024B1A6377A7 /* jcmarker.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c; sourceTree = SOURCE_ROOT; };
+ 4FFAFAC9B332F9B993A6EBB6 /* juce_QuickTimeAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_QuickTimeAudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h; sourceTree = SOURCE_ROOT; };
+ 5013B2E5F2FAF7E880593B1E /* juce_MouseListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseListener.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h; sourceTree = SOURCE_ROOT; };
+ 50A01BFE69012A08EAAA5EF1 /* bitrate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = SOURCE_ROOT; };
+ 50E9D72AF3E2F4CCDC6E7767 /* juce_TouchList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TouchList.h; path = ../../../../../modules/juce_blocks_basics/blocks/juce_TouchList.h; sourceTree = SOURCE_ROOT; };
+ 50F08F6B006974130C590F4F /* juce_ReadWriteLock.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ReadWriteLock.cpp; path = ../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp; sourceTree = SOURCE_ROOT; };
+ 513984F548890D187E1A5683 /* juce_win32_Threads.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Threads.cpp; path = ../../../../../modules/juce_core/native/juce_win32_Threads.cpp; sourceTree = SOURCE_ROOT; };
+ 514E168C6138BEC0DC0D31BB /* juce_MPESynthesiser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPESynthesiser.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h; sourceTree = SOURCE_ROOT; };
+ 51DBB2E2806E132D175C2597 /* juce_linux_Midi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Midi.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp; sourceTree = SOURCE_ROOT; };
+ 51F6B14D12856AA27906835D /* juce_RenderingHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RenderingHelpers.h; path = ../../../../../modules/juce_graphics/native/juce_RenderingHelpers.h; sourceTree = SOURCE_ROOT; };
+ 52162727C5145771E25131C9 /* juce_PopupMenu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PopupMenu.cpp; path = ../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp; sourceTree = SOURCE_ROOT; };
+ 5259900DBEADF9B1E596D6CE /* juce_SortedSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SortedSet.h; path = ../../../../../modules/juce_core/containers/juce_SortedSet.h; sourceTree = SOURCE_ROOT; };
+ 528DB2421C8140B90DA7B1C4 /* juce_ResizableWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResizableWindow.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp; sourceTree = SOURCE_ROOT; };
+ 52B7F9D0AC8BF316E96E480A /* juce_MidiBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiBuffer.h; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h; sourceTree = SOURCE_ROOT; };
+ 52E468B373041BD029A57DA9 /* juce_HeapBlock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HeapBlock.h; path = ../../../../../modules/juce_core/memory/juce_HeapBlock.h; sourceTree = SOURCE_ROOT; };
+ 537FDE261B80BA27AB0F268F /* juce_mac_Fonts.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Fonts.mm; path = ../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm; sourceTree = SOURCE_ROOT; };
+ 5414D9D1E3345D557CEFE983 /* juce_events.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_events.h; path = ../../../../../modules/juce_events/juce_events.h; sourceTree = SOURCE_ROOT; };
+ 543DC3C0F6530C99ECA63A9A /* floor_books.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = floor_books.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/floor/floor_books.h"; sourceTree = SOURCE_ROOT; };
+ 54414222D76B0C6CD2D245C5 /* juce_ApplicationCommandInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationCommandInfo.h; path = ../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h; sourceTree = SOURCE_ROOT; };
+ 545F7B594166F08E2B2976C7 /* juce_AsyncUpdater.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AsyncUpdater.cpp; path = ../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp; sourceTree = SOURCE_ROOT; };
+ 546AE298612DB93D5C336C70 /* juce_OwnedArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OwnedArray.h; path = ../../../../../modules/juce_core/containers/juce_OwnedArray.h; sourceTree = SOURCE_ROOT; };
+ 549A73307E1C2D12EC3FA599 /* juce_DrawableButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableButton.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h; sourceTree = SOURCE_ROOT; };
+ 551BB1571903BD046B3947C4 /* juce_ChoicePropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChoicePropertyComponent.h; path = ../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h; sourceTree = SOURCE_ROOT; };
+ 5558831C1B9AE2F59258290A /* juce_ByteOrder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ByteOrder.h; path = ../../../../../modules/juce_core/memory/juce_ByteOrder.h; sourceTree = SOURCE_ROOT; };
+ 55902FE86849138F98309FD1 /* jcomapi.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c; sourceTree = SOURCE_ROOT; };
+ 55929F5F3E0FDBA0B5B5740A /* juce_DrawableText.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableText.cpp; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp; sourceTree = SOURCE_ROOT; };
+ 55E36D80A91694865B7CE332 /* juce_AudioSubsectionReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioSubsectionReader.h; path = ../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h; sourceTree = SOURCE_ROOT; };
+ 56C47E673A21A919A36BA737 /* lookup.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = SOURCE_ROOT; };
+ 5715EA1172976C34BF618365 /* juce_StringPool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StringPool.h; path = ../../../../../modules/juce_core/text/juce_StringPool.h; sourceTree = SOURCE_ROOT; };
+ 571FD86FB21925B70F4C2439 /* juce_Thread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Thread.h; path = ../../../../../modules/juce_core/threads/juce_Thread.h; sourceTree = SOURCE_ROOT; };
+ 5737072AA0D7763823260699 /* juce_AudioIODevice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioIODevice.cpp; path = ../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp; sourceTree = SOURCE_ROOT; };
+ 57702152570891F1CEF1F858 /* pngwrite.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c; sourceTree = SOURCE_ROOT; };
+ 577DD1C1B6BC82BE5E32C290 /* juce_ToolbarItemPalette.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToolbarItemPalette.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp; sourceTree = SOURCE_ROOT; };
+ 57A1B82612ACD48D50CDFB42 /* juce_ResamplingAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResamplingAudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h; sourceTree = SOURCE_ROOT; };
+ 57F6D4DF279AF7D98FE44E16 /* juce_AsyncUpdater.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AsyncUpdater.h; path = ../../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h; sourceTree = SOURCE_ROOT; };
+ 584414FE3F035198BBE28413 /* bitmath.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h; sourceTree = SOURCE_ROOT; };
+ 58AEC1D427BCFE3609BCD90A /* juce_FileInputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileInputStream.h; path = ../../../../../modules/juce_core/files/juce_FileInputStream.h; sourceTree = SOURCE_ROOT; };
+ 58BF05D2E1EBA950D4C132D9 /* juce_ComponentAnimator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentAnimator.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h; sourceTree = SOURCE_ROOT; };
+ 58DBADC28510520AE1E6E069 /* juce_android_Threads.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Threads.cpp; path = ../../../../../modules/juce_core/native/juce_android_Threads.cpp; sourceTree = SOURCE_ROOT; };
+ 58E8DB6E05BEC37A2C386482 /* juce_CachedComponentImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CachedComponentImage.h; path = ../../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h; sourceTree = SOURCE_ROOT; };
+ 5917F2F2E450365FCD07C826 /* jutils.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c; sourceTree = SOURCE_ROOT; };
+ 595CFE4CA3DAE79C08D9C7C7 /* juce_BitPackingUtilities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BitPackingUtilities.h; path = ../../../../../modules/juce_blocks_basics/protocol/juce_BitPackingUtilities.h; sourceTree = SOURCE_ROOT; };
+ 596AE59CDCCBE4D8E7D27954 /* juce_PositionableAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PositionableAudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h; sourceTree = SOURCE_ROOT; };
+ 599428B835C56E48958680E4 /* juce_PathIterator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PathIterator.h; path = ../../../../../modules/juce_graphics/geometry/juce_PathIterator.h; sourceTree = SOURCE_ROOT; };
+ 59EB48AD6143AB10F2D4830F /* juce_SpinLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SpinLock.h; path = ../../../../../modules/juce_core/threads/juce_SpinLock.h; sourceTree = SOURCE_ROOT; };
+ 5A19BDE20FB81C83D0A03799 /* stream_decoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = stream_decoder.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h; sourceTree = SOURCE_ROOT; };
+ 5AF86438272890D0836A262D /* juce_Timer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Timer.cpp; path = ../../../../../modules/juce_events/timers/juce_Timer.cpp; sourceTree = SOURCE_ROOT; };
+ 5B14C9DFF557CC6B9A05E34D /* juce_StatusLight.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StatusLight.h; path = ../../../../../modules/juce_blocks_basics/blocks/juce_StatusLight.h; sourceTree = SOURCE_ROOT; };
+ 5B48244E76313E054EFEF426 /* juce_ElementComparator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ElementComparator.h; path = ../../../../../modules/juce_core/containers/juce_ElementComparator.h; sourceTree = SOURCE_ROOT; };
+ 5B74F105B018F0D2497D818E /* juce_ColourSelector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ColourSelector.h; path = ../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h; sourceTree = SOURCE_ROOT; };
+ 5C1AF59B9E0F831176669ED8 /* lsp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = SOURCE_ROOT; };
+ 5C8F1A64FF9B42D0D2BED7FE /* juce_FileLogger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileLogger.cpp; path = ../../../../../modules/juce_core/logging/juce_FileLogger.cpp; sourceTree = SOURCE_ROOT; };
+ 5C9A7CB614CE1DFA574772DD /* juce_mac_CoreGraphicsHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_CoreGraphicsHelpers.h; path = ../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h; sourceTree = SOURCE_ROOT; };
+ 5D2D967B09263CB6D21E1FCB /* jcapimin.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c; sourceTree = SOURCE_ROOT; };
+ 5D4BE633D03013E33B4B376D /* juce_MidiKeyboardState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiKeyboardState.h; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h; sourceTree = SOURCE_ROOT; };
+ 5D5BA1131FE12F38BA17E290 /* juce_InterProcessLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InterProcessLock.h; path = ../../../../../modules/juce_core/threads/juce_InterProcessLock.h; sourceTree = SOURCE_ROOT; };
+ 5D77406B71C3A76439A5D9E4 /* pngpriv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h; sourceTree = SOURCE_ROOT; };
+ 5DA4467E35DFFBF7AD8268A8 /* juce_InterprocessConnection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InterprocessConnection.h; path = ../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h; sourceTree = SOURCE_ROOT; };
+ 5DDD8C97387E3792B53F6914 /* juce_ApplicationCommandTarget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationCommandTarget.cpp; path = ../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp; sourceTree = SOURCE_ROOT; };
+ 5DEC0A780DB6B3C7E3FE1896 /* jinclude.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h; sourceTree = SOURCE_ROOT; };
+ 5E977684B01B2AE8C9E6DAD6 /* juce_ActionListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ActionListener.h; path = ../../../../../modules/juce_events/broadcasters/juce_ActionListener.h; sourceTree = SOURCE_ROOT; };
+ 5EA0ABB0B2C055D60AF351B7 /* juce_mac_CoreGraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_CoreGraphicsContext.h; path = ../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h; sourceTree = SOURCE_ROOT; };
+ 5EA120BDDD4CEB77D4440C20 /* juce_ButtonPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ButtonPropertyComponent.h; path = ../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h; sourceTree = SOURCE_ROOT; };
+ 5F622792DD550ED2F85D6BC6 /* juce_FileChooserDialogBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileChooserDialogBox.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp; sourceTree = SOURCE_ROOT; };
+ 6085D0F7B3DFD7C8A7564A9B /* juce_TextEditorKeyMapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextEditorKeyMapper.h; path = ../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h; sourceTree = SOURCE_ROOT; };
+ 609FED9DD1CE6987BC6B0407 /* jdmaster.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c; sourceTree = SOURCE_ROOT; };
+ 60CB8017B900A02E7C7C1667 /* sharedbook.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = SOURCE_ROOT; };
+ 6107414E2EBFD835DB9235E3 /* memory.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c; sourceTree = SOURCE_ROOT; };
+ 61287CFC6D4262060F576DD7 /* juce_MarkerList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MarkerList.h; path = ../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h; sourceTree = SOURCE_ROOT; };
+ 613FE7EF2A3A4359633BA85E /* vorbisenc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = ../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h; sourceTree = SOURCE_ROOT; };
+ 614A8A8F8ED16753F8CFE07C /* juce_graphics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_graphics.cpp; path = ../../../../../modules/juce_graphics/juce_graphics.cpp; sourceTree = SOURCE_ROOT; };
+ 61C2BDE6AF13FDD7F7CFB20F /* callback.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/callback.h; sourceTree = SOURCE_ROOT; };
+ 61CAFC1A3803B6D6BA913E84 /* juce_ModalComponentManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ModalComponentManager.cpp; path = ../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp; sourceTree = SOURCE_ROOT; };
+ 61F8335D20F500B2BC612A2D /* juce_ProgressBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ProgressBar.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h; sourceTree = SOURCE_ROOT; };
+ 62062D02BDD756A9F4CD9917 /* juce_StringPool.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StringPool.cpp; path = ../../../../../modules/juce_core/text/juce_StringPool.cpp; sourceTree = SOURCE_ROOT; };
+ 6208ED57BF34A1758751DC64 /* juce_GlowEffect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GlowEffect.h; path = ../../../../../modules/juce_graphics/effects/juce_GlowEffect.h; sourceTree = SOURCE_ROOT; };
+ 6229C851E122AA62DFE23981 /* juce_PreferencesPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PreferencesPanel.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp; sourceTree = SOURCE_ROOT; };
+ 630596B03B4198D9FD956D98 /* juce_ThreadLocalValue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ThreadLocalValue.h; path = ../../../../../modules/juce_core/threads/juce_ThreadLocalValue.h; sourceTree = SOURCE_ROOT; };
+ 634A8B60191C15D6693B40BA /* juce_TableHeaderComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TableHeaderComponent.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 634DD22DD8F7DE4BA1BA2A8E /* juce_linux_FileChooser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_FileChooser.cpp; path = ../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp; sourceTree = SOURCE_ROOT; };
+ 634FC3F52B78B7FD78717F66 /* jidctflt.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c; sourceTree = SOURCE_ROOT; };
+ 63577C8216D3E4FA634001A3 /* jcapistd.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c; sourceTree = SOURCE_ROOT; };
+ 6362E2A941EAA49521526692 /* juce_CPlusPlusCodeTokeniser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CPlusPlusCodeTokeniser.cpp; path = ../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp; sourceTree = SOURCE_ROOT; };
+ 63E061781918F57A073B894F /* juce_OpenGLAppComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLAppComponent.h; path = ../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h; sourceTree = SOURCE_ROOT; };
+ 6401A4CD373276A624803E09 /* juce_MemoryOutputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MemoryOutputStream.cpp; path = ../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp; sourceTree = SOURCE_ROOT; };
+ 64B11380D40B53153C293929 /* juce_HighResolutionTimer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_HighResolutionTimer.cpp; path = ../../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp; sourceTree = SOURCE_ROOT; };
+ 65977552E1C7B054FE006EAB /* juce_MidiFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiFile.h; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h; sourceTree = SOURCE_ROOT; };
+ 65D2779D3783A6B0DB9DD7C1 /* mapping0.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = SOURCE_ROOT; };
+ 660163B352BBE406FE15DDEB /* juce_RelativeTime.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeTime.cpp; path = ../../../../../modules/juce_core/time/juce_RelativeTime.cpp; sourceTree = SOURCE_ROOT; };
+ 660DC5473197813B4E38CC4D /* scales.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = SOURCE_ROOT; };
+ 664C16822A70A0AC8DE7BB7C /* juce_Application.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Application.h; path = ../../../../../modules/juce_gui_basics/application/juce_Application.h; sourceTree = SOURCE_ROOT; };
+ 66838D5159BDC5AC0E777C0C /* juce_CodeTokeniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CodeTokeniser.h; path = ../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h; sourceTree = SOURCE_ROOT; };
+ 6686824DF63B35A02B0FCDAB /* juce_MenuBarComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MenuBarComponent.cpp; path = ../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 66A50CF3EB078EE4D9F4456D /* juce_win32_WASAPI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_WASAPI.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp; sourceTree = SOURCE_ROOT; };
+ 66CBE1EEF8AA4C91EB7046AA /* juce_ThreadWithProgressWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ThreadWithProgressWindow.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp; sourceTree = SOURCE_ROOT; };
+ 66E065F9613ED585487E57B8 /* juce_BubbleMessageComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BubbleMessageComponent.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 674C83936EDD53D1D3C70AC1 /* residue_44p51.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = residue_44p51.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = SOURCE_ROOT; };
+ 67663D2E66C7F1C1B6BD6392 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ 67836F067567900AD54826E5 /* psych_8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psych_8.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = SOURCE_ROOT; };
+ 67933CC08A429EF3955DA476 /* pnginfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h; sourceTree = SOURCE_ROOT; };
+ 67A20BDAD84353BFF940850E /* juce_OutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OutputStream.h; path = ../../../../../modules/juce_core/streams/juce_OutputStream.h; sourceTree = SOURCE_ROOT; };
+ 67BBC05B8A0FA71F2A325422 /* juce_InputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InputStream.h; path = ../../../../../modules/juce_core/streams/juce_InputStream.h; sourceTree = SOURCE_ROOT; };
+ 681D758E911D2D050CD20F66 /* zutil.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zutil.h; path = ../../../../../modules/juce_core/zip/zlib/zutil.h; sourceTree = SOURCE_ROOT; };
+ 68282AFC746AB0122FF571AD /* juce_TextLayout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextLayout.cpp; path = ../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp; sourceTree = SOURCE_ROOT; };
+ 685892F6AF56A2B6442C0BA2 /* codec_internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec_internal.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = SOURCE_ROOT; };
+ 686B051DB68F5583A3DE1C31 /* setup_22.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_22.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_22.h"; sourceTree = SOURCE_ROOT; };
+ 68C6E67D53E770D9165DFB36 /* endswap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/endswap.h; sourceTree = SOURCE_ROOT; };
+ 68F5730BEE88039A3E7E3195 /* juce_ApplicationBase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationBase.cpp; path = ../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp; sourceTree = SOURCE_ROOT; };
+ 69A4D0C62C1F177C0C877A3A /* juce_ImagePreviewComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImagePreviewComponent.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h; sourceTree = SOURCE_ROOT; };
+ 69DCAD4B37C6DFC393CAE941 /* analysis.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = SOURCE_ROOT; };
+ 6A3909C3FD602F355F2E5D74 /* juce_ColourGradient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ColourGradient.h; path = ../../../../../modules/juce_graphics/colour/juce_ColourGradient.h; sourceTree = SOURCE_ROOT; };
+ 6A3B0B68AF1891D6708E5CF7 /* juce_OpenGLImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLImage.cpp; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp; sourceTree = SOURCE_ROOT; };
+ 6BC2FE3123EC3468395FC8D8 /* juce_FileSearchPathListComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileSearchPathListComponent.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 6C1E9287AA9C9FEFC393DDCB /* juce_MouseListener.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseListener.cpp; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp; sourceTree = SOURCE_ROOT; };
+ 6C4EE337B0005F5CB6650264 /* juce_ReverbAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReverbAudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h; sourceTree = SOURCE_ROOT; };
+ 6C5369F8D2216549004C2A0E /* floor_all.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = floor_all.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = SOURCE_ROOT; };
+ 6C6FCFF482B11A862BE7852F /* juce_ImageCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageCache.cpp; path = ../../../../../modules/juce_graphics/images/juce_ImageCache.cpp; sourceTree = SOURCE_ROOT; };
+ 6C7EADF9387F020492C04442 /* juce_HighResolutionTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HighResolutionTimer.h; path = ../../../../../modules/juce_core/threads/juce_HighResolutionTimer.h; sourceTree = SOURCE_ROOT; };
+ 6CD61526F604817E6912686D /* juce_ThreadPool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ThreadPool.h; path = ../../../../../modules/juce_core/threads/juce_ThreadPool.h; sourceTree = SOURCE_ROOT; };
+ 6CFE9428C509216C6B6E691E /* bitrate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = SOURCE_ROOT; };
+ 6D31C33C6C7BDB06D0BCCA99 /* juce_LAMEEncoderAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LAMEEncoderAudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 6D31F014FC058BF4E76B8415 /* pngpread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c; sourceTree = SOURCE_ROOT; };
+ 6D9C6DABD7D5E768EF9DCEC9 /* juce_mac_NSViewComponentPeer.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NSViewComponentPeer.mm; path = ../../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm; sourceTree = SOURCE_ROOT; };
+ 6DC63841ED21D2CC651147C3 /* juce_events.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_events.cpp; path = ../../../../../modules/juce_events/juce_events.cpp; sourceTree = SOURCE_ROOT; };
+ 6E9222D7B192A7EF575F5003 /* juce_PathStrokeType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PathStrokeType.h; path = ../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h; sourceTree = SOURCE_ROOT; };
+ 6F0D14BB0BF350DD7664CFE7 /* juce_WeakReference.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WeakReference.h; path = ../../../../../modules/juce_core/memory/juce_WeakReference.h; sourceTree = SOURCE_ROOT; };
+ 6F60258048938FF67DFCDDE4 /* juce_RecentlyOpenedFilesList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RecentlyOpenedFilesList.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp; sourceTree = SOURCE_ROOT; };
+ 6F96929ABEA4492374734DB9 /* jdpostct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c; sourceTree = SOURCE_ROOT; };
+ 6FA8114276186677C37A02AB /* juce_core.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_core.cpp; path = ../../../../../modules/juce_core/juce_core.cpp; sourceTree = SOURCE_ROOT; };
+ 6FB98EFC21231B01B9375164 /* juce_mac_FileChooser.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_FileChooser.mm; path = ../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm; sourceTree = SOURCE_ROOT; };
+ 6FC3D011A099091610A803A3 /* juce_audio_devices.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_audio_devices.cpp; path = ../../../../../modules/juce_audio_devices/juce_audio_devices.cpp; sourceTree = SOURCE_ROOT; };
+ 6FE31511DFE124B4DBE13958 /* setup_X.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_X.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = SOURCE_ROOT; };
+ 6FF35BA648B2B034130B0BF0 /* registry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = SOURCE_ROOT; };
+ 6FFFF87297AF8C459786210B /* pngwtran.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngwtran.c; sourceTree = SOURCE_ROOT; };
+ 7038FD73A5F7527FB76E987E /* juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_graphics.mm; path = ../../JuceLibraryCode/juce_graphics.mm; sourceTree = SOURCE_ROOT; };
+ 70426BCCD5E978424B32AC8B /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = BlocksSynth/Images.xcassets; sourceTree = SOURCE_ROOT; };
+ 711B895681BA427CC7DF8E7E /* juce_android_GraphicsContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_GraphicsContext.cpp; path = ../../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp; sourceTree = SOURCE_ROOT; };
+ 711C1E768B2C7DB6946D1703 /* juce_BufferingAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BufferingAudioSource.cpp; path = ../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp; sourceTree = SOURCE_ROOT; };
+ 7127835E262D977E179ABA27 /* export.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/export.h; sourceTree = SOURCE_ROOT; };
+ 71A349845B0AB4ECB6FB56AB /* juce_mac_Threads.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Threads.mm; path = ../../../../../modules/juce_core/native/juce_mac_Threads.mm; sourceTree = SOURCE_ROOT; };
+ 720BE46FF929B0A8D37DBB05 /* juce_Reverb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Reverb.h; path = ../../../../../modules/juce_audio_basics/effects/juce_Reverb.h; sourceTree = SOURCE_ROOT; };
+ 72578DAAE178DD6EDC268A4E /* juce_Image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Image.h; path = ../../../../../modules/juce_graphics/images/juce_Image.h; sourceTree = SOURCE_ROOT; };
+ 729FBFD01DE3FC0BAFB0C65F /* compress.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = ../../../../../modules/juce_core/zip/zlib/compress.c; sourceTree = SOURCE_ROOT; };
+ 72E27E0C9F64F1BACD6EF454 /* bitreader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h; sourceTree = SOURCE_ROOT; };
+ 730CE994579DDD2DE49B5D7A /* juce_ListBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ListBox.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp; sourceTree = SOURCE_ROOT; };
+ 733D19DB0084F1592D2ACCB5 /* juce_FileChooser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileChooser.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp; sourceTree = SOURCE_ROOT; };
+ 735D98A7029754C4EEC30638 /* juce_ReferenceCountedArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReferenceCountedArray.h; path = ../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h; sourceTree = SOURCE_ROOT; };
+ 738A2C478AADF47D641F9577 /* juce_OpenGLFrameBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLFrameBuffer.cpp; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp; sourceTree = SOURCE_ROOT; };
+ 74040BA20DE2E305AE2D0480 /* juce_MPEValue.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPEValue.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp; sourceTree = SOURCE_ROOT; };
+ 747883C759DB70A4DAB5FF3C /* juce_Colour.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Colour.cpp; path = ../../../../../modules/juce_graphics/colour/juce_Colour.cpp; sourceTree = SOURCE_ROOT; };
+ 74F32D6CE88116DDAD104001 /* juce_Sampler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Sampler.cpp; path = ../../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp; sourceTree = SOURCE_ROOT; };
+ 75725425105CE1949C646ADA /* juce_InterprocessConnectionServer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_InterprocessConnectionServer.cpp; path = ../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp; sourceTree = SOURCE_ROOT; };
+ 7578F0E1F643412976B603E9 /* juce_Synthesiser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Synthesiser.cpp; path = ../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp; sourceTree = SOURCE_ROOT; };
+ 75A2F39B22AC60256D2115D4 /* juce_AudioSourcePlayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioSourcePlayer.h; path = ../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h; sourceTree = SOURCE_ROOT; };
+ 75D9711B81D5DBE678D64734 /* juce_ActiveXControlComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ActiveXControlComponent.h; path = ../../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h; sourceTree = SOURCE_ROOT; };
+ 75E083FA4A0BAB99229F23EB /* stream_encoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = stream_encoder.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h; sourceTree = SOURCE_ROOT; };
+ 7609EEEACF06B6ABC9B0AD6C /* juce_audio_formats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_audio_formats.cpp; path = ../../../../../modules/juce_audio_formats/juce_audio_formats.cpp; sourceTree = SOURCE_ROOT; };
+ 761F52DF0A7AEB7B43229D12 /* jdapistd.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c; sourceTree = SOURCE_ROOT; };
+ 769D6EB9D30812CE68C829C8 /* juce_OggVorbisAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OggVorbisAudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 769EC065E9455C2DFECD2CCA /* juce_AudioDeviceManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioDeviceManager.h; path = ../../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h; sourceTree = SOURCE_ROOT; };
+ 77192DF1CEF8FA03F0E6EE79 /* deflate.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = ../../../../../modules/juce_core/zip/zlib/deflate.c; sourceTree = SOURCE_ROOT; };
+ 771B35D7F44BB8C0DFDE2452 /* juce_AudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormat.h; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h; sourceTree = SOURCE_ROOT; };
+ 7773CF6756E7F17F8CCFBB0B /* juce_RelativePointPath.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativePointPath.h; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h; sourceTree = SOURCE_ROOT; };
+ 778E2234490F20FEC78AE06E /* juce_Topology.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Topology.h; path = ../../../../../modules/juce_blocks_basics/topology/juce_Topology.h; sourceTree = SOURCE_ROOT; };
+ 77A1BF25012758C1D78583E4 /* juce_ResizableBorderComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResizableBorderComponent.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h; sourceTree = SOURCE_ROOT; };
+ 77EAC0B282DEA3227F3F03B1 /* MainComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 7806B0B64D514AC448AD6E0F /* juce_MidiOutput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiOutput.h; path = ../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h; sourceTree = SOURCE_ROOT; };
+ 780ED77A4BF65BA1F5E61F95 /* juce_Block.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Block.cpp; path = ../../../../../modules/juce_blocks_basics/blocks/juce_Block.cpp; sourceTree = SOURCE_ROOT; };
+ 78E5BFE91209EE3CA40BAC3C /* juce_SystemStats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SystemStats.h; path = ../../../../../modules/juce_core/system/juce_SystemStats.h; sourceTree = SOURCE_ROOT; };
+ 78E8E4FD896C87A932976258 /* juce_StandardHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StandardHeader.h; path = ../../../../../modules/juce_core/system/juce_StandardHeader.h; sourceTree = SOURCE_ROOT; };
+ 79741977D90F18EC3D8BAE35 /* juce_audio_basics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_audio_basics.cpp; path = ../../../../../modules/juce_audio_basics/juce_audio_basics.cpp; sourceTree = SOURCE_ROOT; };
+ 7986D1D717F09A2C5DB15445 /* jcmainct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c; sourceTree = SOURCE_ROOT; };
+ 799F28AA91B1E73D5DD93EF8 /* juce_RelativePointPath.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativePointPath.cpp; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp; sourceTree = SOURCE_ROOT; };
+ 79C0162E66B96342B5135E1F /* juce_win32_Registry.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Registry.cpp; path = ../../../../../modules/juce_core/native/juce_win32_Registry.cpp; sourceTree = SOURCE_ROOT; };
+ 79DB1C896B9D762A9BF4D9EF /* juce_ChangeListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChangeListener.h; path = ../../../../../modules/juce_events/broadcasters/juce_ChangeListener.h; sourceTree = SOURCE_ROOT; };
+ 7A252E1B8C10CF47B083732B /* juce_FileInputSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileInputSource.cpp; path = ../../../../../modules/juce_core/streams/juce_FileInputSource.cpp; sourceTree = SOURCE_ROOT; };
+ 7A31D46D227370A23021E676 /* res0.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = SOURCE_ROOT; };
+ 7A45794310114755CDD94AB1 /* juce_Label.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Label.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_Label.cpp; sourceTree = SOURCE_ROOT; };
+ 7A5719ACD9A5B0D2663B2EB4 /* juce_PropertySet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PropertySet.h; path = ../../../../../modules/juce_core/containers/juce_PropertySet.h; sourceTree = SOURCE_ROOT; };
+ 7B516EE490E9912305AEBFDC /* juce_CompilerSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CompilerSupport.h; path = ../../../../../modules/juce_core/system/juce_CompilerSupport.h; sourceTree = SOURCE_ROOT; };
+ 7BBCCF2C183BCF08FA446ABB /* juce_FileOutputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileOutputStream.cpp; path = ../../../../../modules/juce_core/files/juce_FileOutputStream.cpp; sourceTree = SOURCE_ROOT; };
+ 7C32EA6B5A32E29B31FE6FFA /* lsp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = SOURCE_ROOT; };
+ 7C3509B7C5B03AEF2B13D26C /* juce_CustomTypeface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CustomTypeface.h; path = ../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h; sourceTree = SOURCE_ROOT; };
+ 7C5529A757AAF95634BB7251 /* juce_LookAndFeel_V3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LookAndFeel_V3.h; path = ../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h; sourceTree = SOURCE_ROOT; };
+ 7C5ACCC90B3367A29598171C /* juce_InputSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InputSource.h; path = ../../../../../modules/juce_core/streams/juce_InputSource.h; sourceTree = SOURCE_ROOT; };
+ 7D3372B86F706B2EB958851D /* juce_Drawable.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Drawable.cpp; path = ../../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp; sourceTree = SOURCE_ROOT; };
+ 7D5439A24397FB12F5B97C69 /* juce_SystemTrayIconComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SystemTrayIconComponent.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 7D7F423A3FB0AC8EDBE62944 /* juce_CaretComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CaretComponent.h; path = ../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h; sourceTree = SOURCE_ROOT; };
+ 7E391A85858C06D5F6286DE1 /* juce_BufferedInputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BufferedInputStream.h; path = ../../../../../modules/juce_core/streams/juce_BufferedInputStream.h; sourceTree = SOURCE_ROOT; };
+ 7E3C266A9195C927EDA3D45B /* stream_decoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = stream_decoder.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/stream_decoder.h; sourceTree = SOURCE_ROOT; };
+ 7E6FCB5568F74241A49A5B91 /* juce_String.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_String.cpp; path = ../../../../../modules/juce_core/text/juce_String.cpp; sourceTree = SOURCE_ROOT; };
+ 7F13C06AE22B799467575AB5 /* smallft.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = SOURCE_ROOT; };
+ 7F71A4F3F4814177EB0CFB75 /* jcinit.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c; sourceTree = SOURCE_ROOT; };
+ 7F9265BF55E77A3F1FE16D6A /* juce_MidiMessageCollector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessageCollector.h; path = ../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h; sourceTree = SOURCE_ROOT; };
+ 7FE57FC0CEE579C81819F26B /* juce_FilenameComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FilenameComponent.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 80235293554BB0956701E9ED /* juce_CharPointer_ASCII.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharPointer_ASCII.h; path = ../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h; sourceTree = SOURCE_ROOT; };
+ 80BBC5D053419503A600F7D5 /* Protocol Format.txt */ = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Protocol Format.txt"; path = "../../../../../modules/juce_blocks_basics/protocol/Protocol Format.txt"; sourceTree = SOURCE_ROOT; };
+ 80CB00749EEB05EB63E6AB02 /* juce_DrawableRectangle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableRectangle.cpp; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp; sourceTree = SOURCE_ROOT; };
+ 80E878BF0672503772AB3C6C /* juce_DrawableButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableButton.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp; sourceTree = SOURCE_ROOT; };
+ 8103743F82032789096ACEB5 /* juce_CodeEditorComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CodeEditorComponent.h; path = ../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h; sourceTree = SOURCE_ROOT; };
+ 811EB7C741184EAE672D6581 /* juce_FileTreeComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileTreeComponent.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 812F5FE9CE244FFDCFA5F7D7 /* envelope.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = SOURCE_ROOT; };
+ 813E65ADB3932DDD6C2FD747 /* juce_LowLevelGraphicsSoftwareRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LowLevelGraphicsSoftwareRenderer.h; path = ../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h; sourceTree = SOURCE_ROOT; };
+ 818EFDD3442FFD396956B865 /* Ogg Vorbis Licence.txt */ = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = SOURCE_ROOT; };
+ 819FAA8F15DD9C9789D26B77 /* juce_StretchableLayoutResizerBar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StretchableLayoutResizerBar.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp; sourceTree = SOURCE_ROOT; };
+ 81ADF2BEFA99AD3AB0FC9A82 /* juce_LEDGrid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LEDGrid.h; path = ../../../../../modules/juce_blocks_basics/blocks/juce_LEDGrid.h; sourceTree = SOURCE_ROOT; };
+ 820AEA62B5F877385A1B482D /* juce_BigInteger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BigInteger.h; path = ../../../../../modules/juce_core/maths/juce_BigInteger.h; sourceTree = SOURCE_ROOT; };
+ 8221B5162E280BE9AB2619CD /* juce_MPEZoneLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPEZoneLayout.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h; sourceTree = SOURCE_ROOT; };
+ 8232BE31BA3CA0AE677EC11D /* juce_DynamicObject.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DynamicObject.cpp; path = ../../../../../modules/juce_core/containers/juce_DynamicObject.cpp; sourceTree = SOURCE_ROOT; };
+ 82A5E18127980C5CF8AE919F /* juce_TooltipClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TooltipClient.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h; sourceTree = SOURCE_ROOT; };
+ 82C32D94FAED75BF1FBB3FCB /* setup_8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_8.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_8.h"; sourceTree = SOURCE_ROOT; };
+ 83123049240352B97AEC1FBE /* juce_ListenerList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ListenerList.h; path = ../../../../../modules/juce_core/containers/juce_ListenerList.h; sourceTree = SOURCE_ROOT; };
+ 8319007F2F0B140F09E10D2E /* juce_ios_UIViewComponent.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_UIViewComponent.mm; path = ../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm; sourceTree = SOURCE_ROOT; };
+ 83A8F8A11B1659400C525E81 /* juce_PhysicalTopologySource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PhysicalTopologySource.cpp; path = ../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.cpp; sourceTree = SOURCE_ROOT; };
+ 83AFB3E647BB6ED40AA571A8 /* stream_encoder_framing.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = stream_encoder_framing.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h; sourceTree = SOURCE_ROOT; };
+ 8406536DA0B794016B0CC15B /* jfdctint.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c; sourceTree = SOURCE_ROOT; };
+ 84182A25498E78D5DEF6E925 /* juce_ToneGeneratorAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToneGeneratorAudioSource.cpp; path = ../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp; sourceTree = SOURCE_ROOT; };
+ 84187C96133F7EAC39E46D9B /* juce_ShapeButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ShapeButton.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp; sourceTree = SOURCE_ROOT; };
+ 849CF8E8313D7205E0DAA6F8 /* juce_SystemStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SystemStats.cpp; path = ../../../../../modules/juce_core/system/juce_SystemStats.cpp; sourceTree = SOURCE_ROOT; };
+ 84BE02BFDAF53B9697664253 /* juce_MidiFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiFile.cpp; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp; sourceTree = SOURCE_ROOT; };
+ 84FD4873C8F91A307D95563B /* stream_encoder.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = stream_encoder.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c; sourceTree = SOURCE_ROOT; };
+ 84FE9718AAA47D64293881CB /* juce_ResizableEdgeComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResizableEdgeComponent.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h; sourceTree = SOURCE_ROOT; };
+ 8503FD83B959A39D75548438 /* setup_44.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_44.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = SOURCE_ROOT; };
+ 852CE105B166A48264750790 /* juce_MidiMessageCollector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiMessageCollector.cpp; path = ../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp; sourceTree = SOURCE_ROOT; };
+ 854C4EBBB0954052ACF55160 /* juce_MidiKeyboardState.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiKeyboardState.cpp; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp; sourceTree = SOURCE_ROOT; };
+ 856D6984E668878C082F6CE8 /* juce_ToneGeneratorAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToneGeneratorAudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h; sourceTree = SOURCE_ROOT; };
+ 866A90A69A3EB77768DD8A23 /* juce_core.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_core.h; path = ../../../../../modules/juce_core/juce_core.h; sourceTree = SOURCE_ROOT; };
+ 868BF9273B56A0762F1CE5B8 /* juce_Desktop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Desktop.cpp; path = ../../../../../modules/juce_gui_basics/components/juce_Desktop.cpp; sourceTree = SOURCE_ROOT; };
+ 8694FBBB22ADD72875586C4C /* juce_TableListBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TableListBox.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h; sourceTree = SOURCE_ROOT; };
+ 86C5B51CA8FE58BBE6C48E5E /* juce_mac_NSViewComponent.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NSViewComponent.mm; path = ../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm; sourceTree = SOURCE_ROOT; };
+ 8706B5033AE6F9AD92FB4F70 /* juce_ResizableCornerComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResizableCornerComponent.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h; sourceTree = SOURCE_ROOT; };
+ 875FEC3940D6185FD9190213 /* juce_ResizableBorderComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResizableBorderComponent.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 879DC7CDE41F11EF9A8F3FCE /* juce_DropShadower.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DropShadower.cpp; path = ../../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp; sourceTree = SOURCE_ROOT; };
+ 87ECEEBFFBBFB5281E991537 /* JuceHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
+ 87F3AD7F998AC58254A5CB14 /* pngerror.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c; sourceTree = SOURCE_ROOT; };
+ 881A4A50718FA7CE3F3E5375 /* floor1.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = SOURCE_ROOT; };
+ 884EE4AA71233E725BAC6B70 /* juce_String.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_String.h; path = ../../../../../modules/juce_core/text/juce_String.h; sourceTree = SOURCE_ROOT; };
+ 88587028FF53FA6CFA0D4887 /* juce_MidiMessage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiMessage.cpp; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp; sourceTree = SOURCE_ROOT; };
+ 8899E26B15AA5CE8D18A2DB2 /* juce_ios_Windowing.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_Windowing.mm; path = ../../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm; sourceTree = SOURCE_ROOT; };
+ 890AEBD8BEC0A1A2C418F79B /* juce_ColourGradient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ColourGradient.cpp; path = ../../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp; sourceTree = SOURCE_ROOT; };
+ 892C11FB5B2192DC7FE0E617 /* juce_MenuBarModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MenuBarModel.cpp; path = ../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp; sourceTree = SOURCE_ROOT; };
+ 89C83AC387C203CF1105C951 /* juce_MPEInstrument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPEInstrument.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h; sourceTree = SOURCE_ROOT; };
+ 8A270D3B29FF0A115BDA7C00 /* juce_android_WebBrowserComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_WebBrowserComponent.cpp; path = ../../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 8A3C4AF25492360327C080A7 /* zutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = ../../../../../modules/juce_core/zip/zlib/zutil.c; sourceTree = SOURCE_ROOT; };
+ 8A3EF0C45AE28C847B7BB89E /* juce_Decibels.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Decibels.h; path = ../../../../../modules/juce_audio_basics/effects/juce_Decibels.h; sourceTree = SOURCE_ROOT; };
+ 8A48EB23ED8F364CF167DF1D /* stream_encoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = stream_encoder.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h; sourceTree = SOURCE_ROOT; };
+ 8A92A94D8E00418673E58846 /* jmemmgr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c; sourceTree = SOURCE_ROOT; };
+ 8AB24BF1D27B394712F32CBF /* juce_LEDRow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LEDRow.h; path = ../../../../../modules/juce_blocks_basics/blocks/juce_LEDRow.h; sourceTree = SOURCE_ROOT; };
+ 8AC432E785BEC3DAD8663650 /* juce_TableListBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TableListBox.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp; sourceTree = SOURCE_ROOT; };
+ 8AFFB60B20E17B797777B2B8 /* cpu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cpu.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/cpu.h; sourceTree = SOURCE_ROOT; };
+ 8BC3502A774FCDC44C015866 /* juce_FileFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileFilter.h; path = ../../../../../modules/juce_core/files/juce_FileFilter.h; sourceTree = SOURCE_ROOT; };
+ 8BD079BB7D801C6E67873BA1 /* psy.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = SOURCE_ROOT; };
+ 8BE67E7D6CE3A17E2E120520 /* juce_DynamicObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DynamicObject.h; path = ../../../../../modules/juce_core/containers/juce_DynamicObject.h; sourceTree = SOURCE_ROOT; };
+ 8CAF15744CF73CDE5C577AB3 /* juce_win32_Files.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Files.cpp; path = ../../../../../modules/juce_core/native/juce_win32_Files.cpp; sourceTree = SOURCE_ROOT; };
+ 8CB049C67CA9CA3E76960B1D /* juce_CodeDocument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CodeDocument.h; path = ../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h; sourceTree = SOURCE_ROOT; };
+ 8CB84F9ACB8B17117E5FE0C4 /* juce_AudioFormatReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormatReader.cpp; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp; sourceTree = SOURCE_ROOT; };
+ 8CCE915477416067D7B0F311 /* juce_HashMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HashMap.h; path = ../../../../../modules/juce_core/containers/juce_HashMap.h; sourceTree = SOURCE_ROOT; };
+ 8CDDF045B2A202FCA5DFD932 /* synthesis.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = synthesis.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/synthesis.c"; sourceTree = SOURCE_ROOT; };
+ 8D267142A6682D9886D0CD9A /* juce_LookAndFeel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LookAndFeel.cpp; path = ../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp; sourceTree = SOURCE_ROOT; };
+ 8D69477B2E980591FF3F78EE /* juce_ApplicationBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationBase.h; path = ../../../../../modules/juce_events/messages/juce_ApplicationBase.h; sourceTree = SOURCE_ROOT; };
+ 8DC679191499EAE03463DC3E /* juce_CharPointer_UTF32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharPointer_UTF32.h; path = ../../../../../modules/juce_core/text/juce_CharPointer_UTF32.h; sourceTree = SOURCE_ROOT; };
+ 8DC8471AAC1855AC5FCF5A49 /* juce_ComboBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComboBox.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h; sourceTree = SOURCE_ROOT; };
+ 8E5D35AF16D5BC97A9F05B26 /* juce_XMLCodeTokeniser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_XMLCodeTokeniser.cpp; path = ../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp; sourceTree = SOURCE_ROOT; };
+ 8E8618D73EBC59ABD8A424EB /* juce_BooleanPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BooleanPropertyComponent.h; path = ../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h; sourceTree = SOURCE_ROOT; };
+ 8E8EB4F5ADDC2D5B024F0F0F /* juce_android_OpenSL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_OpenSL.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp; sourceTree = SOURCE_ROOT; };
+ 8EBDC229B7D3D13C09C28CE6 /* juce_Identifier.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Identifier.cpp; path = ../../../../../modules/juce_core/text/juce_Identifier.cpp; sourceTree = SOURCE_ROOT; };
+ 8EEEC7C23F3A4D5EBAD32660 /* juce_FillType.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FillType.cpp; path = ../../../../../modules/juce_graphics/colour/juce_FillType.cpp; sourceTree = SOURCE_ROOT; };
+ 8EF4F0D964C0ECA2E058F7DC /* juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_events.mm; path = ../../JuceLibraryCode/juce_events.mm; sourceTree = SOURCE_ROOT; };
+ 8EFAE8B2003284F5A905E08D /* juce_PerformanceCounter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PerformanceCounter.cpp; path = ../../../../../modules/juce_core/time/juce_PerformanceCounter.cpp; sourceTree = SOURCE_ROOT; };
+ 8F311C729219275902113CE6 /* juce_RectanglePlacement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RectanglePlacement.cpp; path = ../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp; sourceTree = SOURCE_ROOT; };
+ 8FACD18D8DF3D14D269091CA /* juce_CaretComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CaretComponent.cpp; path = ../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 8FBD6AD2AA7111D2BE5D52AD /* codec.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = ../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h; sourceTree = SOURCE_ROOT; };
+ 8FC4E1BB74B356F0099608B9 /* juce_AudioIODeviceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioIODeviceType.h; path = ../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h; sourceTree = SOURCE_ROOT; };
+ 90040097B24860C360877342 /* juce_Value.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Value.h; path = ../../../../../modules/juce_data_structures/values/juce_Value.h; sourceTree = SOURCE_ROOT; };
+ 90092F1E5EBA0AA6057FBE6A /* juce_linux_JackAudio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_JackAudio.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp; sourceTree = SOURCE_ROOT; };
+ 905BDA536A972F6FC36B356F /* juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_basics.mm; path = ../../../../../modules/juce_audio_basics/juce_audio_basics.mm; sourceTree = SOURCE_ROOT; };
+ 9065B3CBA068CCEE9F5AFDFE /* juce_ScopedWriteLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedWriteLock.h; path = ../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h; sourceTree = SOURCE_ROOT; };
+ 90A6E39FA0169E7EE1E66FA7 /* juce_MidiRPN.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiRPN.h; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h; sourceTree = SOURCE_ROOT; };
+ 9109705AE4C9C46B0CEBAD57 /* juce_DrawablePath.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawablePath.cpp; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp; sourceTree = SOURCE_ROOT; };
+ 9159BC49F78C18D4ABBAA16A /* all.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/all.h; sourceTree = SOURCE_ROOT; };
+ 919078E0ACA29DBAEFAEDB97 /* juce_audio_devices.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_devices.mm; path = ../../../../../modules/juce_audio_devices/juce_audio_devices.mm; sourceTree = SOURCE_ROOT; };
+ 91EBFF0D72C95AA186003C8E /* juce_AudioFormatWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormatWriter.h; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h; sourceTree = SOURCE_ROOT; };
+ 92014E0EF85DDA08ACCFE803 /* juce_CachedValue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CachedValue.h; path = ../../../../../modules/juce_data_structures/values/juce_CachedValue.h; sourceTree = SOURCE_ROOT; };
+ 920D2C92A6D26ECC0914BE7A /* juce_ReadWriteLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReadWriteLock.h; path = ../../../../../modules/juce_core/threads/juce_ReadWriteLock.h; sourceTree = SOURCE_ROOT; };
+ 92679B9C6D17B2B7CD7B4EFA /* juce_GlyphArrangement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GlyphArrangement.h; path = ../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h; sourceTree = SOURCE_ROOT; };
+ 92CEF1181147D9E110D85278 /* juce_Matrix3D.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Matrix3D.h; path = ../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h; sourceTree = SOURCE_ROOT; };
+ 930BD2067E0A3FC1B0812211 /* residue_44.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = residue_44.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = SOURCE_ROOT; };
+ 936C85C333BE640A26BEA92B /* fixed.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h; sourceTree = SOURCE_ROOT; };
+ 93704EAD7D73562297F10C7B /* juce_CatmullRomInterpolator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CatmullRomInterpolator.cpp; path = ../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp; sourceTree = SOURCE_ROOT; };
+ 939C507246EB383834A13299 /* jdmainct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c; sourceTree = SOURCE_ROOT; };
+ 93B87F458F1F33BFD30539FD /* juce_BufferingAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BufferingAudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h; sourceTree = SOURCE_ROOT; };
+ 93FDFB1DD4E2378AE729BA02 /* juce_StringRef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StringRef.h; path = ../../../../../modules/juce_core/text/juce_StringRef.h; sourceTree = SOURCE_ROOT; };
+ 94123CD59BFDC04A9DFCB71B /* juce_DirectoryIterator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectoryIterator.h; path = ../../../../../modules/juce_core/files/juce_DirectoryIterator.h; sourceTree = SOURCE_ROOT; };
+ 942341A54DBA7FD0D9AD19DF /* window_flac.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window_flac.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c; sourceTree = SOURCE_ROOT; };
+ 942B534CD5B5BA732092A55E /* juce_mac_CoreGraphicsContext.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_CoreGraphicsContext.mm; path = ../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm; sourceTree = SOURCE_ROOT; };
+ 94E460DE1BB4B000A0EB883A /* juce_ComponentMovementWatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentMovementWatcher.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp; sourceTree = SOURCE_ROOT; };
+ 95636B26C770CFEADB3201BA /* juce_graphics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_graphics.h; path = ../../../../../modules/juce_graphics/juce_graphics.h; sourceTree = SOURCE_ROOT; };
+ 959F6D02ECA6B976583C67FA /* juce_TreeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TreeView.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h; sourceTree = SOURCE_ROOT; };
+ 95A6DD5234F109DB3ABC983C /* juce_CharacterFunctions.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CharacterFunctions.cpp; path = ../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp; sourceTree = SOURCE_ROOT; };
+ 96A355D0A7CCC55998862273 /* juce_ChoicePropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ChoicePropertyComponent.cpp; path = ../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 96B1C4A89CB5A5423A116F84 /* juce_win32_Network.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Network.cpp; path = ../../../../../modules/juce_core/native/juce_win32_Network.cpp; sourceTree = SOURCE_ROOT; };
+ 96C5E46FAC93C462A7EBF4DF /* juce_audio_formats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_audio_formats.h; path = ../../../../../modules/juce_audio_formats/juce_audio_formats.h; sourceTree = SOURCE_ROOT; };
+ 96FC2E3988B10054B1A11323 /* juce_GroupComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GroupComponent.h; path = ../../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h; sourceTree = SOURCE_ROOT; };
+ 9707394FCE0F9ED5DDBB0524 /* juce_UnitTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_UnitTest.h; path = ../../../../../modules/juce_core/unit_tests/juce_UnitTest.h; sourceTree = SOURCE_ROOT; };
+ 9768B98C6D83F54C36FA719F /* crc32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = ../../../../../modules/juce_core/zip/zlib/crc32.c; sourceTree = SOURCE_ROOT; };
+ 97A84C15178314A33151C129 /* juce_ToolbarItemFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToolbarItemFactory.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h; sourceTree = SOURCE_ROOT; };
+ 97AE93FD5FB144697DBFE207 /* juce_CoreAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CoreAudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 97BAAC4F048477A639E48B3F /* juce_Expression.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Expression.cpp; path = ../../../../../modules/juce_core/maths/juce_Expression.cpp; sourceTree = SOURCE_ROOT; };
+ 97C27DB9A68F6AACFF857A46 /* juce_XmlElement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_XmlElement.h; path = ../../../../../modules/juce_core/xml/juce_XmlElement.h; sourceTree = SOURCE_ROOT; };
+ 97DC76FC35177C25FECDD169 /* jdmerge.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c; sourceTree = SOURCE_ROOT; };
+ 982342A0B98DB337C74DC50A /* bitwriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h; sourceTree = SOURCE_ROOT; };
+ 982EF3C57A98E26EAD69AE4B /* pngset.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngset.c; sourceTree = SOURCE_ROOT; };
+ 987209E1994B07DBD16DEC8B /* juce_Result.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Result.cpp; path = ../../../../../modules/juce_core/misc/juce_Result.cpp; sourceTree = SOURCE_ROOT; };
+ 98A71ED25423EDA3D71C5A82 /* juce_ImageComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageComponent.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 993A042E02F2CE3ABC485FC1 /* juce_FileFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileFilter.cpp; path = ../../../../../modules/juce_core/files/juce_FileFilter.cpp; sourceTree = SOURCE_ROOT; };
+ 99A9A70A22EC3C598F623111 /* block.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = SOURCE_ROOT; };
+ 99D62156E5F03AEEF0F367BE /* juce_ReferenceCountedObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReferenceCountedObject.h; path = ../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h; sourceTree = SOURCE_ROOT; };
+ 99D82B4AECBFE5BBEA8E435B /* juce_OpenGL_osx.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_osx.h; path = ../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h; sourceTree = SOURCE_ROOT; };
+ 9A157F41830D8E72D9B6DDE9 /* juce_DragAndDropContainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DragAndDropContainer.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h; sourceTree = SOURCE_ROOT; };
+ 9AAD4E5C83FE06AA1C471DCB /* juce_MemoryBlock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryBlock.h; path = ../../../../../modules/juce_core/memory/juce_MemoryBlock.h; sourceTree = SOURCE_ROOT; };
+ 9B04A8539B5ED08A7E26072A /* juce_UndoableAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_UndoableAction.h; path = ../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h; sourceTree = SOURCE_ROOT; };
+ 9B059A5FCABFC0743BAAEDB0 /* juce_BorderSize.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BorderSize.h; path = ../../../../../modules/juce_graphics/geometry/juce_BorderSize.h; sourceTree = SOURCE_ROOT; };
+ 9B927FB567BC0D29DE04DEC7 /* juce_Path.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Path.h; path = ../../../../../modules/juce_graphics/geometry/juce_Path.h; sourceTree = SOURCE_ROOT; };
+ 9BA7FB3722B671A47037C909 /* jpegint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpegint.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jpegint.h; sourceTree = SOURCE_ROOT; };
+ 9BC007D5846F63F0F37CF97B /* juce_gui_basics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_gui_basics.cpp; path = ../../../../../modules/juce_gui_basics/juce_gui_basics.cpp; sourceTree = SOURCE_ROOT; };
+ 9BC9AD541C62AF0DD2BC11D5 /* juce_MathsFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MathsFunctions.h; path = ../../../../../modules/juce_core/maths/juce_MathsFunctions.h; sourceTree = SOURCE_ROOT; };
+ 9C331AACD288AAD9F7FDF881 /* juce_mac_Strings.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Strings.mm; path = ../../../../../modules/juce_core/native/juce_mac_Strings.mm; sourceTree = SOURCE_ROOT; };
+ 9C5ED73E2DF5FDCE5189E945 /* juce_SelectedItemSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SelectedItemSet.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h; sourceTree = SOURCE_ROOT; };
+ 9CD701758E71973D7BF7CC8D /* juce_BubbleComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BubbleComponent.cpp; path = ../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 9D16672FDB24B44DFF13E4B1 /* juce_StretchableLayoutResizerBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StretchableLayoutResizerBar.h; path = ../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h; sourceTree = SOURCE_ROOT; };
+ 9D36B0CD0D56048687E2A573 /* zlib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = ../../../../../modules/juce_core/zip/zlib/zlib.h; sourceTree = SOURCE_ROOT; };
+ 9D53AA5877289D7EC8E9D708 /* juce_RelativeCoordinate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeCoordinate.h; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h; sourceTree = SOURCE_ROOT; };
+ 9D68ED5474F6AA923599D783 /* juce_QuickTimeAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_QuickTimeAudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ 9D95253B677F8E6E916D4C41 /* juce_Random.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Random.h; path = ../../../../../modules/juce_core/maths/juce_Random.h; sourceTree = SOURCE_ROOT; };
+ 9E0DB0A243F94F8D90C1CB1B /* juce_Initialisation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Initialisation.h; path = ../../../../../modules/juce_events/messages/juce_Initialisation.h; sourceTree = SOURCE_ROOT; };
+ 9E490E7A44CB793DDFBEE1EE /* juce_OpenGLAppComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLAppComponent.cpp; path = ../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp; sourceTree = SOURCE_ROOT; };
+ 9E56353F5164018FE9407346 /* juce_MouseEvent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseEvent.cpp; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp; sourceTree = SOURCE_ROOT; };
+ 9EA89360E878DE14172E34CF /* juce_SplashScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SplashScreen.h; path = ../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h; sourceTree = SOURCE_ROOT; };
+ 9F02393F695A4882E729627C /* juce_MouseInputSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseInputSource.cpp; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp; sourceTree = SOURCE_ROOT; };
+ 9F13791A2E1028E08EFB5A32 /* juce_Viewport.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Viewport.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp; sourceTree = SOURCE_ROOT; };
+ 9F87B75B0923DE3CA7124827 /* jccoefct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c; sourceTree = SOURCE_ROOT; };
+ A00E9DF1CB3DB09C81B31D98 /* juce_FFT.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FFT.cpp; path = ../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp; sourceTree = SOURCE_ROOT; };
+ A0B8C5DC5B1C48EF0B25D9DB /* juce_TextDragAndDropTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextDragAndDropTarget.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h; sourceTree = SOURCE_ROOT; };
+ A0C6E00A2F5204606A1B0196 /* juce_OpenGLShaderProgram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLShaderProgram.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h; sourceTree = SOURCE_ROOT; };
+ A0FF0FE7A4BA41F808EBF3C1 /* cderror.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cderror.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/cderror.h; sourceTree = SOURCE_ROOT; };
+ A10A8513A3239AF1A4E59DD6 /* juce_PNGLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PNGLoader.cpp; path = ../../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp; sourceTree = SOURCE_ROOT; };
+ A16EB5BE88FD8E25BD4F4158 /* juce_OpenGLTexture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLTexture.cpp; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp; sourceTree = SOURCE_ROOT; };
+ A1842A3B2210EA4F3E78A614 /* juce_HyperlinkButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_HyperlinkButton.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp; sourceTree = SOURCE_ROOT; };
+ A19C3A3A74428A4C8EF44EBF /* highlevel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = highlevel.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/highlevel.h"; sourceTree = SOURCE_ROOT; };
+ A1C12AC77EFFF165AC6B053D /* juce_TextButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextButton.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_TextButton.h; sourceTree = SOURCE_ROOT; };
+ A23399E22779624DCB1D025C /* juce_Image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Image.cpp; path = ../../../../../modules/juce_graphics/images/juce_Image.cpp; sourceTree = SOURCE_ROOT; };
+ A235D66B34BD50E939FF885D /* juce_mac_ClangBugWorkaround.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_ClangBugWorkaround.h; path = ../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h; sourceTree = SOURCE_ROOT; };
+ A2DCF1D28A3EADC8DB365F97 /* juce_CodeEditorComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CodeEditorComponent.cpp; path = ../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp; sourceTree = SOURCE_ROOT; };
+ A317B26EF3D30E3CFCC80F79 /* pngread.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngread.c; sourceTree = SOURCE_ROOT; };
+ A31876A1700D5032452F8AA8 /* juce_FileBasedDocument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileBasedDocument.h; path = ../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h; sourceTree = SOURCE_ROOT; };
+ A32C77F35CC0A61153BDD2BD /* float.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h; sourceTree = SOURCE_ROOT; };
+ A3C88D6C40459FD49F4BBBFC /* juce_ImageButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageButton.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h; sourceTree = SOURCE_ROOT; };
+ A406981AEDB8C64F3F1000ED /* juce_FileSearchPath.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileSearchPath.h; path = ../../../../../modules/juce_core/files/juce_FileSearchPath.h; sourceTree = SOURCE_ROOT; };
+ A40D3E3FFBEC78F04EE0DE5A /* juce_blocks_basics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_blocks_basics.cpp; path = ../../JuceLibraryCode/juce_blocks_basics.cpp; sourceTree = SOURCE_ROOT; };
+ A416B5CD799D7BDABF8FEE69 /* juce_TouchSurface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TouchSurface.h; path = ../../../../../modules/juce_blocks_basics/blocks/juce_TouchSurface.h; sourceTree = SOURCE_ROOT; };
+ A41A3F1FD1EE4F50F9267231 /* juce_SplashScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SplashScreen.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp; sourceTree = SOURCE_ROOT; };
+ A48C9F610C0BDA307CC287F7 /* juce_DeletedAtShutdown.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DeletedAtShutdown.cpp; path = ../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp; sourceTree = SOURCE_ROOT; };
+ A4E1341FFEB2CDFED4B2750C /* juce_TextDiff.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextDiff.h; path = ../../../../../modules/juce_core/text/juce_TextDiff.h; sourceTree = SOURCE_ROOT; };
+ A546C8B742A8DC8F5E60C606 /* juce_Socket.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Socket.cpp; path = ../../../../../modules/juce_core/network/juce_Socket.cpp; sourceTree = SOURCE_ROOT; };
+ A579D7C165F5D2A34D8B60DB /* juce_KeyboardFocusTraverser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyboardFocusTraverser.cpp; path = ../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp; sourceTree = SOURCE_ROOT; };
+ A5C1C519AA6CE15BF9547B03 /* juce_mac_MainMenu.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MainMenu.mm; path = ../../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm; sourceTree = SOURCE_ROOT; };
+ A647EFD684A71A7F1DFEF7E9 /* juce_DynamicLibrary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DynamicLibrary.h; path = ../../../../../modules/juce_core/threads/juce_DynamicLibrary.h; sourceTree = SOURCE_ROOT; };
+ A65DFC4FCE8DD0EAA2901FF4 /* registry.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = SOURCE_ROOT; };
+ A693A2B27BD70EAF2FDCDD91 /* juce_OggVorbisAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OggVorbisAudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h; sourceTree = SOURCE_ROOT; };
+ A6CA6F9862A31AA045082102 /* juce_ArrowButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ArrowButton.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp; sourceTree = SOURCE_ROOT; };
+ A701A3A08035A45B9D1F7963 /* juce_Drawable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Drawable.h; path = ../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h; sourceTree = SOURCE_ROOT; };
+ A7102BD74E049F7ED8513D1B /* juce_LittleFootRunner.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LittleFootRunner.h; path = ../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRunner.h; sourceTree = SOURCE_ROOT; };
+ A7513E63DF1FEE5FB89D5674 /* juce_FlexBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FlexBox.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp; sourceTree = SOURCE_ROOT; };
+ A75D403B2009F5E41DB85E88 /* juce_FileChooser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileChooser.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h; sourceTree = SOURCE_ROOT; };
+ A76BBF30944A9FC89679BE5E /* juce_Array.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Array.h; path = ../../../../../modules/juce_core/containers/juce_Array.h; sourceTree = SOURCE_ROOT; };
+ A7A27C3E995A0A0CAF75F018 /* juce_BlocksProtocolDefinitions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BlocksProtocolDefinitions.h; path = ../../../../../modules/juce_blocks_basics/protocol/juce_BlocksProtocolDefinitions.h; sourceTree = SOURCE_ROOT; };
+ A7AB12DC3DB28027A4F73022 /* juce_MidiMessageSequence.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiMessageSequence.cpp; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp; sourceTree = SOURCE_ROOT; };
+ A7DBC8925B48CFF83A1A785D /* juce_Component.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Component.h; path = ../../../../../modules/juce_gui_basics/components/juce_Component.h; sourceTree = SOURCE_ROOT; };
+ A830EA78B992425DA01217BB /* juce_ZipFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ZipFile.cpp; path = ../../../../../modules/juce_core/zip/juce_ZipFile.cpp; sourceTree = SOURCE_ROOT; };
+ A844CEB6720112AAAE4BDABD /* stream_encoder_framing.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = stream_encoder_framing.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c; sourceTree = SOURCE_ROOT; };
+ A868BFDFEFD84058783F8A1B /* juce_PropertyPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PropertyPanel.h; path = ../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h; sourceTree = SOURCE_ROOT; };
+ A8A58CFF7A33378076372D7F /* juce_Typeface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Typeface.h; path = ../../../../../modules/juce_graphics/fonts/juce_Typeface.h; sourceTree = SOURCE_ROOT; };
+ A8C4CA489A4BF1B340754797 /* juce_ApplicationCommandInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationCommandInfo.cpp; path = ../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp; sourceTree = SOURCE_ROOT; };
+ A8FBBFE98D5BD4AD7029040E /* juce_ScopedReadLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedReadLock.h; path = ../../../../../modules/juce_core/threads/juce_ScopedReadLock.h; sourceTree = SOURCE_ROOT; };
+ A909FAC6633F0D17F297405A /* juce_android_Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Audio.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp; sourceTree = SOURCE_ROOT; };
+ A928068058AABD08099E1792 /* juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_gui_basics.mm; path = ../../../../../modules/juce_gui_basics/juce_gui_basics.mm; sourceTree = SOURCE_ROOT; };
+ A93D235AED6D56DA08F82062 /* juce_LuaCodeTokeniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LuaCodeTokeniser.h; path = ../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h; sourceTree = SOURCE_ROOT; };
+ A94DAD22B9F27389EB042378 /* juce_DrawablePath.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawablePath.h; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h; sourceTree = SOURCE_ROOT; };
+ A9833EF4FF3863198A01845F /* juce_OptionalScopedPointer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OptionalScopedPointer.h; path = ../../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h; sourceTree = SOURCE_ROOT; };
+ A9A287E8488E914B1EDDA564 /* juce_XmlElement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_XmlElement.cpp; path = ../../../../../modules/juce_core/xml/juce_XmlElement.cpp; sourceTree = SOURCE_ROOT; };
+ A9D2C3EEB94596DD2B772434 /* juce_File.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_File.h; path = ../../../../../modules/juce_core/files/juce_File.h; sourceTree = SOURCE_ROOT; };
+ A9FB36572DDA1194317B9352 /* juce_MidiDataConcatenator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiDataConcatenator.h; path = ../../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h; sourceTree = SOURCE_ROOT; };
+ AA518B503E5A850094865B1A /* juce_LocalisedStrings.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LocalisedStrings.cpp; path = ../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp; sourceTree = SOURCE_ROOT; };
+ AA89E7B373C7733F3F5646F1 /* vorbisfile.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = SOURCE_ROOT; };
+ AAF99DBF6ACB84A56C7996C5 /* juce_RelativePoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativePoint.cpp; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp; sourceTree = SOURCE_ROOT; };
+ AB4B277C8F975F009F31753A /* juce_LagrangeInterpolator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LagrangeInterpolator.h; path = ../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h; sourceTree = SOURCE_ROOT; };
+ AB4BAE5B3AAB57A4BC712F3F /* juce_Slider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Slider.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_Slider.h; sourceTree = SOURCE_ROOT; };
+ AB50A06C6DADCC7678D37DF0 /* juce_SliderPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SliderPropertyComponent.h; path = ../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h; sourceTree = SOURCE_ROOT; };
+ AB8E624C28BB20096959B5C9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ AB995EFABB924F8175D8954F /* juce_win32_DragAndDrop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DragAndDrop.cpp; path = ../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp; sourceTree = SOURCE_ROOT; };
+ ABB93E3C3FB5C8C04FB65943 /* juce_GlyphArrangement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GlyphArrangement.cpp; path = ../../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp; sourceTree = SOURCE_ROOT; };
+ ABFE23A312B6421D3E21ADC8 /* juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_gui_basics.mm; path = ../../JuceLibraryCode/juce_gui_basics.mm; sourceTree = SOURCE_ROOT; };
+ AC4D225082C6EC2B2F74D280 /* inffast.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = ../../../../../modules/juce_core/zip/zlib/inffast.h; sourceTree = SOURCE_ROOT; };
+ AC9C674F22F5CCEDB27CA007 /* jccolor.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c; sourceTree = SOURCE_ROOT; };
+ ACC89760CF09AB1EB06AD52B /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ ACE53253C4EF7A3B45197F94 /* metadata.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/metadata.h; sourceTree = SOURCE_ROOT; };
+ ACEA8F358B77577CBE526F1B /* juce_OutputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OutputStream.cpp; path = ../../../../../modules/juce_core/streams/juce_OutputStream.cpp; sourceTree = SOURCE_ROOT; };
+ AD272D93B639B0D95431D071 /* juce_data_structures.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_data_structures.cpp; path = ../../../../../modules/juce_data_structures/juce_data_structures.cpp; sourceTree = SOURCE_ROOT; };
+ AD3294A10650175E7F446D7E /* juce_BubbleMessageComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BubbleMessageComponent.h; path = ../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h; sourceTree = SOURCE_ROOT; };
+ AD95DCF6FDF31C1C53422FA4 /* juce_IIRFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_IIRFilter.h; path = ../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h; sourceTree = SOURCE_ROOT; };
+ ADBF05F90178C516209F0C6F /* juce_osx_MessageQueue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_osx_MessageQueue.h; path = ../../../../../modules/juce_events/native/juce_osx_MessageQueue.h; sourceTree = SOURCE_ROOT; };
+ ADC432227AFFB91565728B20 /* backends.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = SOURCE_ROOT; };
+ ADF718CBF6842DD6FC15CF71 /* juce_Random.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Random.cpp; path = ../../../../../modules/juce_core/maths/juce_Random.cpp; sourceTree = SOURCE_ROOT; };
+ ADF9FFDBBDB7AE74869554B6 /* juce_SystemTrayIconComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SystemTrayIconComponent.h; path = ../../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h; sourceTree = SOURCE_ROOT; };
+ AE7CE5DD4695049CE940B119 /* juce_Variant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Variant.h; path = ../../../../../modules/juce_core/containers/juce_Variant.h; sourceTree = SOURCE_ROOT; };
+ AE91EB61DAC980EC373284E1 /* juce_ChangeBroadcaster.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChangeBroadcaster.h; path = ../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h; sourceTree = SOURCE_ROOT; };
+ AED3A93746DB1172E5A05BBC /* juce_Quaternion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Quaternion.h; path = ../../../../../modules/juce_opengl/geometry/juce_Quaternion.h; sourceTree = SOURCE_ROOT; };
+ AF09AA6BF4864B8998E2676E /* juce_ColourSelector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ColourSelector.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp; sourceTree = SOURCE_ROOT; };
+ AF42734F63315C85E08587B3 /* pngrio.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngrio.c; sourceTree = SOURCE_ROOT; };
+ AF5F2E4B8A7F1B9A507D043C /* juce_audio_devices.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_devices.mm; path = ../../JuceLibraryCode/juce_audio_devices.mm; sourceTree = SOURCE_ROOT; };
+ AF6E053345A73531F9DE19FA /* juce_LittleFootRemoteHeap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LittleFootRemoteHeap.h; path = ../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootRemoteHeap.h; sourceTree = SOURCE_ROOT; };
+ B019A04354A3A377813C4F10 /* memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h; sourceTree = SOURCE_ROOT; };
+ B04C24316C7F5D7E5C79E0CA /* juce_ScrollBar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ScrollBar.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp; sourceTree = SOURCE_ROOT; };
+ B0792237EC36D9F9D8D94380 /* juce_Singleton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Singleton.h; path = ../../../../../modules/juce_core/memory/juce_Singleton.h; sourceTree = SOURCE_ROOT; };
+ B08A348CEAB267336BEE6404 /* juce_AudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h; sourceTree = SOURCE_ROOT; };
+ B0A1C61E0EBC451CB0B3A337 /* juce_CoreAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CoreAudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h; sourceTree = SOURCE_ROOT; };
+ B0B1C0956FEDCBF2AF19CA6B /* juce_core.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_core.mm; path = ../../JuceLibraryCode/juce_core.mm; sourceTree = SOURCE_ROOT; };
+ B0B4567F125815CE3D5F97B0 /* juce_FileLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileLogger.h; path = ../../../../../modules/juce_core/logging/juce_FileLogger.h; sourceTree = SOURCE_ROOT; };
+ B0D2EB2CCE9410392733E088 /* juce_ChannelRemappingAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChannelRemappingAudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h; sourceTree = SOURCE_ROOT; };
+ B16D0231583843F5782F2FF1 /* setup_16.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_16.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = SOURCE_ROOT; };
+ B185D4ED3D7011747FA30D2C /* juce_TopLevelWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TopLevelWindow.h; path = ../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h; sourceTree = SOURCE_ROOT; };
+ B194372F45854DE5FC54671F /* juce_AiffAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AiffAudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h; sourceTree = SOURCE_ROOT; };
+ B19D56F3E441EB2B1A84C41A /* juce_Logger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Logger.h; path = ../../../../../modules/juce_core/logging/juce_Logger.h; sourceTree = SOURCE_ROOT; };
+ B1A84BBE9851F9F56F0E8D0D /* jchuff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c; sourceTree = SOURCE_ROOT; };
+ B1B7933CA5A0B7F38A94F728 /* juce_MPEZone.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPEZone.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h; sourceTree = SOURCE_ROOT; };
+ B1DDA423E55EA93290F02213 /* juce_HostPacketDecoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HostPacketDecoder.h; path = ../../../../../modules/juce_blocks_basics/protocol/juce_HostPacketDecoder.h; sourceTree = SOURCE_ROOT; };
+ B210D9151B74DC5875B5F9F5 /* juce_JSON.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_JSON.h; path = ../../../../../modules/juce_core/javascript/juce_JSON.h; sourceTree = SOURCE_ROOT; };
+ B258C7C7456130F17398F6EC /* juce_FillType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FillType.h; path = ../../../../../modules/juce_graphics/colour/juce_FillType.h; sourceTree = SOURCE_ROOT; };
+ B2737AFF8C4A2300FD4DC321 /* juce_MultiTimer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MultiTimer.cpp; path = ../../../../../modules/juce_events/timers/juce_MultiTimer.cpp; sourceTree = SOURCE_ROOT; };
+ B2945D912BAAD64AB84975AA /* juce_BubbleComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BubbleComponent.h; path = ../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h; sourceTree = SOURCE_ROOT; };
+ B29B68EFD93C936B6004A003 /* juce_RelativeRectangle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeRectangle.h; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h; sourceTree = SOURCE_ROOT; };
+ B2A083D68101A749DA6CEC50 /* juce_GZIPCompressorOutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GZIPCompressorOutputStream.h; path = ../../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h; sourceTree = SOURCE_ROOT; };
+ B2F323A2CF9DBDE87094A12C /* juce_android_SystemStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_SystemStats.cpp; path = ../../../../../modules/juce_core/native/juce_android_SystemStats.cpp; sourceTree = SOURCE_ROOT; };
+ B31CB3E3F4BD0212647C599D /* juce_ResizableEdgeComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResizableEdgeComponent.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp; sourceTree = SOURCE_ROOT; };
+ B34A138110D01A3CA9CB727D /* os.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = SOURCE_ROOT; };
+ B35C9A4EB69C394A0DE6E813 /* juce_KeyPressMappingSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyPressMappingSet.h; path = ../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h; sourceTree = SOURCE_ROOT; };
+ B378396CBE6EE2E85295A2DB /* juce_Message.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Message.h; path = ../../../../../modules/juce_events/messages/juce_Message.h; sourceTree = SOURCE_ROOT; };
+ B387644139E3E36918C4D03A /* juce_ValueTree.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ValueTree.cpp; path = ../../../../../modules/juce_data_structures/values/juce_ValueTree.cpp; sourceTree = SOURCE_ROOT; };
+ B38DA581048FDA139F641FB0 /* juce_gui_basics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_gui_basics.h; path = ../../../../../modules/juce_gui_basics/juce_gui_basics.h; sourceTree = SOURCE_ROOT; };
+ B3D4730C96893578BF727D5A /* ogg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = ../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h; sourceTree = SOURCE_ROOT; };
+ B43C86E279C36B83F25A88D0 /* psy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = SOURCE_ROOT; };
+ B50ED6B4AE791917727F5E7F /* inffixed.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = ../../../../../modules/juce_core/zip/zlib/inffixed.h; sourceTree = SOURCE_ROOT; };
+ B56ACDB21BF63DD70C738C65 /* jdinput.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c; sourceTree = SOURCE_ROOT; };
+ B56D69C275FA7C73683BA840 /* juce_OpenGLExtensions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLExtensions.h; path = ../../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h; sourceTree = SOURCE_ROOT; };
+ B5887F35A912037691A7AA66 /* juce_MACAddress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MACAddress.h; path = ../../../../../modules/juce_core/network/juce_MACAddress.h; sourceTree = SOURCE_ROOT; };
+ B5E44A231B747E1759C87CD4 /* juce_RelativeCoordinate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeCoordinate.cpp; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp; sourceTree = SOURCE_ROOT; };
+ B5F5DB38E5BE6CA6306CCE74 /* juce_EdgeTable.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_EdgeTable.cpp; path = ../../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp; sourceTree = SOURCE_ROOT; };
+ B5FB26E84ABF33A7E353A48D /* juce_ImageConvolutionKernel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageConvolutionKernel.cpp; path = ../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp; sourceTree = SOURCE_ROOT; };
+ B6291F8983C362DED92336BE /* psych_11.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psych_11.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = SOURCE_ROOT; };
+ B65C1614B4755DD56161B155 /* juce_FloatVectorOperations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FloatVectorOperations.h; path = ../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h; sourceTree = SOURCE_ROOT; };
+ B6847B2CCF1B2E71712827E5 /* juce_android_RuntimePermissions.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_RuntimePermissions.cpp; path = ../../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp; sourceTree = SOURCE_ROOT; };
+ B70A7208BDC84707A08B49E3 /* floor0.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor0.c"; sourceTree = SOURCE_ROOT; };
+ B714D3995796B3E1783B2B92 /* juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_data_structures.mm; path = ../../../../../modules/juce_data_structures/juce_data_structures.mm; sourceTree = SOURCE_ROOT; };
+ B7E100E53E55FBBB995D1015 /* juce_Toolbar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Toolbar.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h; sourceTree = SOURCE_ROOT; };
+ B7EF3871AADEF4B0B05827E5 /* bitmath.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c; sourceTree = SOURCE_ROOT; };
+ B82AF1752045C4157C0ADF1B /* juce_PlatformDefs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PlatformDefs.h; path = ../../../../../modules/juce_core/system/juce_PlatformDefs.h; sourceTree = SOURCE_ROOT; };
+ B8793874DA3E3A50A76F9572 /* zconf.in.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = ../../../../../modules/juce_core/zip/zlib/zconf.in.h; sourceTree = SOURCE_ROOT; };
+ B90793CC817A7C319A3AE20C /* juce_MPEZoneLayout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPEZoneLayout.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp; sourceTree = SOURCE_ROOT; };
+ B978E5CC1180425AD149A152 /* juce_CPlusPlusCodeTokeniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CPlusPlusCodeTokeniser.h; path = ../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h; sourceTree = SOURCE_ROOT; };
+ B98F37A336955FF58F90FB4C /* juce_XmlDocument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_XmlDocument.h; path = ../../../../../modules/juce_core/xml/juce_XmlDocument.h; sourceTree = SOURCE_ROOT; };
+ B9DF6AB40767C91B45834CED /* juce_MarkerList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MarkerList.cpp; path = ../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp; sourceTree = SOURCE_ROOT; };
+ BA09B2615301490887929DA8 /* juce_PathStrokeType.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PathStrokeType.cpp; path = ../../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp; sourceTree = SOURCE_ROOT; };
+ BA5273CC64B39B3B0455A53A /* juce_linux_Threads.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Threads.cpp; path = ../../../../../modules/juce_core/native/juce_linux_Threads.cpp; sourceTree = SOURCE_ROOT; };
+ BA55F9EC52073F1ECFEF5F2D /* juce_Logger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Logger.cpp; path = ../../../../../modules/juce_core/logging/juce_Logger.cpp; sourceTree = SOURCE_ROOT; };
+ BAB1E713B8FD5FF764E93C7D /* juce_win32_WebBrowserComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_WebBrowserComponent.cpp; path = ../../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp; sourceTree = SOURCE_ROOT; };
+ BAB246A896258C6FE2132717 /* juce_FFT.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FFT.h; path = ../../../../../modules/juce_audio_basics/effects/juce_FFT.h; sourceTree = SOURCE_ROOT; };
+ BABBA06E9B4F5AC45082E718 /* juce_RelativeTime.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeTime.h; path = ../../../../../modules/juce_core/time/juce_RelativeTime.h; sourceTree = SOURCE_ROOT; };
+ BAFE2641BD8618F8F7F65579 /* juce_MountedVolumeListChangeDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MountedVolumeListChangeDetector.h; path = ../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h; sourceTree = SOURCE_ROOT; };
+ BB206032A144BA440AF410E1 /* juce_MidiOutput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiOutput.cpp; path = ../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp; sourceTree = SOURCE_ROOT; };
+ BC2708C1A30230F8FFED0BAF /* juce_Process.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Process.h; path = ../../../../../modules/juce_core/threads/juce_Process.h; sourceTree = SOURCE_ROOT; };
+ BC5C888CE6A7A5B4562FA329 /* jcdctmgr.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c; sourceTree = SOURCE_ROOT; };
+ BC6AEAE96DA5F1EE5F62BD17 /* jidctfst.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c; sourceTree = SOURCE_ROOT; };
+ BCAD87C5C4722BE2239A00F6 /* juce_XMLCodeTokeniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_XMLCodeTokeniser.h; path = ../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h; sourceTree = SOURCE_ROOT; };
+ BD019AAA61CCA4A497274794 /* residue_16.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = residue_16.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = SOURCE_ROOT; };
+ BD1EC57A31C1A44821E79F00 /* juce_AudioIODeviceType.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioIODeviceType.cpp; path = ../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp; sourceTree = SOURCE_ROOT; };
+ BD1F10BA3C91ABDEDA96A90A /* juce_LookAndFeel_V1.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LookAndFeel_V1.h; path = ../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h; sourceTree = SOURCE_ROOT; };
+ BD369BD9E2486BB5D544D8FA /* juce_OpenGL_android.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_android.h; path = ../../../../../modules/juce_opengl/native/juce_OpenGL_android.h; sourceTree = SOURCE_ROOT; };
+ BD75123529E67F9376C1899A /* juce_Uuid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Uuid.h; path = ../../../../../modules/juce_core/misc/juce_Uuid.h; sourceTree = SOURCE_ROOT; };
+ BD8807162A21C44D5C816A74 /* juce_RectanglePlacement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RectanglePlacement.h; path = ../../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h; sourceTree = SOURCE_ROOT; };
+ BDBADF3D55924C948F41334D /* juce_AttributedString.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AttributedString.cpp; path = ../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp; sourceTree = SOURCE_ROOT; };
+ BDD5A0B6F6C05C0A0ECDC78B /* juce_MPEMessages.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPEMessages.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h; sourceTree = SOURCE_ROOT; };
+ BDE15BB5ED83547045B075DC /* juce_LowLevelGraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LowLevelGraphicsContext.h; path = ../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h; sourceTree = SOURCE_ROOT; };
+ BDF3FBAE1450DCFA0496D341 /* juce_OpenGLImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLImage.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h; sourceTree = SOURCE_ROOT; };
+ BE3AB671FE1BF4BA67F3B22E /* juce_ApplicationCommandManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationCommandManager.cpp; path = ../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp; sourceTree = SOURCE_ROOT; };
+ BED0AA415C62CB7F797E51C4 /* juce_audio_formats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_formats.mm; path = ../../../../../modules/juce_audio_formats/juce_audio_formats.mm; sourceTree = SOURCE_ROOT; };
+ BED548AB5BFA57159DD12DAC /* juce_LiveConstantEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LiveConstantEditor.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp; sourceTree = SOURCE_ROOT; };
+ BEF0AAA4CC9BA56B412B7B20 /* juce_FileListComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileListComponent.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp; sourceTree = SOURCE_ROOT; };
+ BEF40C565264BB572868FF09 /* juce_DirectoryContentsDisplayComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DirectoryContentsDisplayComponent.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp; sourceTree = SOURCE_ROOT; };
+ BEFCC3E231F6729C94ED2F49 /* lpc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lpc.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/lpc.h; sourceTree = SOURCE_ROOT; };
+ BF052877DCD7D8C1AA4CDF9F /* md5.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c; sourceTree = SOURCE_ROOT; };
+ BF273AD2BE0018A6EDCF2258 /* juce_DropShadowEffect.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DropShadowEffect.cpp; path = ../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp; sourceTree = SOURCE_ROOT; };
+ BF9B812900B12580FCD3C1C5 /* juce_ComponentDragger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentDragger.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h; sourceTree = SOURCE_ROOT; };
+ BFD3CE2B9C2AF98165049337 /* transupp.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h; sourceTree = SOURCE_ROOT; };
+ BFE24BD62EA3F7DBFA196DF7 /* juce_WildcardFileFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_WildcardFileFilter.cpp; path = ../../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp; sourceTree = SOURCE_ROOT; };
+ BFF50837A22F32388D61E4C4 /* juce_Application.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Application.cpp; path = ../../../../../modules/juce_gui_basics/application/juce_Application.cpp; sourceTree = SOURCE_ROOT; };
+ C023041419CCD5A746DD3733 /* juce_UndoManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_UndoManager.h; path = ../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h; sourceTree = SOURCE_ROOT; };
+ C02A07C4E5AB7D6C98CEAEFA /* juce_FlacAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FlacAudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h; sourceTree = SOURCE_ROOT; };
+ C050A75A3FD1ED843430646B /* juce_ChangeBroadcaster.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ChangeBroadcaster.cpp; path = ../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp; sourceTree = SOURCE_ROOT; };
+ C0794CF65E83FA413249342B /* juce_SVGParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SVGParser.cpp; path = ../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp; sourceTree = SOURCE_ROOT; };
+ C096E8792E18214FCE25A25C /* juce_Draggable3DOrientation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Draggable3DOrientation.h; path = ../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h; sourceTree = SOURCE_ROOT; };
+ C12E3B26BAD438E71B125623 /* juce_FileBasedDocument.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileBasedDocument.cpp; path = ../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp; sourceTree = SOURCE_ROOT; };
+ C1564464E7D3E100E68F78F3 /* juce_posix_SharedCode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_posix_SharedCode.h; path = ../../../../../modules/juce_core/native/juce_posix_SharedCode.h; sourceTree = SOURCE_ROOT; };
+ C1CB3B69DCF541CF84F0A5C1 /* alloc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/alloc.h; sourceTree = SOURCE_ROOT; };
+ C225444502EBA04B63E16CE6 /* juce_FileBrowserComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileBrowserComponent.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp; sourceTree = SOURCE_ROOT; };
+ C22DDE0CA3FD2565AC1A9641 /* juce_GZIPDecompressorInputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GZIPDecompressorInputStream.cpp; path = ../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp; sourceTree = SOURCE_ROOT; };
+ C23D3AE443F3DA9E05DCF670 /* juce_OpenGLContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLContext.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h; sourceTree = SOURCE_ROOT; };
+ C278FC33051757FD973E4BB6 /* window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = SOURCE_ROOT; };
+ C2925B912CB7478725EC09C0 /* juce_TemporaryFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TemporaryFile.cpp; path = ../../../../../modules/juce_core/files/juce_TemporaryFile.cpp; sourceTree = SOURCE_ROOT; };
+ C2BFF63FD5C214D4E5B993AE /* juce_JSON.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_JSON.cpp; path = ../../../../../modules/juce_core/javascript/juce_JSON.cpp; sourceTree = SOURCE_ROOT; };
+ C2EA3FCC07E1674AFDEA71B2 /* juce_RelativeParallelogram.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeParallelogram.cpp; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp; sourceTree = SOURCE_ROOT; };
+ C3131423ADE321A9FFD64C46 /* juce_core.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_core.mm; path = ../../../../../modules/juce_core/juce_core.mm; sourceTree = SOURCE_ROOT; };
+ C3729E6D46FC9FE8B8EA99E6 /* jcparam.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c; sourceTree = SOURCE_ROOT; };
+ C44815DFC69575308E2E7DF5 /* libpng_readme.txt */ = {isa = PBXFileReference; lastKnownFileType = text.txt; name = libpng_readme.txt; path = ../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt; sourceTree = SOURCE_ROOT; };
+ C4703A5DB149F64AE6A30668 /* juce_linux_Network.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Network.cpp; path = ../../../../../modules/juce_core/native/juce_linux_Network.cpp; sourceTree = SOURCE_ROOT; };
+ C4716E0C3BCBC857984C58A5 /* juce_MPEInstrument.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPEInstrument.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp; sourceTree = SOURCE_ROOT; };
+ C50067A84435B50FAE2991A2 /* juce_UndoManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_UndoManager.cpp; path = ../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp; sourceTree = SOURCE_ROOT; };
+ C53219A41027ED103B202C42 /* juce_TextInputTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextInputTarget.h; path = ../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h; sourceTree = SOURCE_ROOT; };
+ C54776C328896DD9C63D5F14 /* juce_GlowEffect.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GlowEffect.cpp; path = ../../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp; sourceTree = SOURCE_ROOT; };
+ C57C541975044B538A4204B4 /* stream_encoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = stream_encoder.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h; sourceTree = SOURCE_ROOT; };
+ C5A18309C2DC13A1156282F6 /* juce_Block.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Block.h; path = ../../../../../modules/juce_blocks_basics/blocks/juce_Block.h; sourceTree = SOURCE_ROOT; };
+ C5FB97556F8007E0E5849857 /* jcprepct.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c; sourceTree = SOURCE_ROOT; };
+ C6F13DC7541D0F00B8C8ED6A /* juce_RelativeParallelogram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeParallelogram.h; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h; sourceTree = SOURCE_ROOT; };
+ C719A471C0AF1ACF4915590B /* juce_android_JNIHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_android_JNIHelpers.h; path = ../../../../../modules/juce_core/native/juce_android_JNIHelpers.h; sourceTree = SOURCE_ROOT; };
+ C76C141618B3750168ADC0D1 /* juce_IIRFilterAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_IIRFilterAudioSource.h; path = ../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h; sourceTree = SOURCE_ROOT; };
+ C78AE90444451893D78C4E91 /* juce_PropertyPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PropertyPanel.cpp; path = ../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp; sourceTree = SOURCE_ROOT; };
+ C7A1D93A3CD65E4F1FA770F2 /* stream_decoder.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = stream_decoder.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c; sourceTree = SOURCE_ROOT; };
+ C80F802372BCFB07523C535D /* juce_KeyListener.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyListener.cpp; path = ../../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp; sourceTree = SOURCE_ROOT; };
+ C8A28EF3F300FCD23130DADD /* juce_StringArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StringArray.h; path = ../../../../../modules/juce_core/text/juce_StringArray.h; sourceTree = SOURCE_ROOT; };
+ C8BDDC0EA95699CED529FB96 /* juce_CodeDocument.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CodeDocument.cpp; path = ../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp; sourceTree = SOURCE_ROOT; };
+ C8CDA61126AEF68721AE396B /* juce_DropShadowEffect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DropShadowEffect.h; path = ../../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h; sourceTree = SOURCE_ROOT; };
+ C92D8587F5DBAD4B1CC80406 /* juce_DirectoryContentsDisplayComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectoryContentsDisplayComponent.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h; sourceTree = SOURCE_ROOT; };
+ C9BF56C284B0BE80A7C89DC0 /* juce_mac_MouseCursor.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MouseCursor.mm; path = ../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm; sourceTree = SOURCE_ROOT; };
+ C9C143571708C2B184BFEB12 /* juce_PropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PropertyComponent.cpp; path = ../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp; sourceTree = SOURCE_ROOT; };
+ C9EA5D0B9826A43E6CC7E88C /* juce_ResamplingAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResamplingAudioSource.cpp; path = ../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp; sourceTree = SOURCE_ROOT; };
+ CA1EF2865AA0F249D7A2646B /* juce_AudioDataConverters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioDataConverters.h; path = ../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h; sourceTree = SOURCE_ROOT; };
+ CA54557D28FB9E717532A9B8 /* juce_DragAndDropTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DragAndDropTarget.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h; sourceTree = SOURCE_ROOT; };
+ CA5C4EA6672E46AE47A55790 /* ordinals.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ordinals.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/ordinals.h; sourceTree = SOURCE_ROOT; };
+ CA65DB1D639849CCDABA67FC /* juce_LookAndFeel_V2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LookAndFeel_V2.cpp; path = ../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp; sourceTree = SOURCE_ROOT; };
+ CA7BE1CD2A59E4A7A133207F /* juce_Thread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Thread.cpp; path = ../../../../../modules/juce_core/threads/juce_Thread.cpp; sourceTree = SOURCE_ROOT; };
+ CA99CDFEEEA27490079060CC /* juce_MemoryOutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryOutputStream.h; path = ../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h; sourceTree = SOURCE_ROOT; };
+ CAA47648604DE92DE3E7826B /* bitwriter.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c; sourceTree = SOURCE_ROOT; };
+ CACC690868FC319352C6D605 /* trees.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = ../../../../../modules/juce_core/zip/zlib/trees.h; sourceTree = SOURCE_ROOT; };
+ CB01A5CBA8DA5DA64F79F9D5 /* juce_FileDragAndDropTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileDragAndDropTarget.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h; sourceTree = SOURCE_ROOT; };
+ CB0C4A25BA9D6F1AEDEF4CD3 /* juce_LagrangeInterpolator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LagrangeInterpolator.cpp; path = ../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp; sourceTree = SOURCE_ROOT; };
+ CB3169B4A664108CEA2751DF /* juce_ComponentBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentBuilder.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h; sourceTree = SOURCE_ROOT; };
+ CB6C50C6F026F66991905EBA /* pngmem.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c; sourceTree = SOURCE_ROOT; };
+ CBA6A8FCB0795C89183A8E71 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+ CC03ACEC4A87137E5E9C8328 /* jdmarker.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdmarker.c; sourceTree = SOURCE_ROOT; };
+ CC764227E00D7572D2B22354 /* juce_WildcardFileFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WildcardFileFilter.h; path = ../../../../../modules/juce_core/files/juce_WildcardFileFilter.h; sourceTree = SOURCE_ROOT; };
+ CCF01620822A4A144E3C6FBF /* juce_ComponentPeer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentPeer.h; path = ../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h; sourceTree = SOURCE_ROOT; };
+ CD2D5E669A846D3497CADFF5 /* juce_blocks_basics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_blocks_basics.h; path = ../../../../../modules/juce_blocks_basics/juce_blocks_basics.h; sourceTree = SOURCE_ROOT; };
+ CD9D44C2A4E6A65D62F5A2F4 /* juce_DrawableRectangle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableRectangle.h; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h; sourceTree = SOURCE_ROOT; };
+ CDB1484C4D6010E4D4B03C8A /* juce_CharPointer_UTF16.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharPointer_UTF16.h; path = ../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h; sourceTree = SOURCE_ROOT; };
+ CDB6AB74B48E27543C7C3247 /* juce_ActionBroadcaster.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ActionBroadcaster.cpp; path = ../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp; sourceTree = SOURCE_ROOT; };
+ CDBA14E9ED2A6DFA59B3E9F8 /* juce_Identifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Identifier.h; path = ../../../../../modules/juce_core/text/juce_Identifier.h; sourceTree = SOURCE_ROOT; };
+ CDEBA4B2BB49150BFAED8665 /* juce_CPlusPlusCodeTokeniserFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CPlusPlusCodeTokeniserFunctions.h; path = ../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h; sourceTree = SOURCE_ROOT; };
+ CE6036ECB2716A67BEDFF215 /* juce_TopologySource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TopologySource.h; path = ../../../../../modules/juce_blocks_basics/topology/juce_TopologySource.h; sourceTree = SOURCE_ROOT; };
+ CE63CB470CE025B3344E6B14 /* juce_ComponentBuilder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentBuilder.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp; sourceTree = SOURCE_ROOT; };
+ CE8E7EE0568DAE54277A3A75 /* jidctint.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c; sourceTree = SOURCE_ROOT; };
+ CEC3F1D21215C9FC326F7970 /* juce_Expression.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Expression.h; path = ../../../../../modules/juce_core/maths/juce_Expression.h; sourceTree = SOURCE_ROOT; };
+ CEC52ED2250DAF9085E67628 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ CEE8CFCB66ADE7E78A9B5D84 /* juce_TabbedComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TabbedComponent.h; path = ../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h; sourceTree = SOURCE_ROOT; };
+ CF22F2D71CC50A6A6BE820A2 /* jversion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h; sourceTree = SOURCE_ROOT; };
+ CF56CAFD0B05918B202CC8C1 /* juce_RelativeRectangle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeRectangle.cpp; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp; sourceTree = SOURCE_ROOT; };
+ CF895906826621767E325CAC /* juce_XmlDocument.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_XmlDocument.cpp; path = ../../../../../modules/juce_core/xml/juce_XmlDocument.cpp; sourceTree = SOURCE_ROOT; };
+ CFF86D411ACF901036AA22E2 /* juce_LookAndFeel_V3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LookAndFeel_V3.cpp; path = ../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp; sourceTree = SOURCE_ROOT; };
+ CFFCDE3DE85309817AA5314F /* juce_MessageListener.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MessageListener.cpp; path = ../../../../../modules/juce_events/messages/juce_MessageListener.cpp; sourceTree = SOURCE_ROOT; };
+ D0029C076D0AFD4531B8C952 /* juce_PropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PropertyComponent.h; path = ../../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h; sourceTree = SOURCE_ROOT; };
+ D00E7D50024BC55EE60D8A1B /* residue_44u.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = residue_44u.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = SOURCE_ROOT; };
+ D01B3D44D354E1DD105A6851 /* juce_win32_ComSmartPtr.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_win32_ComSmartPtr.h; path = ../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h; sourceTree = SOURCE_ROOT; };
+ D01FEE0DC6C2CED2D3217198 /* juce_ToolbarItemComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToolbarItemComponent.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp; sourceTree = SOURCE_ROOT; };
+ D06661831BB0908DEBF996FD /* juce_NamedValueSet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_NamedValueSet.cpp; path = ../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp; sourceTree = SOURCE_ROOT; };
+ D0C5462B25A1EF7C0BAC2C66 /* juce_AlertWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AlertWindow.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp; sourceTree = SOURCE_ROOT; };
+ D0F8908BB4BF8D2904759E9B /* juce_win32_SystemTrayIcon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_SystemTrayIcon.cpp; path = ../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp; sourceTree = SOURCE_ROOT; };
+ D111247356C62C3698C5259A /* pngget.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c; sourceTree = SOURCE_ROOT; };
+ D16614D13C7C9AB7565DE60F /* jmorecfg.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h; sourceTree = SOURCE_ROOT; };
+ D184EF49BA7A3F3F5545B1D0 /* juce_Base64.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Base64.cpp; path = ../../../../../modules/juce_core/text/juce_Base64.cpp; sourceTree = SOURCE_ROOT; };
+ D19C04CE3F848A3EB30BD306 /* os_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os_types.h; path = ../../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h; sourceTree = SOURCE_ROOT; };
+ D1B4E1CE074A1BE6DB3D9BD5 /* juce_AudioFormatReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormatReader.h; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h; sourceTree = SOURCE_ROOT; };
+ D1BC969BA323CE7CEEB34692 /* juce_mac_CoreAudio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_mac_CoreAudio.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp; sourceTree = SOURCE_ROOT; };
+ D1D6547CA0BAEB079FF9050F /* juce_ComponentAnimator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentAnimator.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp; sourceTree = SOURCE_ROOT; };
+ D23E61F11E9CD3EE88C300C5 /* juce_MidiMessageSequence.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessageSequence.h; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h; sourceTree = SOURCE_ROOT; };
+ D24A6466F1C7D63741B729BC /* juce_FileChooserDialogBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileChooserDialogBox.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h; sourceTree = SOURCE_ROOT; };
+ D270EFE61FCF33ABA7DD7A82 /* juce_GZIPDecompressorInputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GZIPDecompressorInputStream.h; path = ../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h; sourceTree = SOURCE_ROOT; };
+ D2A305BF46124317B26844C3 /* codebook.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = SOURCE_ROOT; };
+ D3F2B4B868A0F886E10FD901 /* jdphuff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c; sourceTree = SOURCE_ROOT; };
+ D3F75448D5E30FEF546165DF /* juce_ArrayAllocationBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ArrayAllocationBase.h; path = ../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h; sourceTree = SOURCE_ROOT; };
+ D410F13F7C6D5DEB4EC91AA6 /* juce_ContainerDeletePolicy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ContainerDeletePolicy.h; path = ../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h; sourceTree = SOURCE_ROOT; };
+ D4E6E686B826C386E372B9B0 /* juce_data_structures.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_data_structures.h; path = ../../../../../modules/juce_data_structures/juce_data_structures.h; sourceTree = SOURCE_ROOT; };
+ D4F58BCBE5B9C7D88AC92BA4 /* juce_DrumPadLEDProgram.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrumPadLEDProgram.cpp; path = ../../../../../modules/juce_blocks_basics/visualisers/juce_DrumPadLEDProgram.cpp; sourceTree = SOURCE_ROOT; };
+ D504B7AB34A2CD39CB9C856D /* juce_linux_WebBrowserComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_WebBrowserComponent.cpp; path = ../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp; sourceTree = SOURCE_ROOT; };
+ D50C18AA1D31A606129E712C /* metadata.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/metadata.h; sourceTree = SOURCE_ROOT; };
+ D512265869F4FD6DBE091DD4 /* juce_win32_Windowing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Windowing.cpp; path = ../../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp; sourceTree = SOURCE_ROOT; };
+ D54B128515F377318B34C9C9 /* juce_win32_FileChooser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_FileChooser.cpp; path = ../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp; sourceTree = SOURCE_ROOT; };
+ D5542B1227D81DCFF2DFCDA4 /* juce_MenuBarModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MenuBarModel.h; path = ../../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h; sourceTree = SOURCE_ROOT; };
+ D56C2798DB2930BA21DE5222 /* juce_ConcertinaPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ConcertinaPanel.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp; sourceTree = SOURCE_ROOT; };
+ D5923C2C45B84A2771DB8125 /* juce_MPENote.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPENote.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h; sourceTree = SOURCE_ROOT; };
+ D5AE036BF17CF6BF3B415302 /* juce_ios_MessageManager.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_MessageManager.mm; path = ../../../../../modules/juce_events/native/juce_ios_MessageManager.mm; sourceTree = SOURCE_ROOT; };
+ D6303AB7ED3A815A746818DB /* infback.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = ../../../../../modules/juce_core/zip/zlib/infback.c; sourceTree = SOURCE_ROOT; };
+ D6A1B4EF7647B82043EC5C14 /* pngconf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h; sourceTree = SOURCE_ROOT; };
+ D6B40F5575A4546875FDBFCA /* juce_AnimatedAppComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AnimatedAppComponent.h; path = ../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h; sourceTree = SOURCE_ROOT; };
+ D766274BD43DF76958D6D7A1 /* juce_TextEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextEditor.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp; sourceTree = SOURCE_ROOT; };
+ D778C2ED7EA9D5EDCFBA1507 /* BlocksSynth.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BlocksSynth.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ D7A1432A09EA76270555EBFF /* juce_MessageListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MessageListener.h; path = ../../../../../modules/juce_events/messages/juce_MessageListener.h; sourceTree = SOURCE_ROOT; };
+ D7AA51A9571EBBDACC39F434 /* juce_IPAddress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_IPAddress.cpp; path = ../../../../../modules/juce_core/network/juce_IPAddress.cpp; sourceTree = SOURCE_ROOT; };
+ D7B9697EF473A62BE6453BA6 /* juce_MouseInputSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseInputSource.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h; sourceTree = SOURCE_ROOT; };
+ D816E1D2FDD6252C7AAF2628 /* juce_RectangleList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RectangleList.h; path = ../../../../../modules/juce_graphics/geometry/juce_RectangleList.h; sourceTree = SOURCE_ROOT; };
+ D8555991B456F672F132ABEC /* juce_Desktop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Desktop.h; path = ../../../../../modules/juce_gui_basics/components/juce_Desktop.h; sourceTree = SOURCE_ROOT; };
+ D88385F251FF95CBF3C70657 /* juce_IIRFilterAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_IIRFilterAudioSource.cpp; path = ../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp; sourceTree = SOURCE_ROOT; };
+ D8B3083479A22B7344F5BAC6 /* juce_MixerAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MixerAudioSource.cpp; path = ../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp; sourceTree = SOURCE_ROOT; };
+ D901EBE00D1E01A3702FA03D /* jcmaster.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c; sourceTree = SOURCE_ROOT; };
+ D98771DCE827466B36D51AF8 /* Main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; };
+ D98F033805C033EF081A9696 /* juce_BasicNativeHeaders.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BasicNativeHeaders.h; path = ../../../../../modules/juce_core/native/juce_BasicNativeHeaders.h; sourceTree = SOURCE_ROOT; };
+ D9B504A48CCEDE57288899D9 /* juce_OpenGL_win32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_win32.h; path = ../../../../../modules/juce_opengl/native/juce_OpenGL_win32.h; sourceTree = SOURCE_ROOT; };
+ D9C6F027E7A8E9FDDDAF99BC /* juce_StringPairArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StringPairArray.h; path = ../../../../../modules/juce_core/text/juce_StringPairArray.h; sourceTree = SOURCE_ROOT; };
+ D9D800ABA75CDD05817432E2 /* pngtrans.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c; sourceTree = SOURCE_ROOT; };
+ D9E2B3341EC036EBCF562434 /* juce_InputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_InputStream.cpp; path = ../../../../../modules/juce_core/streams/juce_InputStream.cpp; sourceTree = SOURCE_ROOT; };
+ DA07E0972B6DD508A081B59E /* juce_DeletedAtShutdown.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DeletedAtShutdown.h; path = ../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h; sourceTree = SOURCE_ROOT; };
+ DA190E7F11B7C6308E764363 /* juce_AudioFormatManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormatManager.h; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h; sourceTree = SOURCE_ROOT; };
+ DA52F06969FC2FEFD8DCFAE3 /* crc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h; sourceTree = SOURCE_ROOT; };
+ DAF373B4117FFAAEF7D9AA22 /* juce_Vector3D.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Vector3D.h; path = ../../../../../modules/juce_opengl/geometry/juce_Vector3D.h; sourceTree = SOURCE_ROOT; };
+ DB2F2C84EE330E7B99CB91D6 /* jconfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h; sourceTree = SOURCE_ROOT; };
+ DB3F1EBC07134AD21DB325DC /* juce_linux_Fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Fonts.cpp; path = ../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp; sourceTree = SOURCE_ROOT; };
+ DB5CE4E6FE04ADB6786CF3F4 /* juce_win32_HiddenMessageWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_win32_HiddenMessageWindow.h; path = ../../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h; sourceTree = SOURCE_ROOT; };
+ DB759FAAEF7C18AB11580C3C /* juce_Javascript.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Javascript.h; path = ../../../../../modules/juce_core/javascript/juce_Javascript.h; sourceTree = SOURCE_ROOT; };
+ DB7D21EDFDD06447F1A26B93 /* juce_ComponentMovementWatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentMovementWatcher.h; path = ../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h; sourceTree = SOURCE_ROOT; };
+ DBBDB335ABA05B454F030054 /* juce_FileSearchPath.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileSearchPath.cpp; path = ../../../../../modules/juce_core/files/juce_FileSearchPath.cpp; sourceTree = SOURCE_ROOT; };
+ DBD9D7E0C4FB25EBBE29B36A /* juce_DocumentWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DocumentWindow.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp; sourceTree = SOURCE_ROOT; };
+ DC032932F029EBB4B68C2A21 /* juce_AudioSampleBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioSampleBuffer.h; path = ../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h; sourceTree = SOURCE_ROOT; };
+ DC4C0156E331164E93BF2F1B /* juce_win32_ASIO.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_ASIO.cpp; path = ../../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp; sourceTree = SOURCE_ROOT; };
+ DC92C4ED5AC4F39FA201F932 /* juce_LassoComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LassoComponent.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h; sourceTree = SOURCE_ROOT; };
+ DC9D312245AA5BFA4B21AC85 /* juce_Rectangle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Rectangle.h; path = ../../../../../modules/juce_graphics/geometry/juce_Rectangle.h; sourceTree = SOURCE_ROOT; };
+ DCCC9B894C6F3FF9643B3D85 /* juce_win32_Direct2DGraphicsContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Direct2DGraphicsContext.cpp; path = ../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp; sourceTree = SOURCE_ROOT; };
+ DCE85E789DF463EF99F73FE0 /* win_utf8_io.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = win_utf8_io.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h; sourceTree = SOURCE_ROOT; };
+ DCFCECAE8ED2C934AB68E4EC /* juce_ComboBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComboBox.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp; sourceTree = SOURCE_ROOT; };
+ DD3970FDCA69D2DEFBBA3E72 /* juce_ControlButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ControlButton.h; path = ../../../../../modules/juce_blocks_basics/blocks/juce_ControlButton.h; sourceTree = SOURCE_ROOT; };
+ DD58AB0C80AB9D0B6850983D /* juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_basics.mm; path = ../../JuceLibraryCode/juce_audio_basics.mm; sourceTree = SOURCE_ROOT; };
+ DDA7B0C44BB6500A8264AB08 /* juce_SliderPropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SliderPropertyComponent.cpp; path = ../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp; sourceTree = SOURCE_ROOT; };
+ DDCB65776F12BA2494D86229 /* juce_WindowsRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WindowsRegistry.h; path = ../../../../../modules/juce_core/misc/juce_WindowsRegistry.h; sourceTree = SOURCE_ROOT; };
+ DDD1AD3004D036AF9AFD5043 /* juce_KeyPress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyPress.cpp; path = ../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp; sourceTree = SOURCE_ROOT; };
+ DE005946F4FF5EB9F2B5E94F /* juce_win32_DirectWriteTypeface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectWriteTypeface.cpp; path = ../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp; sourceTree = SOURCE_ROOT; };
+ DEB5BC8C4CF7600478965F15 /* md5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h; sourceTree = SOURCE_ROOT; };
+ DFA7F722F61CC00E65789E52 /* juce_CustomTypeface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CustomTypeface.cpp; path = ../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp; sourceTree = SOURCE_ROOT; };
+ DFBC7ECB67E1FD3C6340663B /* juce_ChannelRemappingAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ChannelRemappingAudioSource.cpp; path = ../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp; sourceTree = SOURCE_ROOT; };
+ DFD7F405B35ECE2DC44D6939 /* jerror.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h; sourceTree = SOURCE_ROOT; };
+ E068081DF4D036954360B4CA /* juce_KeyPressMappingSet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyPressMappingSet.cpp; path = ../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp; sourceTree = SOURCE_ROOT; };
+ E0B3C73D7F3BC93AC8164C1B /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+ E0FC64420488B39FFC9C25AA /* juce_Colours.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Colours.cpp; path = ../../../../../modules/juce_graphics/colour/juce_Colours.cpp; sourceTree = SOURCE_ROOT; };
+ E1714E22DFB33D06F62468F8 /* juce_AnimatedAppComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AnimatedAppComponent.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp; sourceTree = SOURCE_ROOT; };
+ E1CDDE683A9D3D00182334F0 /* juce_audio_formats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_formats.mm; path = ../../JuceLibraryCode/juce_audio_formats.mm; sourceTree = SOURCE_ROOT; };
+ E270518951867873C374D756 /* juce_ComponentPeer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentPeer.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp; sourceTree = SOURCE_ROOT; };
+ E276994927D3E8743E85FEF0 /* res_books_uncoupled.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = res_books_uncoupled.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = SOURCE_ROOT; };
+ E283C55B43C31CD66C6C387F /* lookup_data.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup_data.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = SOURCE_ROOT; };
+ E2AC1771328A969730B88BDA /* juce_ValueTree.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ValueTree.h; path = ../../../../../modules/juce_data_structures/values/juce_ValueTree.h; sourceTree = SOURCE_ROOT; };
+ E2C31B4B096247BEB81029C5 /* juce_TreeView.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TreeView.cpp; path = ../../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp; sourceTree = SOURCE_ROOT; };
+ E2C85B5C1B1B51B08231F7EC /* juce_ApplicationCommandID.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationCommandID.h; path = ../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h; sourceTree = SOURCE_ROOT; };
+ E305CCBB5B76D319BEC9248E /* juce_NotificationType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NotificationType.h; path = ../../../../../modules/juce_events/messages/juce_NotificationType.h; sourceTree = SOURCE_ROOT; };
+ E30B4E0A6F8029E7AE3D52E0 /* juce_Typeface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Typeface.cpp; path = ../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp; sourceTree = SOURCE_ROOT; };
+ E37B67AAF808FD652E3FBE23 /* juce_MPEValue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MPEValue.h; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h; sourceTree = SOURCE_ROOT; };
+ E38345D85F1CD35B62CD6456 /* pngwio.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c; sourceTree = SOURCE_ROOT; };
+ E38D7CBE4043D2FE2DB2B1A0 /* juce_AudioSourcePlayer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioSourcePlayer.cpp; path = ../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp; sourceTree = SOURCE_ROOT; };
+ E39AB15FBBB7950C44245FC6 /* juce_PhysicalTopologySource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PhysicalTopologySource.h; path = ../../../../../modules/juce_blocks_basics/topology/juce_PhysicalTopologySource.h; sourceTree = SOURCE_ROOT; };
+ E3F31A84F34E8B640AB5BE80 /* fixed.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c; sourceTree = SOURCE_ROOT; };
+ E3FFC7BB4B7420DFFB0FF1F0 /* juce_opengl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_opengl.cpp; path = ../../../../../modules/juce_opengl/juce_opengl.cpp; sourceTree = SOURCE_ROOT; };
+ E4286C9BBAAF045DA3AC521A /* juce_ReverbAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ReverbAudioSource.cpp; path = ../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp; sourceTree = SOURCE_ROOT; };
+ E46479B62709BC51E7EADCA3 /* juce_DrawableComposite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableComposite.h; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h; sourceTree = SOURCE_ROOT; };
+ E4A7570B4EABC3BDD766D2A0 /* juce_LookAndFeel_V1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LookAndFeel_V1.cpp; path = ../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp; sourceTree = SOURCE_ROOT; };
+ E4B9999176E0FB1175CE9568 /* juce_MouseCursor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseCursor.h; path = ../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h; sourceTree = SOURCE_ROOT; };
+ E4E68F979116A9B3B7D663C5 /* juce_ImageCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageCache.h; path = ../../../../../modules/juce_graphics/images/juce_ImageCache.h; sourceTree = SOURCE_ROOT; };
+ E51D1884CE4F31EA17661097 /* juce_AudioChannelSet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioChannelSet.cpp; path = ../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp; sourceTree = SOURCE_ROOT; };
+ E53E7B65080C5BBEF4A9D7C3 /* juce_android_FileChooser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_FileChooser.cpp; path = ../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp; sourceTree = SOURCE_ROOT; };
+ E56A4F249B3DC548F3392621 /* juce_FileOutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileOutputStream.h; path = ../../../../../modules/juce_core/files/juce_FileOutputStream.h; sourceTree = SOURCE_ROOT; };
+ E56F858D8C2F9C11CBD6308D /* residue_8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = residue_8.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = SOURCE_ROOT; };
+ E5A413D6F34F783C7A708B49 /* pngwutil.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c; sourceTree = SOURCE_ROOT; };
+ E60F4AAC9AEFE0400EEEF3F0 /* juce_NormalisableRange.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NormalisableRange.h; path = ../../../../../modules/juce_core/maths/juce_NormalisableRange.h; sourceTree = SOURCE_ROOT; };
+ E6BA394E1D41CCDEC2B0DD9B /* juce_NamedPipe.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_NamedPipe.cpp; path = ../../../../../modules/juce_core/network/juce_NamedPipe.cpp; sourceTree = SOURCE_ROOT; };
+ E72062CD9EDFCAFFB63157CB /* juce_FloatVectorOperations.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FloatVectorOperations.cpp; path = ../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp; sourceTree = SOURCE_ROOT; };
+ E7402936E5521555F7B600AC /* juce_ZipFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ZipFile.h; path = ../../../../../modules/juce_core/zip/juce_ZipFile.h; sourceTree = SOURCE_ROOT; };
+ E75A56D8BAB64170C5D38438 /* juce_MidiInput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiInput.h; path = ../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h; sourceTree = SOURCE_ROOT; };
+ E7642142C979E15EF3CA8E38 /* juce_BlockModels.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BlockModels.h; path = ../../../../../modules/juce_blocks_basics/protocol/juce_BlockModels.h; sourceTree = SOURCE_ROOT; };
+ E76C940E3BEADDDA3B798D3F /* juce_DirectoryContentsList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DirectoryContentsList.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp; sourceTree = SOURCE_ROOT; };
+ E76E93F5737FE60F46B3837E /* juce_MPEZone.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPEZone.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.cpp; sourceTree = SOURCE_ROOT; };
+ E76FD2235925C85F2D7A8550 /* juce_android_Messaging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Messaging.cpp; path = ../../../../../modules/juce_events/native/juce_android_Messaging.cpp; sourceTree = SOURCE_ROOT; };
+ E7F6687DE8509FCC698399FC /* juce_MidiRPN.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiRPN.cpp; path = ../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp; sourceTree = SOURCE_ROOT; };
+ E8598E243314304BD8163FD7 /* juce_CallOutBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CallOutBox.h; path = ../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h; sourceTree = SOURCE_ROOT; };
+ E8B53464FF63B6F3C0E8E723 /* juce_StringArray.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StringArray.cpp; path = ../../../../../modules/juce_core/text/juce_StringArray.cpp; sourceTree = SOURCE_ROOT; };
+ E8BBBB6CB566863296CC406B /* juce_OpenGLTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLTexture.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h; sourceTree = SOURCE_ROOT; };
+ E8F80C37B88B1514B9D9F6CD /* juce_MPESynthesiserBase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPESynthesiserBase.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp; sourceTree = SOURCE_ROOT; };
+ E9BFBC057BDD5E694D04F68E /* jdhuff.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c; sourceTree = SOURCE_ROOT; };
+ EA53D42B42EB75C773AB045B /* juce_WaitableEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WaitableEvent.h; path = ../../../../../modules/juce_core/threads/juce_WaitableEvent.h; sourceTree = SOURCE_ROOT; };
+ EA8A57933A118B68E6C8A037 /* juce_RelativePoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativePoint.h; path = ../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h; sourceTree = SOURCE_ROOT; };
+ EAA764F4599A4624B26AD06F /* juce_HyperlinkButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HyperlinkButton.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h; sourceTree = SOURCE_ROOT; };
+ EABAA3E42B432D106A18FC39 /* juce_KeyPress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyPress.h; path = ../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h; sourceTree = SOURCE_ROOT; };
+ EABE813E005E9B66B20BEF8D /* juce_Base64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Base64.h; path = ../../../../../modules/juce_core/text/juce_Base64.h; sourceTree = SOURCE_ROOT; };
+ EADE74B222122B9F8144DF28 /* juce_SystemClipboard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SystemClipboard.h; path = ../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h; sourceTree = SOURCE_ROOT; };
+ EAFC617A8DEFF67E2A070D1B /* juce_StretchableLayoutManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StretchableLayoutManager.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp; sourceTree = SOURCE_ROOT; };
+ EB154A70F170DDD097484FE9 /* juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_events.mm; path = ../../../../../modules/juce_events/juce_events.mm; sourceTree = SOURCE_ROOT; };
+ EB91C5FFE88DF5CFF947669D /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ EBCD4C646F6FA038CBCD1D6F /* juce_Variant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Variant.cpp; path = ../../../../../modules/juce_core/containers/juce_Variant.cpp; sourceTree = SOURCE_ROOT; };
+ EBF38E78D19A1BCCAE6C72E1 /* juce_ImagePreviewComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImagePreviewComponent.cpp; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp; sourceTree = SOURCE_ROOT; };
+ EC6D7E09774AD0360CFDD3CC /* juce_InterprocessConnection.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_InterprocessConnection.cpp; path = ../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp; sourceTree = SOURCE_ROOT; };
+ EC9E71FB57478AB3FDA27CD4 /* juce_MemoryInputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MemoryInputStream.cpp; path = ../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp; sourceTree = SOURCE_ROOT; };
+ ECA282604B5FF6065330901B /* juce_Point.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Point.h; path = ../../../../../modules/juce_graphics/geometry/juce_Point.h; sourceTree = SOURCE_ROOT; };
+ ED7FCADD5623453DD97B43D8 /* juce_WindowsMediaAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WindowsMediaAudioFormat.h; path = ../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h; sourceTree = SOURCE_ROOT; };
+ ED9E41C44623B304A6079277 /* Flac Licence.txt */ = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = SOURCE_ROOT; };
+ EDCE79F26F024D16BCA0F117 /* juce_LowLevelGraphicsPostScriptRenderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LowLevelGraphicsPostScriptRenderer.cpp; path = ../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp; sourceTree = SOURCE_ROOT; };
+ EE3FF44BECDF0A701A625460 /* juce_LookAndFeel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LookAndFeel.h; path = ../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h; sourceTree = SOURCE_ROOT; };
+ EE8BBEB89A13B0E1AFD5780C /* juce_ShapeButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ShapeButton.h; path = ../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h; sourceTree = SOURCE_ROOT; };
+ EEC8B02D39FBA83A6AE62ADA /* juce_LowLevelGraphicsPostScriptRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LowLevelGraphicsPostScriptRenderer.h; path = ../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h; sourceTree = SOURCE_ROOT; };
+ EFD23A341192EC2E36497814 /* juce_ImageFileFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageFileFormat.h; path = ../../../../../modules/juce_graphics/images/juce_ImageFileFormat.h; sourceTree = SOURCE_ROOT; };
+ EFE9FF35F95193089D2465F5 /* AppConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
+ F06F1733D3BA37AA7C511933 /* juce_Justification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Justification.h; path = ../../../../../modules/juce_graphics/placement/juce_Justification.h; sourceTree = SOURCE_ROOT; };
+ F0E4E317DBB8EDC346F79C94 /* trees.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = ../../../../../modules/juce_core/zip/zlib/trees.c; sourceTree = SOURCE_ROOT; };
+ F0F5158BE492B43B8FAAD1D3 /* juce_ListBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ListBox.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h; sourceTree = SOURCE_ROOT; };
+ F1071892476C8E78090C1B04 /* bitwise.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = ../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c; sourceTree = SOURCE_ROOT; };
+ F17172414E68A67E86770D16 /* juce_DrawableImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableImage.h; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h; sourceTree = SOURCE_ROOT; };
+ F1A811BDF1FBDB3460847383 /* juce_mac_CarbonViewWrapperComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_CarbonViewWrapperComponent.h; path = ../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h; sourceTree = SOURCE_ROOT; };
+ F2544DB9D399C1102E95A867 /* juce_LittleFootCompiler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LittleFootCompiler.h; path = ../../../../../modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h; sourceTree = SOURCE_ROOT; };
+ F2634446266E383816E9341A /* setup_32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = setup_32.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = SOURCE_ROOT; };
+ F2720937BE3C1F10272A7C06 /* juce_WindowsMediaAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_WindowsMediaAudioFormat.cpp; path = ../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp; sourceTree = SOURCE_ROOT; };
+ F2D31A607BEC69FA6AD0D12E /* inftrees.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = ../../../../../modules/juce_core/zip/zlib/inftrees.c; sourceTree = SOURCE_ROOT; };
+ F2D9015FC6DBA12DE9609EAA /* juce_win32_SystemStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_SystemStats.cpp; path = ../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp; sourceTree = SOURCE_ROOT; };
+ F306B08E4CCAD1A06EC0DB0E /* juce_TextPropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextPropertyComponent.cpp; path = ../../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp; sourceTree = SOURCE_ROOT; };
+ F3AD07BBECD1E70E5F3F40BD /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ F42D141B9A70BB0273407B0E /* juce_FileBrowserComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileBrowserComponent.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h; sourceTree = SOURCE_ROOT; };
+ F464C4862C4DFD5774559248 /* juce_MPESynthesiser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MPESynthesiser.cpp; path = ../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp; sourceTree = SOURCE_ROOT; };
+ F56396DCA982B63F2DA78471 /* juce_MessageManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MessageManager.h; path = ../../../../../modules/juce_events/messages/juce_MessageManager.h; sourceTree = SOURCE_ROOT; };
+ F572E47156DAA8EEBE746390 /* juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_gui_extra.mm; path = ../../../../../modules/juce_gui_extra/juce_gui_extra.mm; sourceTree = SOURCE_ROOT; };
+ F5A099B54BDAB42FF8D77144 /* juce_DialogWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DialogWindow.cpp; path = ../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp; sourceTree = SOURCE_ROOT; };
+ F5B3C9D2B068F9ADFA8C653C /* juce_Result.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Result.h; path = ../../../../../modules/juce_core/misc/juce_Result.h; sourceTree = SOURCE_ROOT; };
+ F5D2EE7EA410E9A78BF68285 /* juce_OpenGLRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLRenderer.h; path = ../../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h; sourceTree = SOURCE_ROOT; };
+ F6133ABCAB3AC137D60D3D2F /* misc.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = SOURCE_ROOT; };
+ F641DDA93FDEF2450E56A606 /* juce_DirectoryContentsList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectoryContentsList.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h; sourceTree = SOURCE_ROOT; };
+ F69AED9FEB4B4E8B9457BA1F /* juce_PixelFormats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PixelFormats.h; path = ../../../../../modules/juce_graphics/colour/juce_PixelFormats.h; sourceTree = SOURCE_ROOT; };
+ F6E7A4BF54C27C60056270F0 /* jdapimin.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c; sourceTree = SOURCE_ROOT; };
+ F70DB3B3FBB0AB2575A13FD4 /* juce_NativeMessageBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NativeMessageBox.h; path = ../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h; sourceTree = SOURCE_ROOT; };
+ F77076F73232546CC0DA097C /* res_books_stereo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = res_books_stereo.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = SOURCE_ROOT; };
+ F7D345B0E22C7AB91FFF9CD2 /* jerror.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/jerror.c; sourceTree = SOURCE_ROOT; };
+ F837F14CCAD905678B2EB5A1 /* juce_ApplicationCommandManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationCommandManager.h; path = ../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h; sourceTree = SOURCE_ROOT; };
+ F86455FC80F2DF1C12D28BFB /* juce_TabbedButtonBar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TabbedButtonBar.cpp; path = ../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp; sourceTree = SOURCE_ROOT; };
+ F9450711CCBD8FCDEA9E95F7 /* juce_AudioFormatReaderSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormatReaderSource.cpp; path = ../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp; sourceTree = SOURCE_ROOT; };
+ F97BD4908447C154ADAEB982 /* juce_AffineTransform.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AffineTransform.cpp; path = ../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp; sourceTree = SOURCE_ROOT; };
+ FA3537F978DC20BC51975AF4 /* juce_ImageComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageComponent.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h; sourceTree = SOURCE_ROOT; };
+ FA7463364B17FAF275702078 /* adler32.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = ../../../../../modules/juce_core/zip/zlib/adler32.c; sourceTree = SOURCE_ROOT; };
+ FA91B86E9778655B50D0814C /* juce_win32_DirectWriteTypeLayout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectWriteTypeLayout.cpp; path = ../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp; sourceTree = SOURCE_ROOT; };
+ FAF3E26F1BBFA85CA8B333E5 /* juce_AudioTransportSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioTransportSource.cpp; path = ../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp; sourceTree = SOURCE_ROOT; };
+ FB44F62FA6C5FA2DFB1B2142 /* juce_TextEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextEditor.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h; sourceTree = SOURCE_ROOT; };
+ FB558727D4E53558D3F72AE0 /* juce_ImageButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageButton.cpp; path = ../../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp; sourceTree = SOURCE_ROOT; };
+ FB76ED4506F6CB6BC0FA0D50 /* juce_DrawableText.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableText.h; path = ../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h; sourceTree = SOURCE_ROOT; };
+ FB7CEAF8DF0A4447F1BD2DCC /* zconf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = ../../../../../modules/juce_core/zip/zlib/zconf.h; sourceTree = SOURCE_ROOT; };
+ FBC1679B39F569C014570698 /* juce_AffineTransform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AffineTransform.h; path = ../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h; sourceTree = SOURCE_ROOT; };
+ FBD3C4CF5151FE82BA05D486 /* pngrtran.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = ../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c; sourceTree = SOURCE_ROOT; };
+ FCD28EC20E234A418F03AB9E /* juce_ConnectedChildProcess.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ConnectedChildProcess.cpp; path = ../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp; sourceTree = SOURCE_ROOT; };
+ FD05664C4D9E513C74BFBD73 /* juce_Colour.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Colour.h; path = ../../../../../modules/juce_graphics/colour/juce_Colour.h; sourceTree = SOURCE_ROOT; };
+ FD2F08645DF014C0F3110942 /* juce_FilePreviewComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FilePreviewComponent.h; path = ../../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h; sourceTree = SOURCE_ROOT; };
+ FD6A23DA53BC48A5D01DCAAF /* juce_gui_extra.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_gui_extra.h; path = ../../../../../modules/juce_gui_extra/juce_gui_extra.h; sourceTree = SOURCE_ROOT; };
+ FD6A2554500AE9E8F340812C /* transupp.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = ../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c; sourceTree = SOURCE_ROOT; };
+ FDAC3E164BA3FCB909B9F2BE /* crc32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = ../../../../../modules/juce_core/zip/zlib/crc32.h; sourceTree = SOURCE_ROOT; };
+ FDB547DFBE187A379D96760B /* juce_gui_extra.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_gui_extra.cpp; path = ../../../../../modules/juce_gui_extra/juce_gui_extra.cpp; sourceTree = SOURCE_ROOT; };
+ FDF345AF086264E4040A79CF /* juce_RecentlyOpenedFilesList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RecentlyOpenedFilesList.h; path = ../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h; sourceTree = SOURCE_ROOT; };
+ FE376580AD9D099778977CBB /* float.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = ../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c; sourceTree = SOURCE_ROOT; };
+ FE6B0EBC824D1E924DB2406B /* juce_BigInteger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BigInteger.cpp; path = ../../../../../modules/juce_core/maths/juce_BigInteger.cpp; sourceTree = SOURCE_ROOT; };
+ FE81D4D343853571BF409685 /* juce_MessageManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MessageManager.cpp; path = ../../../../../modules/juce_events/messages/juce_MessageManager.cpp; sourceTree = SOURCE_ROOT; };
+ FF988FAEBE5F808EE1BB9F4F /* juce_FlexBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FlexBox.h; path = ../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h; sourceTree = SOURCE_ROOT; };
+ FF9B172146D046D10BC0E7E0 /* juce_TableHeaderComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TableHeaderComponent.h; path = ../../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h; sourceTree = SOURCE_ROOT; };
+ FF9CD52F808B7C91AD25CF71 /* juce_KeyMappingEditorComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyMappingEditorComponent.cpp; path = ../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp; sourceTree = SOURCE_ROOT; };
+ FFC5E68D2033592D6896B282 /* juce_UIViewComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_UIViewComponent.h; path = ../../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h; sourceTree = SOURCE_ROOT; };
+ FFF9520F524FED8D3468287F /* juce_SubregionStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SubregionStream.cpp; path = ../../../../../modules/juce_core/streams/juce_SubregionStream.cpp; sourceTree = SOURCE_ROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 1EFBDD8D783B94E754626B32 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 96CFB8DAD7FFF76D2E317495 /* Accelerate.framework in Frameworks */,
+ 535851B45E7D80B53ABB689D /* AudioToolbox.framework in Frameworks */,
+ 646AAFCDA0A0620699614BB7 /* AVFoundation.framework in Frameworks */,
+ C04A639A8ABC44749B49ED36 /* CoreAudio.framework in Frameworks */,
+ 0579DDF4B03255527CD92BF9 /* CoreGraphics.framework in Frameworks */,
+ 5CC0AE888A8B9CF85C8C1077 /* CoreMIDI.framework in Frameworks */,
+ BDD9B6E13096A4F929CDF0C7 /* CoreText.framework in Frameworks */,
+ 03889D80A76102BB72F53888 /* Foundation.framework in Frameworks */,
+ 268110CDBB2C5560CE1935AB /* OpenGLES.framework in Frameworks */,
+ DEE7F200E0ABCA5F551B8BC8 /* QuartzCore.framework in Frameworks */,
+ AE46B38D70B347166EEA3112 /* UIKit.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 0267817D9651ABB317E33C79 /* uncoupled */ = {
+ isa = PBXGroup;
+ children = (
+ E276994927D3E8743E85FEF0 /* res_books_uncoupled.h */,
+ );
+ name = uncoupled;
+ sourceTree = "<group>";
+ };
+ 058E0B5BC34AD4AD46B9CAB4 /* keyboard */ = {
+ isa = PBXGroup;
+ children = (
+ 8FACD18D8DF3D14D269091CA /* juce_CaretComponent.cpp */,
+ 7D7F423A3FB0AC8EDBE62944 /* juce_CaretComponent.h */,
+ A579D7C165F5D2A34D8B60DB /* juce_KeyboardFocusTraverser.cpp */,
+ 3F57879007B1AD70426EB58B /* juce_KeyboardFocusTraverser.h */,
+ C80F802372BCFB07523C535D /* juce_KeyListener.cpp */,
+ 0112674271470DAC194D36F7 /* juce_KeyListener.h */,
+ DDD1AD3004D036AF9AFD5043 /* juce_KeyPress.cpp */,
+ EABAA3E42B432D106A18FC39 /* juce_KeyPress.h */,
+ 332520A35477D044DB108E0B /* juce_ModifierKeys.cpp */,
+ 047EB8514054BDBED92A4D65 /* juce_ModifierKeys.h */,
+ EADE74B222122B9F8144DF28 /* juce_SystemClipboard.h */,
+ 6085D0F7B3DFD7C8A7564A9B /* juce_TextEditorKeyMapper.h */,
+ C53219A41027ED103B202C42 /* juce_TextInputTarget.h */,
+ );
+ name = keyboard;
+ sourceTree = "<group>";
+ };
+ 07904D644F96E4BDE7F97211 /* application */ = {
+ isa = PBXGroup;
+ children = (
+ BFF50837A22F32388D61E4C4 /* juce_Application.cpp */,
+ 664C16822A70A0AC8DE7BB7C /* juce_Application.h */,
+ );
+ name = application;
+ sourceTree = "<group>";
+ };
+ 0916F802A223C831DF7E3018 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ EB91C5FFE88DF5CFF947669D /* Accelerate.framework */,
+ F3AD07BBECD1E70E5F3F40BD /* AudioToolbox.framework */,
+ E0B3C73D7F3BC93AC8164C1B /* AVFoundation.framework */,
+ CBA6A8FCB0795C89183A8E71 /* CoreAudio.framework */,
+ CEC52ED2250DAF9085E67628 /* CoreGraphics.framework */,
+ 42747FC2DD3F362950112EFA /* CoreMIDI.framework */,
+ 0A72A10DC2BCD29B4A801D40 /* CoreText.framework */,
+ AB8E624C28BB20096959B5C9 /* Foundation.framework */,
+ 0FD9AE627E98FA0C1EC3C163 /* OpenGLES.framework */,
+ 67663D2E66C7F1C1B6BD6392 /* QuartzCore.framework */,
+ ACC89760CF09AB1EB06AD52B /* UIKit.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 093A7AEDD681B83D66FC731D /* buffers */ = {
+ isa = PBXGroup;
+ children = (
+ E51D1884CE4F31EA17661097 /* juce_AudioChannelSet.cpp */,
+ 3D8ED3F6C1407C572BBEC652 /* juce_AudioChannelSet.h */,
+ 408CD5BDE5207D96C2DC6F0B /* juce_AudioDataConverters.cpp */,
+ CA1EF2865AA0F249D7A2646B /* juce_AudioDataConverters.h */,
+ DC032932F029EBB4B68C2A21 /* juce_AudioSampleBuffer.h */,
+ E72062CD9EDFCAFFB63157CB /* juce_FloatVectorOperations.cpp */,
+ B65C1614B4755DD56161B155 /* juce_FloatVectorOperations.h */,
+ );
+ name = buffers;
+ sourceTree = "<group>";
+ };
+ 0C4CEA52BDC9F6A213AC17BD /* windows */ = {
+ isa = PBXGroup;
+ children = (
+ D0C5462B25A1EF7C0BAC2C66 /* juce_AlertWindow.cpp */,
+ 38C951E0E35A4B513616931A /* juce_AlertWindow.h */,
+ 0353708CD8C613C0F5D9081D /* juce_CallOutBox.cpp */,
+ E8598E243314304BD8163FD7 /* juce_CallOutBox.h */,
+ E270518951867873C374D756 /* juce_ComponentPeer.cpp */,
+ CCF01620822A4A144E3C6FBF /* juce_ComponentPeer.h */,
+ F5A099B54BDAB42FF8D77144 /* juce_DialogWindow.cpp */,
+ 320BFED03A887CDA204EB748 /* juce_DialogWindow.h */,
+ DBD9D7E0C4FB25EBBE29B36A /* juce_DocumentWindow.cpp */,
+ 47123B6CF53D538F0E90AC17 /* juce_DocumentWindow.h */,
+ F70DB3B3FBB0AB2575A13FD4 /* juce_NativeMessageBox.h */,
+ 528DB2421C8140B90DA7B1C4 /* juce_ResizableWindow.cpp */,
+ 130A891678CD13F5B8F813A4 /* juce_ResizableWindow.h */,
+ 66CBE1EEF8AA4C91EB7046AA /* juce_ThreadWithProgressWindow.cpp */,
+ 3F461FC27A8BEA812E4604BB /* juce_ThreadWithProgressWindow.h */,
+ 1FA1A18FDF4E7266114D4B47 /* juce_TooltipWindow.cpp */,
+ 189CE0561DF5910DAF13D22B /* juce_TooltipWindow.h */,
+ 260406E9FB3C041C0B3A89E7 /* juce_TopLevelWindow.cpp */,
+ B185D4ED3D7011747FA30D2C /* juce_TopLevelWindow.h */,
+ );
+ name = windows;
+ sourceTree = "<group>";
+ };
+ 0F4E2B72B683E9B48DF13DDB /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ 38998921858495104F35872D /* BlocksSynth */,
+ FCB109DCDFCB200668E6864C /* Juce Modules */,
+ 3ADDC207B0CCAE1F5E220196 /* Juce Library Code */,
+ A6A176D809E46AF236D766B1 /* Resources */,
+ 0916F802A223C831DF7E3018 /* Frameworks */,
+ BEBE62C64C08316AE975AC01 /* Products */,
+ );
+ name = Source;
+ sourceTree = "<group>";
+ };
+ 170195FA23226C76E16320A1 /* network */ = {
+ isa = PBXGroup;
+ children = (
+ D7AA51A9571EBBDACC39F434 /* juce_IPAddress.cpp */,
+ 0A99DEEFD614DE832C7EF6BB /* juce_IPAddress.h */,
+ 3BEAA229D9D403CBE51C6670 /* juce_MACAddress.cpp */,
+ B5887F35A912037691A7AA66 /* juce_MACAddress.h */,
+ E6BA394E1D41CCDEC2B0DD9B /* juce_NamedPipe.cpp */,
+ 13F2E257D9546C430FAD9DD5 /* juce_NamedPipe.h */,
+ A546C8B742A8DC8F5E60C606 /* juce_Socket.cpp */,
+ 2E6C4EDE0CDE7BCC288D464B /* juce_Socket.h */,
+ 3A43AB7B49441ABD392D105D /* juce_URL.cpp */,
+ 224EC8865F2F99C2F1E4361D /* juce_URL.h */,
+ );
+ name = network;
+ sourceTree = "<group>";
+ };
+ 18BE705CB0BE08716FC46C14 /* sources */ = {
+ isa = PBXGroup;
+ children = (
+ B08A348CEAB267336BEE6404 /* juce_AudioSource.h */,
+ 711C1E768B2C7DB6946D1703 /* juce_BufferingAudioSource.cpp */,
+ 93B87F458F1F33BFD30539FD /* juce_BufferingAudioSource.h */,
+ DFBC7ECB67E1FD3C6340663B /* juce_ChannelRemappingAudioSource.cpp */,
+ B0D2EB2CCE9410392733E088 /* juce_ChannelRemappingAudioSource.h */,
+ D88385F251FF95CBF3C70657 /* juce_IIRFilterAudioSource.cpp */,
+ C76C141618B3750168ADC0D1 /* juce_IIRFilterAudioSource.h */,
+ D8B3083479A22B7344F5BAC6 /* juce_MixerAudioSource.cpp */,
+ 02A336F8CDC439485DC73DD0 /* juce_MixerAudioSource.h */,
+ 596AE59CDCCBE4D8E7D27954 /* juce_PositionableAudioSource.h */,
+ C9EA5D0B9826A43E6CC7E88C /* juce_ResamplingAudioSource.cpp */,
+ 57A1B82612ACD48D50CDFB42 /* juce_ResamplingAudioSource.h */,
+ E4286C9BBAAF045DA3AC521A /* juce_ReverbAudioSource.cpp */,
+ 6C4EE337B0005F5CB6650264 /* juce_ReverbAudioSource.h */,
+ 84182A25498E78D5DEF6E925 /* juce_ToneGeneratorAudioSource.cpp */,
+ 856D6984E668878C082F6CE8 /* juce_ToneGeneratorAudioSource.h */,
+ );
+ name = sources;
+ sourceTree = "<group>";
+ };
+ 1BD29601F50DC1FE90A2FB08 /* app_properties */ = {
+ isa = PBXGroup;
+ children = (
+ 47BED7BBD05CF1420DE94CFB /* juce_ApplicationProperties.cpp */,
+ 4ED26BCBDCC64564B6BC33E5 /* juce_ApplicationProperties.h */,
+ 03B238D422D95970A3A834EC /* juce_PropertiesFile.cpp */,
+ 2D0476BBF2E82030BC3095E2 /* juce_PropertiesFile.h */,
+ );
+ name = app_properties;
+ sourceTree = "<group>";
+ };
+ 210735BB76D056E28844FFCE /* unit_tests */ = {
+ isa = PBXGroup;
+ children = (
+ 241982E4455453EF71D03FFF /* juce_UnitTest.cpp */,
+ 9707394FCE0F9ED5DDBB0524 /* juce_UnitTest.h */,
+ );
+ name = unit_tests;
+ sourceTree = "<group>";
+ };
+ 23FE51CE68990B49B3B4AABD /* Audio */ = {
+ isa = PBXGroup;
+ children = (
+ 1A544EA5E8AC999D7F681DDE /* Oscillators.h */,
+ 110B6CE01796C1C6DF0DECAE /* Audio.cpp */,
+ 14CD2D0EE13A7D3289EBBC86 /* Audio.h */,
+ );
+ name = Audio;
+ sourceTree = "<group>";
+ };
+ 240FD43C7C457ED97B01A27D /* geometry */ = {
+ isa = PBXGroup;
+ children = (
+ F97BD4908447C154ADAEB982 /* juce_AffineTransform.cpp */,
+ FBC1679B39F569C014570698 /* juce_AffineTransform.h */,
+ 9B059A5FCABFC0743BAAEDB0 /* juce_BorderSize.h */,
+ B5F5DB38E5BE6CA6306CCE74 /* juce_EdgeTable.cpp */,
+ 0C39EABAF7EE4C2F8C7D6D71 /* juce_EdgeTable.h */,
+ 07D9DF1A2D9CA38CB2F08E7E /* juce_Line.h */,
+ 3D3D5858103B1047C1779AC5 /* juce_Path.cpp */,
+ 9B927FB567BC0D29DE04DEC7 /* juce_Path.h */,
+ 03BD89526E26A670AE63B364 /* juce_PathIterator.cpp */,
+ 599428B835C56E48958680E4 /* juce_PathIterator.h */,
+ BA09B2615301490887929DA8 /* juce_PathStrokeType.cpp */,
+ 6E9222D7B192A7EF575F5003 /* juce_PathStrokeType.h */,
+ ECA282604B5FF6065330901B /* juce_Point.h */,
+ DC9D312245AA5BFA4B21AC85 /* juce_Rectangle.h */,
+ D816E1D2FDD6252C7AAF2628 /* juce_RectangleList.h */,
+ );
+ name = geometry;
+ sourceTree = "<group>";
+ };
+ 247AF08855C438929F46C640 /* juce_core */ = {
+ isa = PBXGroup;
+ children = (
+ 989C3BDC492942642C24282E /* containers */,
+ 7F42CBA4D84F5AAA394B131B /* files */,
+ 4DA608349B8E06A40C2B3610 /* javascript */,
+ 8A82CE1314A80CA4B9001732 /* logging */,
+ 8AEB618AFC1B1D81D447F930 /* maths */,
+ 92948EE426E4BF8860C245B5 /* memory */,
+ E25778D3DF758B321155435A /* misc */,
+ 9BEBBB02AD13A7EEF3C86DF3 /* native */,
+ 170195FA23226C76E16320A1 /* network */,
+ E91966262A1070E1B59F692C /* streams */,
+ 34487656545A1983A0EFEFA8 /* system */,
+ 7FA3E417701A67C38F905646 /* text */,
+ C4A0162E2C1F3E0B4B0B0AD8 /* threads */,
+ F1B99A44061AEE6C7E87751F /* time */,
+ 210735BB76D056E28844FFCE /* unit_tests */,
+ B084942B44BF9E6FCCB075C7 /* xml */,
+ 661D28B0F542603EDC20F3CF /* zip */,
+ 6FA8114276186677C37A02AB /* juce_core.cpp */,
+ C3131423ADE321A9FFD64C46 /* juce_core.mm */,
+ 866A90A69A3EB77768DD8A23 /* juce_core.h */,
+ );
+ name = juce_core;
+ sourceTree = "<group>";
+ };
+ 24E373FDAD31DE2E15DFD3D2 /* lib */ = {
+ isa = PBXGroup;
+ children = (
+ B9E0B6DA3094EEFCFA408C83 /* books */,
+ 3EFC68CF20814573E989B57A /* modes */,
+ 69DCAD4B37C6DFC393CAE941 /* analysis.c */,
+ ADC432227AFFB91565728B20 /* backends.h */,
+ 50A01BFE69012A08EAAA5EF1 /* bitrate.c */,
+ 6CFE9428C509216C6B6E691E /* bitrate.h */,
+ 99A9A70A22EC3C598F623111 /* block.c */,
+ D2A305BF46124317B26844C3 /* codebook.c */,
+ 43D4608C71521337A1E62CBF /* codebook.h */,
+ 685892F6AF56A2B6442C0BA2 /* codec_internal.h */,
+ 18D12ABCC228BF8EB5D22ACC /* envelope.c */,
+ 812F5FE9CE244FFDCFA5F7D7 /* envelope.h */,
+ B70A7208BDC84707A08B49E3 /* floor0.c */,
+ 881A4A50718FA7CE3F3E5375 /* floor1.c */,
+ A19C3A3A74428A4C8EF44EBF /* highlevel.h */,
+ 4E7C1B9669C78323F39F66BA /* info.c */,
+ 56C47E673A21A919A36BA737 /* lookup.c */,
+ 09A20E48B6DDCF89C3BA52B5 /* lookup.h */,
+ E283C55B43C31CD66C6C387F /* lookup_data.h */,
+ 4083423AC8967EC85128335F /* lpc.c */,
+ 2B2AB245E134CDF5515EB130 /* lpc.h */,
+ 7C32EA6B5A32E29B31FE6FFA /* lsp.c */,
+ 5C1AF59B9E0F831176669ED8 /* lsp.h */,
+ 65D2779D3783A6B0DB9DD7C1 /* mapping0.c */,
+ 17A9AAC14945D24CB26659AD /* masking.h */,
+ 3B740130AAA2019AE049C85B /* mdct.c */,
+ 174DCEEB1F0A9CC69F671E41 /* mdct.h */,
+ F6133ABCAB3AC137D60D3D2F /* misc.h */,
+ B34A138110D01A3CA9CB727D /* os.h */,
+ 8BD079BB7D801C6E67873BA1 /* psy.c */,
+ B43C86E279C36B83F25A88D0 /* psy.h */,
+ A65DFC4FCE8DD0EAA2901FF4 /* registry.c */,
+ 6FF35BA648B2B034130B0BF0 /* registry.h */,
+ 7A31D46D227370A23021E676 /* res0.c */,
+ 660DC5473197813B4E38CC4D /* scales.h */,
+ 60CB8017B900A02E7C7C1667 /* sharedbook.c */,
+ 100E8BF90F31D1E045AF1755 /* smallft.c */,
+ 7F13C06AE22B799467575AB5 /* smallft.h */,
+ 8CDDF045B2A202FCA5DFD932 /* synthesis.c */,
+ 0CABBB44D28EDBD36D8E4B87 /* vorbisenc.c */,
+ AA89E7B373C7733F3F5646F1 /* vorbisfile.c */,
+ 39F2D7F60BCE45E9BEF6D2D5 /* window.c */,
+ C278FC33051757FD973E4BB6 /* window.h */,
+ );
+ name = lib;
+ sourceTree = "<group>";
+ };
+ 2872F62BFCDB4181EB1E46C3 /* mpe */ = {
+ isa = PBXGroup;
+ children = (
+ C4716E0C3BCBC857984C58A5 /* juce_MPEInstrument.cpp */,
+ 89C83AC387C203CF1105C951 /* juce_MPEInstrument.h */,
+ 1BF2C3AD8A498D0D55F22623 /* juce_MPEMessages.cpp */,
+ BDD5A0B6F6C05C0A0ECDC78B /* juce_MPEMessages.h */,
+ 13B6344205397F546400A40B /* juce_MPENote.cpp */,
+ D5923C2C45B84A2771DB8125 /* juce_MPENote.h */,
+ F464C4862C4DFD5774559248 /* juce_MPESynthesiser.cpp */,
+ 514E168C6138BEC0DC0D31BB /* juce_MPESynthesiser.h */,
+ E8F80C37B88B1514B9D9F6CD /* juce_MPESynthesiserBase.cpp */,
+ 4C3567E01529EB4730FACB2C /* juce_MPESynthesiserBase.h */,
+ 2DF02AFF10879E3FE2BBF776 /* juce_MPESynthesiserVoice.cpp */,
+ 40297764149FD52F1B1B8FF0 /* juce_MPESynthesiserVoice.h */,
+ 74040BA20DE2E305AE2D0480 /* juce_MPEValue.cpp */,
+ E37B67AAF808FD652E3FBE23 /* juce_MPEValue.h */,
+ E76E93F5737FE60F46B3837E /* juce_MPEZone.cpp */,
+ B1B7933CA5A0B7F38A94F728 /* juce_MPEZone.h */,
+ B90793CC817A7C319A3AE20C /* juce_MPEZoneLayout.cpp */,
+ 8221B5162E280BE9AB2619CD /* juce_MPEZoneLayout.h */,
+ );
+ name = mpe;
+ sourceTree = "<group>";
+ };
+ 293D388343818393DB994F8B /* timers */ = {
+ isa = PBXGroup;
+ children = (
+ B2737AFF8C4A2300FD4DC321 /* juce_MultiTimer.cpp */,
+ 3521249F8414079020AF98B5 /* juce_MultiTimer.h */,
+ 5AF86438272890D0836A262D /* juce_Timer.cpp */,
+ 2092AE5634DE6877D83C4CD4 /* juce_Timer.h */,
+ );
+ name = timers;
+ sourceTree = "<group>";
+ };
+ 2AE3391E3CF2A2D9AEC5AA27 /* native */ = {
+ isa = PBXGroup;
+ children = (
+ 2C651B376A3220A9D720B36B /* juce_android_Fonts.cpp */,
+ 711B895681BA427CC7DF8E7E /* juce_android_GraphicsContext.cpp */,
+ 276500E2DF4FBF36F4FA1B81 /* juce_freetype_Fonts.cpp */,
+ DB3F1EBC07134AD21DB325DC /* juce_linux_Fonts.cpp */,
+ 5EA0ABB0B2C055D60AF351B7 /* juce_mac_CoreGraphicsContext.h */,
+ 942B534CD5B5BA732092A55E /* juce_mac_CoreGraphicsContext.mm */,
+ 5C9A7CB614CE1DFA574772DD /* juce_mac_CoreGraphicsHelpers.h */,
+ 537FDE261B80BA27AB0F268F /* juce_mac_Fonts.mm */,
+ 51F6B14D12856AA27906835D /* juce_RenderingHelpers.h */,
+ DCCC9B894C6F3FF9643B3D85 /* juce_win32_Direct2DGraphicsContext.cpp */,
+ DE005946F4FF5EB9F2B5E94F /* juce_win32_DirectWriteTypeface.cpp */,
+ FA91B86E9778655B50D0814C /* juce_win32_DirectWriteTypeLayout.cpp */,
+ 23E03F6187920AD14BFC8BCD /* juce_win32_Fonts.cpp */,
+ );
+ name = native;
+ sourceTree = "<group>";
+ };
+ 2E126121467FEA75AE5E28E7 /* juce_events */ = {
+ isa = PBXGroup;
+ children = (
+ 6848C10D7BE2FDE4F5BE5A0B /* broadcasters */,
+ 7F7BE232EE718E4A72993E33 /* interprocess */,
+ 32D439DE7107240949F5553E /* messages */,
+ B4D20666B4600ED310A0BD4D /* native */,
+ 293D388343818393DB994F8B /* timers */,
+ 6DC63841ED21D2CC651147C3 /* juce_events.cpp */,
+ EB154A70F170DDD097484FE9 /* juce_events.mm */,
+ 5414D9D1E3345D557CEFE983 /* juce_events.h */,
+ );
+ name = juce_events;
+ sourceTree = "<group>";
+ };
+ 2E64869DDF2412C8949B3D60 /* positioning */ = {
+ isa = PBXGroup;
+ children = (
+ B9DF6AB40767C91B45834CED /* juce_MarkerList.cpp */,
+ 61287CFC6D4262060F576DD7 /* juce_MarkerList.h */,
+ B5E44A231B747E1759C87CD4 /* juce_RelativeCoordinate.cpp */,
+ 9D53AA5877289D7EC8E9D708 /* juce_RelativeCoordinate.h */,
+ 12748EFBC072636CB555FEED /* juce_RelativeCoordinatePositioner.cpp */,
+ 3898C8969F187EDE6C2FE1A1 /* juce_RelativeCoordinatePositioner.h */,
+ C2EA3FCC07E1674AFDEA71B2 /* juce_RelativeParallelogram.cpp */,
+ C6F13DC7541D0F00B8C8ED6A /* juce_RelativeParallelogram.h */,
+ AAF99DBF6ACB84A56C7996C5 /* juce_RelativePoint.cpp */,
+ EA8A57933A118B68E6C8A037 /* juce_RelativePoint.h */,
+ 799F28AA91B1E73D5DD93EF8 /* juce_RelativePointPath.cpp */,
+ 7773CF6756E7F17F8CCFBB0B /* juce_RelativePointPath.h */,
+ CF56CAFD0B05918B202CC8C1 /* juce_RelativeRectangle.cpp */,
+ B29B68EFD93C936B6004A003 /* juce_RelativeRectangle.h */,
+ );
+ name = positioning;
+ sourceTree = "<group>";
+ };
+ 2EF49DCD807993B2B8356444 /* placement */ = {
+ isa = PBXGroup;
+ children = (
+ F06F1733D3BA37AA7C511933 /* juce_Justification.h */,
+ 8F311C729219275902113CE6 /* juce_RectanglePlacement.cpp */,
+ BD8807162A21C44D5C816A74 /* juce_RectanglePlacement.h */,
+ );
+ name = placement;
+ sourceTree = "<group>";
+ };
+ 2FAC8B0260F96E4D3115116A /* native */ = {
+ isa = PBXGroup;
+ children = (
+ A909FAC6633F0D17F297405A /* juce_android_Audio.cpp */,
+ 22C6FFBE9D2206A13A30D71F /* juce_android_Midi.cpp */,
+ 8E8EB4F5ADDC2D5B024F0F0F /* juce_android_OpenSL.cpp */,
+ 0EECE5A38949D03C48FA6727 /* juce_ios_Audio.cpp */,
+ 173848000A992F19AC7AE30C /* juce_linux_ALSA.cpp */,
+ 90092F1E5EBA0AA6057FBE6A /* juce_linux_JackAudio.cpp */,
+ 51DBB2E2806E132D175C2597 /* juce_linux_Midi.cpp */,
+ D1BC969BA323CE7CEEB34692 /* juce_mac_CoreAudio.cpp */,
+ 1ACC1653C65505E7AC29FB74 /* juce_mac_CoreMidi.cpp */,
+ A9FB36572DDA1194317B9352 /* juce_MidiDataConcatenator.h */,
+ DC4C0156E331164E93BF2F1B /* juce_win32_ASIO.cpp */,
+ 07B3D9344EFFDC5DFE383519 /* juce_win32_DirectSound.cpp */,
+ 250D5D5989533ADFB25306EC /* juce_win32_Midi.cpp */,
+ 66A50CF3EB078EE4D9F4456D /* juce_win32_WASAPI.cpp */,
+ );
+ name = native;
+ sourceTree = "<group>";
+ };
+ 2FE9DE53F5D76DADC3CC0E2D /* floor */ = {
+ isa = PBXGroup;
+ children = (
+ 543DC3C0F6530C99ECA63A9A /* floor_books.h */,
+ );
+ name = floor;
+ sourceTree = "<group>";
+ };
+ 321FCEA0CA4F7508415A3CB4 /* pnglib */ = {
+ isa = PBXGroup;
+ children = (
+ C44815DFC69575308E2E7DF5 /* libpng_readme.txt */,
+ 46CD74CB0C207D371D0F22BF /* png.c */,
+ 379FC2C12D06AFB0A0F07476 /* png.h */,
+ D6A1B4EF7647B82043EC5C14 /* pngconf.h */,
+ 87F3AD7F998AC58254A5CB14 /* pngerror.c */,
+ D111247356C62C3698C5259A /* pngget.c */,
+ 67933CC08A429EF3955DA476 /* pnginfo.h */,
+ CB6C50C6F026F66991905EBA /* pngmem.c */,
+ 6D31F014FC058BF4E76B8415 /* pngpread.c */,
+ 5D77406B71C3A76439A5D9E4 /* pngpriv.h */,
+ A317B26EF3D30E3CFCC80F79 /* pngread.c */,
+ AF42734F63315C85E08587B3 /* pngrio.c */,
+ FBD3C4CF5151FE82BA05D486 /* pngrtran.c */,
+ 38995FA8FD1425F65F87FC09 /* pngrutil.c */,
+ 982EF3C57A98E26EAD69AE4B /* pngset.c */,
+ 17889DFA6CEB679211FF3389 /* pngstruct.h */,
+ D9D800ABA75CDD05817432E2 /* pngtrans.c */,
+ E38345D85F1CD35B62CD6456 /* pngwio.c */,
+ 57702152570891F1CEF1F858 /* pngwrite.c */,
+ 6FFFF87297AF8C459786210B /* pngwtran.c */,
+ E5A413D6F34F783C7A708B49 /* pngwutil.c */,
+ );
+ name = pnglib;
+ sourceTree = "<group>";
+ };
+ 32D439DE7107240949F5553E /* messages */ = {
+ isa = PBXGroup;
+ children = (
+ 68F5730BEE88039A3E7E3195 /* juce_ApplicationBase.cpp */,
+ 8D69477B2E980591FF3F78EE /* juce_ApplicationBase.h */,
+ 125D60706A72F35D9D6CB3FE /* juce_CallbackMessage.h */,
+ A48C9F610C0BDA307CC287F7 /* juce_DeletedAtShutdown.cpp */,
+ DA07E0972B6DD508A081B59E /* juce_DeletedAtShutdown.h */,
+ 9E0DB0A243F94F8D90C1CB1B /* juce_Initialisation.h */,
+ B378396CBE6EE2E85295A2DB /* juce_Message.h */,
+ CFFCDE3DE85309817AA5314F /* juce_MessageListener.cpp */,
+ D7A1432A09EA76270555EBFF /* juce_MessageListener.h */,
+ FE81D4D343853571BF409685 /* juce_MessageManager.cpp */,
+ F56396DCA982B63F2DA78471 /* juce_MessageManager.h */,
+ BAFE2641BD8618F8F7F65579 /* juce_MountedVolumeListChangeDetector.h */,
+ E305CCBB5B76D319BEC9248E /* juce_NotificationType.h */,
+ );
+ name = messages;
+ sourceTree = "<group>";
+ };
+ 34487656545A1983A0EFEFA8 /* system */ = {
+ isa = PBXGroup;
+ children = (
+ 7B516EE490E9912305AEBFDC /* juce_CompilerSupport.h */,
+ B82AF1752045C4157C0ADF1B /* juce_PlatformDefs.h */,
+ 78E8E4FD896C87A932976258 /* juce_StandardHeader.h */,
+ 849CF8E8313D7205E0DAA6F8 /* juce_SystemStats.cpp */,
+ 78E5BFE91209EE3CA40BAC3C /* juce_SystemStats.h */,
+ 257F034BF0E09D78178ADCF5 /* juce_TargetPlatform.h */,
+ );
+ name = system;
+ sourceTree = "<group>";
+ };
+ 366F782486E4200762978002 /* flac */ = {
+ isa = PBXGroup;
+ children = (
+ 60614F6E93F279F8BD12C504 /* libFLAC */,
+ 9159BC49F78C18D4ABBAA16A /* all.h */,
+ C1CB3B69DCF541CF84F0A5C1 /* alloc.h */,
+ 093EAF4BA57F6552E2C377B8 /* assert.h */,
+ 61C2BDE6AF13FDD7F7CFB20F /* callback.h */,
+ 25F6B5BC25A7AFBA774E718C /* compat.h */,
+ 68C6E67D53E770D9165DFB36 /* endswap.h */,
+ 7127835E262D977E179ABA27 /* export.h */,
+ ED9E41C44623B304A6079277 /* Flac Licence.txt */,
+ 4ACC5E02BDD5C78A53E2522B /* format.h */,
+ D50C18AA1D31A606129E712C /* metadata.h */,
+ CA5C4EA6672E46AE47A55790 /* ordinals.h */,
+ 7E3C266A9195C927EDA3D45B /* stream_decoder.h */,
+ 75E083FA4A0BAB99229F23EB /* stream_encoder.h */,
+ DCE85E789DF463EF99F73FE0 /* win_utf8_io.h */,
+ );
+ name = flac;
+ sourceTree = "<group>";
+ };
+ 36D60AEACC295718CA4DF1ED /* code_editor */ = {
+ isa = PBXGroup;
+ children = (
+ C8BDDC0EA95699CED529FB96 /* juce_CodeDocument.cpp */,
+ 8CB049C67CA9CA3E76960B1D /* juce_CodeDocument.h */,
+ A2DCF1D28A3EADC8DB365F97 /* juce_CodeEditorComponent.cpp */,
+ 8103743F82032789096ACEB5 /* juce_CodeEditorComponent.h */,
+ 66838D5159BDC5AC0E777C0C /* juce_CodeTokeniser.h */,
+ 6362E2A941EAA49521526692 /* juce_CPlusPlusCodeTokeniser.cpp */,
+ B978E5CC1180425AD149A152 /* juce_CPlusPlusCodeTokeniser.h */,
+ CDEBA4B2BB49150BFAED8665 /* juce_CPlusPlusCodeTokeniserFunctions.h */,
+ 21CA089CEAAEFB67132DE3CD /* juce_LuaCodeTokeniser.cpp */,
+ A93D235AED6D56DA08F82062 /* juce_LuaCodeTokeniser.h */,
+ 8E5D35AF16D5BC97A9F05B26 /* juce_XMLCodeTokeniser.cpp */,
+ BCAD87C5C4722BE2239A00F6 /* juce_XMLCodeTokeniser.h */,
+ );
+ name = code_editor;
+ sourceTree = "<group>";
+ };
+ 38998921858495104F35872D /* BlocksSynth */ = {
+ isa = PBXGroup;
+ children = (
+ 6FBEB977137848BF3903034E /* Source */,
+ );
+ name = BlocksSynth;
+ sourceTree = "<group>";
+ };
+ 3ADDC207B0CCAE1F5E220196 /* Juce Library Code */ = {
+ isa = PBXGroup;
+ children = (
+ EFE9FF35F95193089D2465F5 /* AppConfig.h */,
+ DD58AB0C80AB9D0B6850983D /* juce_audio_basics.mm */,
+ AF5F2E4B8A7F1B9A507D043C /* juce_audio_devices.mm */,
+ E1CDDE683A9D3D00182334F0 /* juce_audio_formats.mm */,
+ A40D3E3FFBEC78F04EE0DE5A /* juce_blocks_basics.cpp */,
+ B0B1C0956FEDCBF2AF19CA6B /* juce_core.mm */,
+ 17544537ED6A83CB6C3F3201 /* juce_data_structures.mm */,
+ 8EF4F0D964C0ECA2E058F7DC /* juce_events.mm */,
+ 7038FD73A5F7527FB76E987E /* juce_graphics.mm */,
+ ABFE23A312B6421D3E21ADC8 /* juce_gui_basics.mm */,
+ 2E85944AC4191910EE758B99 /* juce_gui_extra.mm */,
+ 231FA43EA6BDD60E2E5D682E /* juce_opengl.mm */,
+ 87ECEEBFFBBFB5281E991537 /* JuceHeader.h */,
+ );
+ name = "Juce Library Code";
+ sourceTree = "<group>";
+ };
+ 3EFC68CF20814573E989B57A /* modes */ = {
+ isa = PBXGroup;
+ children = (
+ 6C5369F8D2216549004C2A0E /* floor_all.h */,
+ 67836F067567900AD54826E5 /* psych_8.h */,
+ B6291F8983C362DED92336BE /* psych_11.h */,
+ 1F2D0A04F7D20953AAD00785 /* psych_16.h */,
+ 1E732CABBE64BE6C4FD80795 /* psych_44.h */,
+ E56F858D8C2F9C11CBD6308D /* residue_8.h */,
+ BD019AAA61CCA4A497274794 /* residue_16.h */,
+ 930BD2067E0A3FC1B0812211 /* residue_44.h */,
+ 674C83936EDD53D1D3C70AC1 /* residue_44p51.h */,
+ D00E7D50024BC55EE60D8A1B /* residue_44u.h */,
+ 82C32D94FAED75BF1FBB3FCB /* setup_8.h */,
+ 44F79CEE556BD28E515BA71B /* setup_11.h */,
+ B16D0231583843F5782F2FF1 /* setup_16.h */,
+ 686B051DB68F5583A3DE1C31 /* setup_22.h */,
+ F2634446266E383816E9341A /* setup_32.h */,
+ 8503FD83B959A39D75548438 /* setup_44.h */,
+ 0E8C76CFF33AC2608DE25A16 /* setup_44p51.h */,
+ 3A78A59E802951A187248BD6 /* setup_44u.h */,
+ 6FE31511DFE124B4DBE13958 /* setup_X.h */,
+ );
+ name = modes;
+ sourceTree = "<group>";
+ };
+ 3FE0C15B00B176DC80462EBF /* image_formats */ = {
+ isa = PBXGroup;
+ children = (
+ 94D15D08688C2A46AC9B168B /* jpglib */,
+ 321FCEA0CA4F7508415A3CB4 /* pnglib */,
+ 26688B743438F611F16AA65B /* juce_GIFLoader.cpp */,
+ 493A7E8767FCA4250B6FBD94 /* juce_JPEGLoader.cpp */,
+ A10A8513A3239AF1A4E59DD6 /* juce_PNGLoader.cpp */,
+ );
+ name = image_formats;
+ sourceTree = "<group>";
+ };
+ 404BFEA464246C3581AFCF47 /* juce_audio_basics */ = {
+ isa = PBXGroup;
+ children = (
+ 093A7AEDD681B83D66FC731D /* buffers */,
+ 453B13CE4731731449976196 /* effects */,
+ 9F8DE539E9189F8A8BC181FD /* midi */,
+ 2872F62BFCDB4181EB1E46C3 /* mpe */,
+ 18BE705CB0BE08716FC46C14 /* sources */,
+ 56AB427B045E77338B2EECD6 /* synthesisers */,
+ 79741977D90F18EC3D8BAE35 /* juce_audio_basics.cpp */,
+ 905BDA536A972F6FC36B356F /* juce_audio_basics.mm */,
+ 05201B7662BC062EA0347E8E /* juce_audio_basics.h */,
+ );
+ name = juce_audio_basics;
+ sourceTree = "<group>";
+ };
+ 44A9B15FCFF35B6D4A98AD01 /* widgets */ = {
+ isa = PBXGroup;
+ children = (
+ DCFCECAE8ED2C934AB68E4EC /* juce_ComboBox.cpp */,
+ 8DC8471AAC1855AC5FCF5A49 /* juce_ComboBox.h */,
+ 98A71ED25423EDA3D71C5A82 /* juce_ImageComponent.cpp */,
+ FA3537F978DC20BC51975AF4 /* juce_ImageComponent.h */,
+ 7A45794310114755CDD94AB1 /* juce_Label.cpp */,
+ 3BCDBA897B07973BE96C7CD4 /* juce_Label.h */,
+ 730CE994579DDD2DE49B5D7A /* juce_ListBox.cpp */,
+ F0F5158BE492B43B8FAAD1D3 /* juce_ListBox.h */,
+ 445E7C1EF124A4552532AE4F /* juce_ProgressBar.cpp */,
+ 61F8335D20F500B2BC612A2D /* juce_ProgressBar.h */,
+ 2F8470C7C024CC6EF9669961 /* juce_Slider.cpp */,
+ AB4BAE5B3AAB57A4BC712F3F /* juce_Slider.h */,
+ 634A8B60191C15D6693B40BA /* juce_TableHeaderComponent.cpp */,
+ FF9B172146D046D10BC0E7E0 /* juce_TableHeaderComponent.h */,
+ 8AC432E785BEC3DAD8663650 /* juce_TableListBox.cpp */,
+ 8694FBBB22ADD72875586C4C /* juce_TableListBox.h */,
+ D766274BD43DF76958D6D7A1 /* juce_TextEditor.cpp */,
+ FB44F62FA6C5FA2DFB1B2142 /* juce_TextEditor.h */,
+ 0E2BE57E047E0F1EC2BF9880 /* juce_Toolbar.cpp */,
+ B7E100E53E55FBBB995D1015 /* juce_Toolbar.h */,
+ D01FEE0DC6C2CED2D3217198 /* juce_ToolbarItemComponent.cpp */,
+ 35E2249D105A48B11BCF2DA3 /* juce_ToolbarItemComponent.h */,
+ 97A84C15178314A33151C129 /* juce_ToolbarItemFactory.h */,
+ 577DD1C1B6BC82BE5E32C290 /* juce_ToolbarItemPalette.cpp */,
+ 137EDFA7BC30E6EEFF2A2C04 /* juce_ToolbarItemPalette.h */,
+ E2C31B4B096247BEB81029C5 /* juce_TreeView.cpp */,
+ 959F6D02ECA6B976583C67FA /* juce_TreeView.h */,
+ );
+ name = widgets;
+ sourceTree = "<group>";
+ };
+ 453B13CE4731731449976196 /* effects */ = {
+ isa = PBXGroup;
+ children = (
+ 93704EAD7D73562297F10C7B /* juce_CatmullRomInterpolator.cpp */,
+ 33B297800F96D1E644E085B6 /* juce_CatmullRomInterpolator.h */,
+ 8A3EF0C45AE28C847B7BB89E /* juce_Decibels.h */,
+ A00E9DF1CB3DB09C81B31D98 /* juce_FFT.cpp */,
+ BAB246A896258C6FE2132717 /* juce_FFT.h */,
+ 298DDF49756F536B50469375 /* juce_IIRFilter.cpp */,
+ AD95DCF6FDF31C1C53422FA4 /* juce_IIRFilter.h */,
+ CB0C4A25BA9D6F1AEDEF4CD3 /* juce_LagrangeInterpolator.cpp */,
+ AB4B277C8F975F009F31753A /* juce_LagrangeInterpolator.h */,
+ 40AFF57E82F006FB59D0BB29 /* juce_LinearSmoothedValue.h */,
+ 720BE46FF929B0A8D37DBB05 /* juce_Reverb.h */,
+ );
+ name = effects;
+ sourceTree = "<group>";
+ };
+ 4A4AFBC9552F022B065AF812 /* visualisers */ = {
+ isa = PBXGroup;
+ children = (
+ 331EE1B47BD07B07DFAAE89E /* juce_BitmapLEDProgram.cpp */,
+ 225B313A9BC57AB15CC508F3 /* juce_BitmapLEDProgram.h */,
+ D4F58BCBE5B9C7D88AC92BA4 /* juce_DrumPadLEDProgram.cpp */,
+ 1177C66130BC8F6B57308A18 /* juce_DrumPadLEDProgram.h */,
+ );
+ name = visualisers;
+ sourceTree = "<group>";
+ };
+ 4C6121D44894EBC2CE00C47C /* juce_graphics */ = {
+ isa = PBXGroup;
+ children = (
+ A0AB8A5CFF0F86A8DFC35FD6 /* colour */,
+ 788A2BB27DFA716A543497CA /* contexts */,
+ 6E5F7B54E6D5F4FC5DB69DEA /* effects */,
+ 521B6DE6C4B7BE10CAE4065F /* fonts */,
+ 240FD43C7C457ED97B01A27D /* geometry */,
+ 3FE0C15B00B176DC80462EBF /* image_formats */,
+ 5A2106C72326CEA212F2CCCA /* images */,
+ 2AE3391E3CF2A2D9AEC5AA27 /* native */,
+ 2EF49DCD807993B2B8356444 /* placement */,
+ 614A8A8F8ED16753F8CFE07C /* juce_graphics.cpp */,
+ 268EE6C32655E4002E0F67E1 /* juce_graphics.mm */,
+ 95636B26C770CFEADB3201BA /* juce_graphics.h */,
+ );
+ name = juce_graphics;
+ sourceTree = "<group>";
+ };
+ 4DA608349B8E06A40C2B3610 /* javascript */ = {
+ isa = PBXGroup;
+ children = (
+ 4EAAD4EB24BA19D7B7CC1EBB /* juce_Javascript.cpp */,
+ DB759FAAEF7C18AB11580C3C /* juce_Javascript.h */,
+ C2BFF63FD5C214D4E5B993AE /* juce_JSON.cpp */,
+ B210D9151B74DC5875B5F9F5 /* juce_JSON.h */,
+ );
+ name = javascript;
+ sourceTree = "<group>";
+ };
+ 4EA50957218B9A0F396DB28D /* juce_blocks_basics */ = {
+ isa = PBXGroup;
+ children = (
+ 94FF97995070201943DECACA /* blocks */,
+ 659FF40903B6F0B096F059FF /* littlefoot */,
+ 6E032060C5DDE5C3C3D2D844 /* protocol */,
+ AD032E6784D805C3AEA123E6 /* topology */,
+ 4A4AFBC9552F022B065AF812 /* visualisers */,
+ 211D0DA102619F3D2048A741 /* juce_blocks_basics.cpp */,
+ 014DEEB53672D7474B219518 /* README.txt */,
+ CD2D5E669A846D3497CADFF5 /* juce_blocks_basics.h */,
+ );
+ name = juce_blocks_basics;
+ sourceTree = "<group>";
+ };
+ 4ED61D2C520A402C8D302C3D /* libvorbis-1.3.2 */ = {
+ isa = PBXGroup;
+ children = (
+ 24E373FDAD31DE2E15DFD3D2 /* lib */,
+ );
+ name = "libvorbis-1.3.2";
+ sourceTree = "<group>";
+ };
+ 521B6DE6C4B7BE10CAE4065F /* fonts */ = {
+ isa = PBXGroup;
+ children = (
+ BDBADF3D55924C948F41334D /* juce_AttributedString.cpp */,
+ 21D9B04B3BDC4F1A87DA2C9E /* juce_AttributedString.h */,
+ DFA7F722F61CC00E65789E52 /* juce_CustomTypeface.cpp */,
+ 7C3509B7C5B03AEF2B13D26C /* juce_CustomTypeface.h */,
+ 207D373F8699CA107E7E86F0 /* juce_Font.cpp */,
+ 12EFD54DC8E9CC723BEBE172 /* juce_Font.h */,
+ ABB93E3C3FB5C8C04FB65943 /* juce_GlyphArrangement.cpp */,
+ 92679B9C6D17B2B7CD7B4EFA /* juce_GlyphArrangement.h */,
+ 68282AFC746AB0122FF571AD /* juce_TextLayout.cpp */,
+ 015F1290D2CFD4A244E60AC0 /* juce_TextLayout.h */,
+ E30B4E0A6F8029E7AE3D52E0 /* juce_Typeface.cpp */,
+ A8A58CFF7A33378076372D7F /* juce_Typeface.h */,
+ );
+ name = fonts;
+ sourceTree = "<group>";
+ };
+ 54F4B4E27F443E821ADD4F3B /* audio_io */ = {
+ isa = PBXGroup;
+ children = (
+ 23DBE20DA60F90ACDEC5A24A /* juce_AudioDeviceManager.cpp */,
+ 769EC065E9455C2DFECD2CCA /* juce_AudioDeviceManager.h */,
+ 5737072AA0D7763823260699 /* juce_AudioIODevice.cpp */,
+ 160EA3FBA3A8D5CD53C381F5 /* juce_AudioIODevice.h */,
+ BD1EC57A31C1A44821E79F00 /* juce_AudioIODeviceType.cpp */,
+ 8FC4E1BB74B356F0099608B9 /* juce_AudioIODeviceType.h */,
+ 18F92B6A8369D0F1A9B6705F /* juce_SystemAudioVolume.h */,
+ );
+ name = audio_io;
+ sourceTree = "<group>";
+ };
+ 56AB427B045E77338B2EECD6 /* synthesisers */ = {
+ isa = PBXGroup;
+ children = (
+ 7578F0E1F643412976B603E9 /* juce_Synthesiser.cpp */,
+ 2CDD1AD17D9E9316BC26501D /* juce_Synthesiser.h */,
+ );
+ name = synthesisers;
+ sourceTree = "<group>";
+ };
+ 594F462315832D34803DA5F6 /* juce_audio_formats */ = {
+ isa = PBXGroup;
+ children = (
+ E3649F203633856653E44CDF /* codecs */,
+ EF78B4527B53E228CF764D4C /* format */,
+ E130859390EF4D3D47AEB9E1 /* sampler */,
+ 7609EEEACF06B6ABC9B0AD6C /* juce_audio_formats.cpp */,
+ BED0AA415C62CB7F797E51C4 /* juce_audio_formats.mm */,
+ 96C5E46FAC93C462A7EBF4DF /* juce_audio_formats.h */,
+ );
+ name = juce_audio_formats;
+ sourceTree = "<group>";
+ };
+ 5A2106C72326CEA212F2CCCA /* images */ = {
+ isa = PBXGroup;
+ children = (
+ A23399E22779624DCB1D025C /* juce_Image.cpp */,
+ 72578DAAE178DD6EDC268A4E /* juce_Image.h */,
+ 6C6FCFF482B11A862BE7852F /* juce_ImageCache.cpp */,
+ E4E68F979116A9B3B7D663C5 /* juce_ImageCache.h */,
+ B5FB26E84ABF33A7E353A48D /* juce_ImageConvolutionKernel.cpp */,
+ 0608AD5F887B0DAB247A0169 /* juce_ImageConvolutionKernel.h */,
+ 45830B6210881854542DEE1C /* juce_ImageFileFormat.cpp */,
+ EFD23A341192EC2E36497814 /* juce_ImageFileFormat.h */,
+ );
+ name = images;
+ sourceTree = "<group>";
+ };
+ 5DCA357F8D71E6533AA7F14C /* commands */ = {
+ isa = PBXGroup;
+ children = (
+ E2C85B5C1B1B51B08231F7EC /* juce_ApplicationCommandID.h */,
+ A8C4CA489A4BF1B340754797 /* juce_ApplicationCommandInfo.cpp */,
+ 54414222D76B0C6CD2D245C5 /* juce_ApplicationCommandInfo.h */,
+ BE3AB671FE1BF4BA67F3B22E /* juce_ApplicationCommandManager.cpp */,
+ F837F14CCAD905678B2EB5A1 /* juce_ApplicationCommandManager.h */,
+ 5DDD8C97387E3792B53F6914 /* juce_ApplicationCommandTarget.cpp */,
+ 016588BDC792CF429E174F41 /* juce_ApplicationCommandTarget.h */,
+ E068081DF4D036954360B4CA /* juce_KeyPressMappingSet.cpp */,
+ B35C9A4EB69C394A0DE6E813 /* juce_KeyPressMappingSet.h */,
+ );
+ name = commands;
+ sourceTree = "<group>";
+ };
+ 60614F6E93F279F8BD12C504 /* libFLAC */ = {
+ isa = PBXGroup;
+ children = (
+ F69691A4E1C622CB74BACAFA /* include */,
+ B7EF3871AADEF4B0B05827E5 /* bitmath.c */,
+ 4CA1F3B93913EA346771DFAA /* bitreader.c */,
+ CAA47648604DE92DE3E7826B /* bitwriter.c */,
+ 156A9CB51E86FFCA164A77F2 /* cpu.c */,
+ 1F0A802DF7D1C7F69E32CF10 /* crc.c */,
+ E3F31A84F34E8B640AB5BE80 /* fixed.c */,
+ FE376580AD9D099778977CBB /* float.c */,
+ 4D3CB4D0542A042B8C210E31 /* format.c */,
+ 03130BDC25B905B277B0B227 /* lpc_flac.c */,
+ BF052877DCD7D8C1AA4CDF9F /* md5.c */,
+ 6107414E2EBFD835DB9235E3 /* memory.c */,
+ C7A1D93A3CD65E4F1FA770F2 /* stream_decoder.c */,
+ 84FD4873C8F91A307D95563B /* stream_encoder.c */,
+ A844CEB6720112AAAE4BDABD /* stream_encoder_framing.c */,
+ 942341A54DBA7FD0D9AD19DF /* window_flac.c */,
+ );
+ name = libFLAC;
+ sourceTree = "<group>";
+ };
+ 659FF40903B6F0B096F059FF /* littlefoot */ = {
+ isa = PBXGroup;
+ children = (
+ F2544DB9D399C1102E95A867 /* juce_LittleFootCompiler.h */,
+ AF6E053345A73531F9DE19FA /* juce_LittleFootRemoteHeap.h */,
+ A7102BD74E049F7ED8513D1B /* juce_LittleFootRunner.h */,
+ 3C3A319FB7E247A39036FB7A /* LittleFoot Language README.txt */,
+ );
+ name = littlefoot;
+ sourceTree = "<group>";
+ };
+ 661D28B0F542603EDC20F3CF /* zip */ = {
+ isa = PBXGroup;
+ children = (
+ E13111C1D2F1074DB33AF04F /* zlib */,
+ 0ACB19FBE5DEAB16B5FE56B9 /* juce_GZIPCompressorOutputStream.cpp */,
+ B2A083D68101A749DA6CEC50 /* juce_GZIPCompressorOutputStream.h */,
+ C22DDE0CA3FD2565AC1A9641 /* juce_GZIPDecompressorInputStream.cpp */,
+ D270EFE61FCF33ABA7DD7A82 /* juce_GZIPDecompressorInputStream.h */,
+ A830EA78B992425DA01217BB /* juce_ZipFile.cpp */,
+ E7402936E5521555F7B600AC /* juce_ZipFile.h */,
+ );
+ name = zip;
+ sourceTree = "<group>";
+ };
+ 6848C10D7BE2FDE4F5BE5A0B /* broadcasters */ = {
+ isa = PBXGroup;
+ children = (
+ CDB6AB74B48E27543C7C3247 /* juce_ActionBroadcaster.cpp */,
+ 06345AE1675306ACD324B59F /* juce_ActionBroadcaster.h */,
+ 5E977684B01B2AE8C9E6DAD6 /* juce_ActionListener.h */,
+ 545F7B594166F08E2B2976C7 /* juce_AsyncUpdater.cpp */,
+ 57F6D4DF279AF7D98FE44E16 /* juce_AsyncUpdater.h */,
+ C050A75A3FD1ED843430646B /* juce_ChangeBroadcaster.cpp */,
+ AE91EB61DAC980EC373284E1 /* juce_ChangeBroadcaster.h */,
+ 79DB1C896B9D762A9BF4D9EF /* juce_ChangeListener.h */,
+ );
+ name = broadcasters;
+ sourceTree = "<group>";
+ };
+ 6E032060C5DDE5C3C3D2D844 /* protocol */ = {
+ isa = PBXGroup;
+ children = (
+ 595CFE4CA3DAE79C08D9C7C7 /* juce_BitPackingUtilities.h */,
+ E7642142C979E15EF3CA8E38 /* juce_BlockModels.h */,
+ A7A27C3E995A0A0CAF75F018 /* juce_BlocksProtocolDefinitions.h */,
+ 30CC24B13FEBDDB188320191 /* juce_HostPacketBuilder.h */,
+ B1DDA423E55EA93290F02213 /* juce_HostPacketDecoder.h */,
+ 80BBC5D053419503A600F7D5 /* Protocol Format.txt */,
+ );
+ name = protocol;
+ sourceTree = "<group>";
+ };
+ 6E5F7B54E6D5F4FC5DB69DEA /* effects */ = {
+ isa = PBXGroup;
+ children = (
+ BF273AD2BE0018A6EDCF2258 /* juce_DropShadowEffect.cpp */,
+ C8CDA61126AEF68721AE396B /* juce_DropShadowEffect.h */,
+ C54776C328896DD9C63D5F14 /* juce_GlowEffect.cpp */,
+ 6208ED57BF34A1758751DC64 /* juce_GlowEffect.h */,
+ 05F31583615DF3401FCF6EDC /* juce_ImageEffectFilter.h */,
+ );
+ name = effects;
+ sourceTree = "<group>";
+ };
+ 6FBEB977137848BF3903034E /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ 23FE51CE68990B49B3B4AABD /* Audio */,
+ 77EAC0B282DEA3227F3F03B1 /* MainComponent.cpp */,
+ 1AE75CB0FA61A03429A4E540 /* MainComponent.h */,
+ D98771DCE827466B36D51AF8 /* Main.cpp */,
+ );
+ name = Source;
+ sourceTree = "<group>";
+ };
+ 7014FBB2A0234F105FFD4373 /* misc */ = {
+ isa = PBXGroup;
+ children = (
+ 9CD701758E71973D7BF7CC8D /* juce_BubbleComponent.cpp */,
+ B2945D912BAAD64AB84975AA /* juce_BubbleComponent.h */,
+ 879DC7CDE41F11EF9A8F3FCE /* juce_DropShadower.cpp */,
+ 3DDC23784E7F36861AF31A75 /* juce_DropShadower.h */,
+ );
+ name = misc;
+ sourceTree = "<group>";
+ };
+ 73B736F0A245E7492E237884 /* properties */ = {
+ isa = PBXGroup;
+ children = (
+ 083B9BAE399C7621EABFD0DC /* juce_BooleanPropertyComponent.cpp */,
+ 8E8618D73EBC59ABD8A424EB /* juce_BooleanPropertyComponent.h */,
+ 20C2BF35D7BA96D597557B46 /* juce_ButtonPropertyComponent.cpp */,
+ 5EA120BDDD4CEB77D4440C20 /* juce_ButtonPropertyComponent.h */,
+ 96A355D0A7CCC55998862273 /* juce_ChoicePropertyComponent.cpp */,
+ 551BB1571903BD046B3947C4 /* juce_ChoicePropertyComponent.h */,
+ C9C143571708C2B184BFEB12 /* juce_PropertyComponent.cpp */,
+ D0029C076D0AFD4531B8C952 /* juce_PropertyComponent.h */,
+ C78AE90444451893D78C4E91 /* juce_PropertyPanel.cpp */,
+ A868BFDFEFD84058783F8A1B /* juce_PropertyPanel.h */,
+ DDA7B0C44BB6500A8264AB08 /* juce_SliderPropertyComponent.cpp */,
+ AB50A06C6DADCC7678D37DF0 /* juce_SliderPropertyComponent.h */,
+ F306B08E4CCAD1A06EC0DB0E /* juce_TextPropertyComponent.cpp */,
+ 2D53FB29FFFEEB29036792DB /* juce_TextPropertyComponent.h */,
+ );
+ name = properties;
+ sourceTree = "<group>";
+ };
+ 74989612E8D2BDBE1BF17A4A /* coupled */ = {
+ isa = PBXGroup;
+ children = (
+ 0EDF75F8D489F87A668EA9D5 /* res_books_51.h */,
+ F77076F73232546CC0DA097C /* res_books_stereo.h */,
+ );
+ name = coupled;
+ sourceTree = "<group>";
+ };
+ 788A2BB27DFA716A543497CA /* contexts */ = {
+ isa = PBXGroup;
+ children = (
+ 14B0A23846DEF4981EB6CD1A /* juce_GraphicsContext.cpp */,
+ 4977DE7B0A8135EDB73EFD68 /* juce_GraphicsContext.h */,
+ BDE15BB5ED83547045B075DC /* juce_LowLevelGraphicsContext.h */,
+ EDCE79F26F024D16BCA0F117 /* juce_LowLevelGraphicsPostScriptRenderer.cpp */,
+ EEC8B02D39FBA83A6AE62ADA /* juce_LowLevelGraphicsPostScriptRenderer.h */,
+ 1B70293A6CF7F13B06B6569A /* juce_LowLevelGraphicsSoftwareRenderer.cpp */,
+ 813E65ADB3932DDD6C2FD747 /* juce_LowLevelGraphicsSoftwareRenderer.h */,
+ );
+ name = contexts;
+ sourceTree = "<group>";
+ };
+ 7F2DD2D15FC2FB09957FB5E0 /* midi_io */ = {
+ isa = PBXGroup;
+ children = (
+ E75A56D8BAB64170C5D38438 /* juce_MidiInput.h */,
+ 852CE105B166A48264750790 /* juce_MidiMessageCollector.cpp */,
+ 7F9265BF55E77A3F1FE16D6A /* juce_MidiMessageCollector.h */,
+ BB206032A144BA440AF410E1 /* juce_MidiOutput.cpp */,
+ 7806B0B64D514AC448AD6E0F /* juce_MidiOutput.h */,
+ );
+ name = midi_io;
+ sourceTree = "<group>";
+ };
+ 7F42CBA4D84F5AAA394B131B /* files */ = {
+ isa = PBXGroup;
+ children = (
+ 29019D28852F4BA5CC9C303A /* juce_DirectoryIterator.cpp */,
+ 94123CD59BFDC04A9DFCB71B /* juce_DirectoryIterator.h */,
+ 21E4F85AFE03A986C667AC7F /* juce_File.cpp */,
+ A9D2C3EEB94596DD2B772434 /* juce_File.h */,
+ 993A042E02F2CE3ABC485FC1 /* juce_FileFilter.cpp */,
+ 8BC3502A774FCDC44C015866 /* juce_FileFilter.h */,
+ 110E2D4DFEF9D028905A9127 /* juce_FileInputStream.cpp */,
+ 58AEC1D427BCFE3609BCD90A /* juce_FileInputStream.h */,
+ 7BBCCF2C183BCF08FA446ABB /* juce_FileOutputStream.cpp */,
+ E56A4F249B3DC548F3392621 /* juce_FileOutputStream.h */,
+ DBBDB335ABA05B454F030054 /* juce_FileSearchPath.cpp */,
+ A406981AEDB8C64F3F1000ED /* juce_FileSearchPath.h */,
+ 4556D874FD9CF3D1DCE3DF36 /* juce_MemoryMappedFile.h */,
+ C2925B912CB7478725EC09C0 /* juce_TemporaryFile.cpp */,
+ 26F41B7D9404B50D9FE40C5E /* juce_TemporaryFile.h */,
+ BFE24BD62EA3F7DBFA196DF7 /* juce_WildcardFileFilter.cpp */,
+ CC764227E00D7572D2B22354 /* juce_WildcardFileFilter.h */,
+ );
+ name = files;
+ sourceTree = "<group>";
+ };
+ 7F7BE232EE718E4A72993E33 /* interprocess */ = {
+ isa = PBXGroup;
+ children = (
+ FCD28EC20E234A418F03AB9E /* juce_ConnectedChildProcess.cpp */,
+ 3837D7332EB169F26F818BB9 /* juce_ConnectedChildProcess.h */,
+ EC6D7E09774AD0360CFDD3CC /* juce_InterprocessConnection.cpp */,
+ 5DA4467E35DFFBF7AD8268A8 /* juce_InterprocessConnection.h */,
+ 75725425105CE1949C646ADA /* juce_InterprocessConnectionServer.cpp */,
+ 4D372B2B68D66E83A4370DE3 /* juce_InterprocessConnectionServer.h */,
+ );
+ name = interprocess;
+ sourceTree = "<group>";
+ };
+ 7FA3E417701A67C38F905646 /* text */ = {
+ isa = PBXGroup;
+ children = (
+ D184EF49BA7A3F3F5545B1D0 /* juce_Base64.cpp */,
+ EABE813E005E9B66B20BEF8D /* juce_Base64.h */,
+ 95A6DD5234F109DB3ABC983C /* juce_CharacterFunctions.cpp */,
+ 3F01CB2947056402F526A4F4 /* juce_CharacterFunctions.h */,
+ 80235293554BB0956701E9ED /* juce_CharPointer_ASCII.h */,
+ 43CC58EE154F54E14E70A9A9 /* juce_CharPointer_UTF8.h */,
+ CDB1484C4D6010E4D4B03C8A /* juce_CharPointer_UTF16.h */,
+ 8DC679191499EAE03463DC3E /* juce_CharPointer_UTF32.h */,
+ 8EBDC229B7D3D13C09C28CE6 /* juce_Identifier.cpp */,
+ CDBA14E9ED2A6DFA59B3E9F8 /* juce_Identifier.h */,
+ AA518B503E5A850094865B1A /* juce_LocalisedStrings.cpp */,
+ 4B28AF2241AA37172D6069F8 /* juce_LocalisedStrings.h */,
+ 379BA1B50BAEE43F433A9E29 /* juce_NewLine.h */,
+ 7E6FCB5568F74241A49A5B91 /* juce_String.cpp */,
+ 884EE4AA71233E725BAC6B70 /* juce_String.h */,
+ E8B53464FF63B6F3C0E8E723 /* juce_StringArray.cpp */,
+ C8A28EF3F300FCD23130DADD /* juce_StringArray.h */,
+ 47607EE37E20577AC6770AD4 /* juce_StringPairArray.cpp */,
+ D9C6F027E7A8E9FDDDAF99BC /* juce_StringPairArray.h */,
+ 62062D02BDD756A9F4CD9917 /* juce_StringPool.cpp */,
+ 5715EA1172976C34BF618365 /* juce_StringPool.h */,
+ 93FDFB1DD4E2378AE729BA02 /* juce_StringRef.h */,
+ 284D3D37AFE280A47CFE5732 /* juce_TextDiff.cpp */,
+ A4E1341FFEB2CDFED4B2750C /* juce_TextDiff.h */,
+ );
+ name = text;
+ sourceTree = "<group>";
+ };
+ 81FAD18B53D88E4B82950267 /* native */ = {
+ isa = PBXGroup;
+ children = (
+ 3B603D361B33DF947B16EC5A /* juce_MissingGLDefinitions.h */,
+ BD369BD9E2486BB5D544D8FA /* juce_OpenGL_android.h */,
+ 2DA8B0B8F42BA75AA6C09CF5 /* juce_OpenGL_ios.h */,
+ 41AAF7E46A95C5137361C5D1 /* juce_OpenGL_linux.h */,
+ 99D82B4AECBFE5BBEA8E435B /* juce_OpenGL_osx.h */,
+ D9B504A48CCEDE57288899D9 /* juce_OpenGL_win32.h */,
+ B56D69C275FA7C73683BA840 /* juce_OpenGLExtensions.h */,
+ );
+ name = native;
+ sourceTree = "<group>";
+ };
+ 8A58297D0379A4A41A945917 /* oggvorbis */ = {
+ isa = PBXGroup;
+ children = (
+ 4ED61D2C520A402C8D302C3D /* libvorbis-1.3.2 */,
+ F1071892476C8E78090C1B04 /* bitwise.c */,
+ 8FBD6AD2AA7111D2BE5D52AD /* codec.h */,
+ 4EE92E0A9A6A3FED53DEF136 /* config_types.h */,
+ 37D3F9ADA06E46941FFC1532 /* framing.c */,
+ 818EFDD3442FFD396956B865 /* Ogg Vorbis Licence.txt */,
+ B3D4730C96893578BF727D5A /* ogg.h */,
+ D19C04CE3F848A3EB30BD306 /* os_types.h */,
+ 613FE7EF2A3A4359633BA85E /* vorbisenc.h */,
+ 2724A39A33300FFBF89A4EAF /* vorbisfile.h */,
+ );
+ name = oggvorbis;
+ sourceTree = "<group>";
+ };
+ 8A82CE1314A80CA4B9001732 /* logging */ = {
+ isa = PBXGroup;
+ children = (
+ 5C8F1A64FF9B42D0D2BED7FE /* juce_FileLogger.cpp */,
+ B0B4567F125815CE3D5F97B0 /* juce_FileLogger.h */,
+ BA55F9EC52073F1ECFEF5F2D /* juce_Logger.cpp */,
+ B19D56F3E441EB2B1A84C41A /* juce_Logger.h */,
+ );
+ name = logging;
+ sourceTree = "<group>";
+ };
+ 8AEB618AFC1B1D81D447F930 /* maths */ = {
+ isa = PBXGroup;
+ children = (
+ FE6B0EBC824D1E924DB2406B /* juce_BigInteger.cpp */,
+ 820AEA62B5F877385A1B482D /* juce_BigInteger.h */,
+ 97BAAC4F048477A639E48B3F /* juce_Expression.cpp */,
+ CEC3F1D21215C9FC326F7970 /* juce_Expression.h */,
+ 9BC9AD541C62AF0DD2BC11D5 /* juce_MathsFunctions.h */,
+ E60F4AAC9AEFE0400EEEF3F0 /* juce_NormalisableRange.h */,
+ ADF718CBF6842DD6FC15CF71 /* juce_Random.cpp */,
+ 9D95253B677F8E6E916D4C41 /* juce_Random.h */,
+ 43FA1C85CEEE8976874CDE5D /* juce_Range.h */,
+ 3863C9397ED9E2DC7C26E98F /* juce_StatisticsAccumulator.h */,
+ );
+ name = maths;
+ sourceTree = "<group>";
+ };
+ 8C50A37660EFD2826595E21F /* buttons */ = {
+ isa = PBXGroup;
+ children = (
+ A6CA6F9862A31AA045082102 /* juce_ArrowButton.cpp */,
+ 007B1F3B503C7D7F4744BA43 /* juce_ArrowButton.h */,
+ 1E3AD3FF27C698CD3EE18C93 /* juce_Button.cpp */,
+ 39B343A6A7A4BD31ED5AA4EA /* juce_Button.h */,
+ 80E878BF0672503772AB3C6C /* juce_DrawableButton.cpp */,
+ 549A73307E1C2D12EC3FA599 /* juce_DrawableButton.h */,
+ A1842A3B2210EA4F3E78A614 /* juce_HyperlinkButton.cpp */,
+ EAA764F4599A4624B26AD06F /* juce_HyperlinkButton.h */,
+ FB558727D4E53558D3F72AE0 /* juce_ImageButton.cpp */,
+ A3C88D6C40459FD49F4BBBFC /* juce_ImageButton.h */,
+ 84187C96133F7EAC39E46D9B /* juce_ShapeButton.cpp */,
+ EE8BBEB89A13B0E1AFD5780C /* juce_ShapeButton.h */,
+ 282CADA9E37A136FDBC83A2F /* juce_TextButton.cpp */,
+ A1C12AC77EFFF165AC6B053D /* juce_TextButton.h */,
+ 377AF33A6FFEBFE62A05AD2D /* juce_ToggleButton.cpp */,
+ 00AFB2ECABC5FF5015B0DF6C /* juce_ToggleButton.h */,
+ 3C7A5BB34C606EBC8556E38A /* juce_ToolbarButton.cpp */,
+ 1751F5BA57A88D8A20248EAB /* juce_ToolbarButton.h */,
+ );
+ name = buttons;
+ sourceTree = "<group>";
+ };
+ 90D9DDA0B7937A5B2ED77F30 /* juce_audio_devices */ = {
+ isa = PBXGroup;
+ children = (
+ 54F4B4E27F443E821ADD4F3B /* audio_io */,
+ 7F2DD2D15FC2FB09957FB5E0 /* midi_io */,
+ 2FAC8B0260F96E4D3115116A /* native */,
+ AE3AD44B4637C7B1E2E5E9D5 /* sources */,
+ 6FC3D011A099091610A803A3 /* juce_audio_devices.cpp */,
+ 919078E0ACA29DBAEFAEDB97 /* juce_audio_devices.mm */,
+ 1418A6F2476A59D58CB4D5A6 /* juce_audio_devices.h */,
+ );
+ name = juce_audio_devices;
+ sourceTree = "<group>";
+ };
+ 92948EE426E4BF8860C245B5 /* memory */ = {
+ isa = PBXGroup;
+ children = (
+ 0EEC4F43BAD1FD5DD3503BAF /* juce_Atomic.h */,
+ 5558831C1B9AE2F59258290A /* juce_ByteOrder.h */,
+ D410F13F7C6D5DEB4EC91AA6 /* juce_ContainerDeletePolicy.h */,
+ 52E468B373041BD029A57DA9 /* juce_HeapBlock.h */,
+ 045387853469E755B6DD741C /* juce_LeakedObjectDetector.h */,
+ 05D530D67D2893ADAD43AA46 /* juce_Memory.h */,
+ 01D383BCF77D7704F896259D /* juce_MemoryBlock.cpp */,
+ 9AAD4E5C83FE06AA1C471DCB /* juce_MemoryBlock.h */,
+ A9833EF4FF3863198A01845F /* juce_OptionalScopedPointer.h */,
+ 99D62156E5F03AEEF0F367BE /* juce_ReferenceCountedObject.h */,
+ 34232FF8256F5BA2E80D6C83 /* juce_ScopedPointer.h */,
+ 05C5166291508D65E4DE1C7F /* juce_SharedResourcePointer.h */,
+ B0792237EC36D9F9D8D94380 /* juce_Singleton.h */,
+ 6F0D14BB0BF350DD7664CFE7 /* juce_WeakReference.h */,
+ );
+ name = memory;
+ sourceTree = "<group>";
+ };
+ 94D15D08688C2A46AC9B168B /* jpglib */ = {
+ isa = PBXGroup;
+ children = (
+ A0FF0FE7A4BA41F808EBF3C1 /* cderror.h */,
+ 2479A476CE3A4C0AF2EDBA33 /* changes to libjpeg for JUCE.txt */,
+ 5D2D967B09263CB6D21E1FCB /* jcapimin.c */,
+ 63577C8216D3E4FA634001A3 /* jcapistd.c */,
+ 9F87B75B0923DE3CA7124827 /* jccoefct.c */,
+ AC9C674F22F5CCEDB27CA007 /* jccolor.c */,
+ BC5C888CE6A7A5B4562FA329 /* jcdctmgr.c */,
+ B1A84BBE9851F9F56F0E8D0D /* jchuff.c */,
+ 468845E6939E7671B082138A /* jchuff.h */,
+ 7F71A4F3F4814177EB0CFB75 /* jcinit.c */,
+ 7986D1D717F09A2C5DB15445 /* jcmainct.c */,
+ 4FD457CCBE50024B1A6377A7 /* jcmarker.c */,
+ D901EBE00D1E01A3702FA03D /* jcmaster.c */,
+ 55902FE86849138F98309FD1 /* jcomapi.c */,
+ DB2F2C84EE330E7B99CB91D6 /* jconfig.h */,
+ C3729E6D46FC9FE8B8EA99E6 /* jcparam.c */,
+ 3CB2C6DD82376B45112B0576 /* jcphuff.c */,
+ C5FB97556F8007E0E5849857 /* jcprepct.c */,
+ 2ED49D97994DA78A2920445B /* jcsample.c */,
+ 4F5EC73689E82CFA1B5E8B08 /* jctrans.c */,
+ F6E7A4BF54C27C60056270F0 /* jdapimin.c */,
+ 761F52DF0A7AEB7B43229D12 /* jdapistd.c */,
+ 0E2AB1720BB6F9EB7E91279B /* jdatasrc.c */,
+ 3B4D669F61B7B70F9F60B2A0 /* jdcoefct.c */,
+ 0501056AA00F05DCCC93B577 /* jdcolor.c */,
+ 0394E57BC8D292BA4F34C748 /* jdct.h */,
+ 27A4321B4652868129075D63 /* jddctmgr.c */,
+ E9BFBC057BDD5E694D04F68E /* jdhuff.c */,
+ 3392234464B3B3A97DA2B58C /* jdhuff.h */,
+ B56ACDB21BF63DD70C738C65 /* jdinput.c */,
+ 939C507246EB383834A13299 /* jdmainct.c */,
+ CC03ACEC4A87137E5E9C8328 /* jdmarker.c */,
+ 609FED9DD1CE6987BC6B0407 /* jdmaster.c */,
+ 97DC76FC35177C25FECDD169 /* jdmerge.c */,
+ D3F2B4B868A0F886E10FD901 /* jdphuff.c */,
+ 6F96929ABEA4492374734DB9 /* jdpostct.c */,
+ 34F5C04FBF3B13F93083A301 /* jdsample.c */,
+ 0EC6923BA8DD0A685E54F725 /* jdtrans.c */,
+ F7D345B0E22C7AB91FFF9CD2 /* jerror.c */,
+ DFD7F405B35ECE2DC44D6939 /* jerror.h */,
+ 2A545C8625733F4D09626C16 /* jfdctflt.c */,
+ 11BB8490A209BD313ED39DAE /* jfdctfst.c */,
+ 8406536DA0B794016B0CC15B /* jfdctint.c */,
+ 634FC3F52B78B7FD78717F66 /* jidctflt.c */,
+ BC6AEAE96DA5F1EE5F62BD17 /* jidctfst.c */,
+ CE8E7EE0568DAE54277A3A75 /* jidctint.c */,
+ 100828DA91AC6887A22A621A /* jidctred.c */,
+ 5DEC0A780DB6B3C7E3FE1896 /* jinclude.h */,
+ 8A92A94D8E00418673E58846 /* jmemmgr.c */,
+ 47604C0ABC53AE6ADB1BFF3D /* jmemnobs.c */,
+ 3AB3B36BE9E7513E6A0785BC /* jmemsys.h */,
+ D16614D13C7C9AB7565DE60F /* jmorecfg.h */,
+ 9BA7FB3722B671A47037C909 /* jpegint.h */,
+ 46CA6FE2FCF2B4493A1CB500 /* jpeglib.h */,
+ 0A2C851155CE6975BA22C5B9 /* jquant1.c */,
+ 1F7339EB6D3A6DAC5966AA91 /* jquant2.c */,
+ 5917F2F2E450365FCD07C826 /* jutils.c */,
+ CF22F2D71CC50A6A6BE820A2 /* jversion.h */,
+ FD6A2554500AE9E8F340812C /* transupp.c */,
+ BFD3CE2B9C2AF98165049337 /* transupp.h */,
+ );
+ name = jpglib;
+ sourceTree = "<group>";
+ };
+ 94FF97995070201943DECACA /* blocks */ = {
+ isa = PBXGroup;
+ children = (
+ 780ED77A4BF65BA1F5E61F95 /* juce_Block.cpp */,
+ C5A18309C2DC13A1156282F6 /* juce_Block.h */,
+ DD3970FDCA69D2DEFBBA3E72 /* juce_ControlButton.h */,
+ 81ADF2BEFA99AD3AB0FC9A82 /* juce_LEDGrid.h */,
+ 8AB24BF1D27B394712F32CBF /* juce_LEDRow.h */,
+ 5B14C9DFF557CC6B9A05E34D /* juce_StatusLight.h */,
+ 50E9D72AF3E2F4CCDC6E7767 /* juce_TouchList.h */,
+ A416B5CD799D7BDABF8FEE69 /* juce_TouchSurface.h */,
+ );
+ name = blocks;
+ sourceTree = "<group>";
+ };
+ 989C3BDC492942642C24282E /* containers */ = {
+ isa = PBXGroup;
+ children = (
+ 44FCA467ADE97D1E2B2A49A1 /* juce_AbstractFifo.cpp */,
+ 35EA9261CEA2AD1A800B702C /* juce_AbstractFifo.h */,
+ A76BBF30944A9FC89679BE5E /* juce_Array.h */,
+ D3F75448D5E30FEF546165DF /* juce_ArrayAllocationBase.h */,
+ 8232BE31BA3CA0AE677EC11D /* juce_DynamicObject.cpp */,
+ 8BE67E7D6CE3A17E2E120520 /* juce_DynamicObject.h */,
+ 5B48244E76313E054EFEF426 /* juce_ElementComparator.h */,
+ 8CCE915477416067D7B0F311 /* juce_HashMap.h */,
+ 08E918530A1D5F37DC05B5DD /* juce_LinkedListPointer.h */,
+ 83123049240352B97AEC1FBE /* juce_ListenerList.h */,
+ D06661831BB0908DEBF996FD /* juce_NamedValueSet.cpp */,
+ 22B870C829CEA56B78D8EDFA /* juce_NamedValueSet.h */,
+ 546AE298612DB93D5C336C70 /* juce_OwnedArray.h */,
+ 2E8F5CD0CF6A9F42FF864B9D /* juce_PropertySet.cpp */,
+ 7A5719ACD9A5B0D2663B2EB4 /* juce_PropertySet.h */,
+ 735D98A7029754C4EEC30638 /* juce_ReferenceCountedArray.h */,
+ 361070599D3204D0C42F7A22 /* juce_ScopedValueSetter.h */,
+ 5259900DBEADF9B1E596D6CE /* juce_SortedSet.h */,
+ 3F24711E8D4D2065EA8C372F /* juce_SparseSet.h */,
+ EBCD4C646F6FA038CBCD1D6F /* juce_Variant.cpp */,
+ AE7CE5DD4695049CE940B119 /* juce_Variant.h */,
+ );
+ name = containers;
+ sourceTree = "<group>";
+ };
+ 9BEBBB02AD13A7EEF3C86DF3 /* native */ = {
+ isa = PBXGroup;
+ children = (
+ 4B83FCEFA91AFCB06756FC71 /* juce_android_Files.cpp */,
+ C719A471C0AF1ACF4915590B /* juce_android_JNIHelpers.h */,
+ 23DC0CBBB4C6D6084EE19F93 /* juce_android_Misc.cpp */,
+ 01D74B926C822FA65B778B9A /* juce_android_Network.cpp */,
+ B6847B2CCF1B2E71712827E5 /* juce_android_RuntimePermissions.cpp */,
+ B2F323A2CF9DBDE87094A12C /* juce_android_SystemStats.cpp */,
+ 58DBADC28510520AE1E6E069 /* juce_android_Threads.cpp */,
+ D98F033805C033EF081A9696 /* juce_BasicNativeHeaders.h */,
+ 23090584DEA1282747CE4769 /* juce_curl_Network.cpp */,
+ 317A1C3C47E0CFD28F629EE3 /* juce_linux_CommonFile.cpp */,
+ 4CCBED88413D14521B8B840E /* juce_linux_Files.cpp */,
+ C4703A5DB149F64AE6A30668 /* juce_linux_Network.cpp */,
+ 2C34101EF32AC5EA4030FDAD /* juce_linux_SystemStats.cpp */,
+ BA5273CC64B39B3B0455A53A /* juce_linux_Threads.cpp */,
+ A235D66B34BD50E939FF885D /* juce_mac_ClangBugWorkaround.h */,
+ 1BCEE2EA9EFF8FD8078F15A5 /* juce_mac_Files.mm */,
+ 0F5134388D55D439AA3B66B8 /* juce_mac_Network.mm */,
+ 9C331AACD288AAD9F7FDF881 /* juce_mac_Strings.mm */,
+ 073C36AC9C06770D84781B70 /* juce_mac_SystemStats.mm */,
+ 71A349845B0AB4ECB6FB56AB /* juce_mac_Threads.mm */,
+ 3EDA16959191726A83FAF8B3 /* juce_osx_ObjCHelpers.h */,
+ 1A9A02020BE1CA5BBD29B437 /* juce_posix_NamedPipe.cpp */,
+ C1564464E7D3E100E68F78F3 /* juce_posix_SharedCode.h */,
+ D01B3D44D354E1DD105A6851 /* juce_win32_ComSmartPtr.h */,
+ 8CAF15744CF73CDE5C577AB3 /* juce_win32_Files.cpp */,
+ 96B1C4A89CB5A5423A116F84 /* juce_win32_Network.cpp */,
+ 79C0162E66B96342B5135E1F /* juce_win32_Registry.cpp */,
+ F2D9015FC6DBA12DE9609EAA /* juce_win32_SystemStats.cpp */,
+ 513984F548890D187E1A5683 /* juce_win32_Threads.cpp */,
+ );
+ name = native;
+ sourceTree = "<group>";
+ };
+ 9E18A441884CEFE11E2D3857 /* juce_gui_extra */ = {
+ isa = PBXGroup;
+ children = (
+ 36D60AEACC295718CA4DF1ED /* code_editor */,
+ B5E054592FF50093B53D0CA3 /* documents */,
+ BB26434B9CA479BA9218D9CC /* embedding */,
+ DE3A2AD01175FA05865FCD67 /* misc */,
+ 9EC9071CD635A99CC2532CCD /* native */,
+ FDB547DFBE187A379D96760B /* juce_gui_extra.cpp */,
+ F572E47156DAA8EEBE746390 /* juce_gui_extra.mm */,
+ FD6A23DA53BC48A5D01DCAAF /* juce_gui_extra.h */,
+ );
+ name = juce_gui_extra;
+ sourceTree = "<group>";
+ };
+ 9EC9071CD635A99CC2532CCD /* native */ = {
+ isa = PBXGroup;
+ children = (
+ 8A270D3B29FF0A115BDA7C00 /* juce_android_WebBrowserComponent.cpp */,
+ 8319007F2F0B140F09E10D2E /* juce_ios_UIViewComponent.mm */,
+ 333C35C42EAAC5C9C654F12B /* juce_linux_SystemTrayIcon.cpp */,
+ D504B7AB34A2CD39CB9C856D /* juce_linux_WebBrowserComponent.cpp */,
+ 3942B0BFD06ABC8B8AC0459D /* juce_mac_AppleRemote.mm */,
+ F1A811BDF1FBDB3460847383 /* juce_mac_CarbonViewWrapperComponent.h */,
+ 86C5B51CA8FE58BBE6C48E5E /* juce_mac_NSViewComponent.mm */,
+ 1DA2607436F77B9E79C8D031 /* juce_mac_SystemTrayIcon.cpp */,
+ 2FAD51414C9D18ADA5B2CC16 /* juce_mac_WebBrowserComponent.mm */,
+ 1414F1FC8B43992F623E2FD2 /* juce_win32_ActiveXComponent.cpp */,
+ D0F8908BB4BF8D2904759E9B /* juce_win32_SystemTrayIcon.cpp */,
+ BAB1E713B8FD5FF764E93C7D /* juce_win32_WebBrowserComponent.cpp */,
+ );
+ name = native;
+ sourceTree = "<group>";
+ };
+ 9F8DE539E9189F8A8BC181FD /* midi */ = {
+ isa = PBXGroup;
+ children = (
+ 12ACF9469751D8A6D9D90E53 /* juce_MidiBuffer.cpp */,
+ 52B7F9D0AC8BF316E96E480A /* juce_MidiBuffer.h */,
+ 84BE02BFDAF53B9697664253 /* juce_MidiFile.cpp */,
+ 65977552E1C7B054FE006EAB /* juce_MidiFile.h */,
+ 854C4EBBB0954052ACF55160 /* juce_MidiKeyboardState.cpp */,
+ 5D4BE633D03013E33B4B376D /* juce_MidiKeyboardState.h */,
+ 88587028FF53FA6CFA0D4887 /* juce_MidiMessage.cpp */,
+ 38BF78CAB1ABA56E87C5F438 /* juce_MidiMessage.h */,
+ A7AB12DC3DB28027A4F73022 /* juce_MidiMessageSequence.cpp */,
+ D23E61F11E9CD3EE88C300C5 /* juce_MidiMessageSequence.h */,
+ E7F6687DE8509FCC698399FC /* juce_MidiRPN.cpp */,
+ 90A6E39FA0169E7EE1E66FA7 /* juce_MidiRPN.h */,
+ );
+ name = midi;
+ sourceTree = "<group>";
+ };
+ A0AB8A5CFF0F86A8DFC35FD6 /* colour */ = {
+ isa = PBXGroup;
+ children = (
+ 747883C759DB70A4DAB5FF3C /* juce_Colour.cpp */,
+ FD05664C4D9E513C74BFBD73 /* juce_Colour.h */,
+ 890AEBD8BEC0A1A2C418F79B /* juce_ColourGradient.cpp */,
+ 6A3909C3FD602F355F2E5D74 /* juce_ColourGradient.h */,
+ E0FC64420488B39FFC9C25AA /* juce_Colours.cpp */,
+ 3F03CD51A0C38F53DEC35D06 /* juce_Colours.h */,
+ 8EEEC7C23F3A4D5EBAD32660 /* juce_FillType.cpp */,
+ B258C7C7456130F17398F6EC /* juce_FillType.h */,
+ F69AED9FEB4B4E8B9457BA1F /* juce_PixelFormats.h */,
+ );
+ name = colour;
+ sourceTree = "<group>";
+ };
+ A354D9464A5E0CA16BACC5FE /* menus */ = {
+ isa = PBXGroup;
+ children = (
+ 6686824DF63B35A02B0FCDAB /* juce_MenuBarComponent.cpp */,
+ 329DF7E968A8D1BC5242755D /* juce_MenuBarComponent.h */,
+ 892C11FB5B2192DC7FE0E617 /* juce_MenuBarModel.cpp */,
+ D5542B1227D81DCFF2DFCDA4 /* juce_MenuBarModel.h */,
+ 52162727C5145771E25131C9 /* juce_PopupMenu.cpp */,
+ 1A8D2D0748598F01CEAAD4F7 /* juce_PopupMenu.h */,
+ );
+ name = menus;
+ sourceTree = "<group>";
+ };
+ A6A176D809E46AF236D766B1 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 0E36301F694447E2DE1A780C /* Info-App.plist */,
+ 70426BCCD5E978424B32AC8B /* Images.xcassets */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ A6E5010F1204E950F65CE679 /* components */ = {
+ isa = PBXGroup;
+ children = (
+ 58E8DB6E05BEC37A2C386482 /* juce_CachedComponentImage.h */,
+ 3BE2901B9A625B0A9A34FAEE /* juce_Component.cpp */,
+ A7DBC8925B48CFF83A1A785D /* juce_Component.h */,
+ 494C319CCFF5BCCD0F36FD33 /* juce_ComponentListener.cpp */,
+ 3C0FB54AB7F6499B039CA796 /* juce_ComponentListener.h */,
+ 868BF9273B56A0762F1CE5B8 /* juce_Desktop.cpp */,
+ D8555991B456F672F132ABEC /* juce_Desktop.h */,
+ 61CAFC1A3803B6D6BA913E84 /* juce_ModalComponentManager.cpp */,
+ 24B3BC3052E9DCD40B98304B /* juce_ModalComponentManager.h */,
+ );
+ name = components;
+ sourceTree = "<group>";
+ };
+ A7D9149B4E37D9181E3F9A39 /* filebrowser */ = {
+ isa = PBXGroup;
+ children = (
+ BEF40C565264BB572868FF09 /* juce_DirectoryContentsDisplayComponent.cpp */,
+ C92D8587F5DBAD4B1CC80406 /* juce_DirectoryContentsDisplayComponent.h */,
+ E76C940E3BEADDDA3B798D3F /* juce_DirectoryContentsList.cpp */,
+ F641DDA93FDEF2450E56A606 /* juce_DirectoryContentsList.h */,
+ C225444502EBA04B63E16CE6 /* juce_FileBrowserComponent.cpp */,
+ F42D141B9A70BB0273407B0E /* juce_FileBrowserComponent.h */,
+ 389F673D479BAA914D559C3C /* juce_FileBrowserListener.h */,
+ 733D19DB0084F1592D2ACCB5 /* juce_FileChooser.cpp */,
+ A75D403B2009F5E41DB85E88 /* juce_FileChooser.h */,
+ 5F622792DD550ED2F85D6BC6 /* juce_FileChooserDialogBox.cpp */,
+ D24A6466F1C7D63741B729BC /* juce_FileChooserDialogBox.h */,
+ BEF0AAA4CC9BA56B412B7B20 /* juce_FileListComponent.cpp */,
+ 26FE8AEE286297F8E8F148E8 /* juce_FileListComponent.h */,
+ 7FE57FC0CEE579C81819F26B /* juce_FilenameComponent.cpp */,
+ 0D197638970189B7FC7EF613 /* juce_FilenameComponent.h */,
+ FD2F08645DF014C0F3110942 /* juce_FilePreviewComponent.h */,
+ 6BC2FE3123EC3468395FC8D8 /* juce_FileSearchPathListComponent.cpp */,
+ 3F31EDAA9BB16DCAA86C6A6B /* juce_FileSearchPathListComponent.h */,
+ 811EB7C741184EAE672D6581 /* juce_FileTreeComponent.cpp */,
+ 3454368245C5E8CFD1456FBC /* juce_FileTreeComponent.h */,
+ EBF38E78D19A1BCCAE6C72E1 /* juce_ImagePreviewComponent.cpp */,
+ 69A4D0C62C1F177C0C877A3A /* juce_ImagePreviewComponent.h */,
+ );
+ name = filebrowser;
+ sourceTree = "<group>";
+ };
+ A9FFCB200EC6C79188EC21FA /* utils */ = {
+ isa = PBXGroup;
+ children = (
+ 9E490E7A44CB793DDFBEE1EE /* juce_OpenGLAppComponent.cpp */,
+ 63E061781918F57A073B894F /* juce_OpenGLAppComponent.h */,
+ );
+ name = utils;
+ sourceTree = "<group>";
+ };
+ AD032E6784D805C3AEA123E6 /* topology */ = {
+ isa = PBXGroup;
+ children = (
+ 83A8F8A11B1659400C525E81 /* juce_PhysicalTopologySource.cpp */,
+ E39AB15FBBB7950C44245FC6 /* juce_PhysicalTopologySource.h */,
+ 36C6D8EECCE8A8A9E21D3895 /* juce_RuleBasedTopologySource.cpp */,
+ 234C53C2D7D7559F63E77597 /* juce_RuleBasedTopologySource.h */,
+ 778E2234490F20FEC78AE06E /* juce_Topology.h */,
+ CE6036ECB2716A67BEDFF215 /* juce_TopologySource.h */,
+ );
+ name = topology;
+ sourceTree = "<group>";
+ };
+ AE3AD44B4637C7B1E2E5E9D5 /* sources */ = {
+ isa = PBXGroup;
+ children = (
+ E38D7CBE4043D2FE2DB2B1A0 /* juce_AudioSourcePlayer.cpp */,
+ 75A2F39B22AC60256D2115D4 /* juce_AudioSourcePlayer.h */,
+ FAF3E26F1BBFA85CA8B333E5 /* juce_AudioTransportSource.cpp */,
+ 396FCA5D9FAE5297B70B2655 /* juce_AudioTransportSource.h */,
+ );
+ name = sources;
+ sourceTree = "<group>";
+ };
+ AECDF9A263F52E02F060F2B0 /* mouse */ = {
+ isa = PBXGroup;
+ children = (
+ 2D3D590B3FA5486BDAD225B0 /* juce_ComponentDragger.cpp */,
+ BF9B812900B12580FCD3C1C5 /* juce_ComponentDragger.h */,
+ 1EB612BB5C88FD75360E182C /* juce_DragAndDropContainer.cpp */,
+ 9A157F41830D8E72D9B6DDE9 /* juce_DragAndDropContainer.h */,
+ CA54557D28FB9E717532A9B8 /* juce_DragAndDropTarget.h */,
+ CB01A5CBA8DA5DA64F79F9D5 /* juce_FileDragAndDropTarget.h */,
+ DC92C4ED5AC4F39FA201F932 /* juce_LassoComponent.h */,
+ 442B9293D4AECC2B9711CADD /* juce_MouseCursor.cpp */,
+ E4B9999176E0FB1175CE9568 /* juce_MouseCursor.h */,
+ 9E56353F5164018FE9407346 /* juce_MouseEvent.cpp */,
+ 1DA19C5E99B3551ADE26E391 /* juce_MouseEvent.h */,
+ 49CA1AF15E947DCBBE1AB305 /* juce_MouseInactivityDetector.cpp */,
+ 1446DDFD289F734BFE1861BD /* juce_MouseInactivityDetector.h */,
+ 9F02393F695A4882E729627C /* juce_MouseInputSource.cpp */,
+ D7B9697EF473A62BE6453BA6 /* juce_MouseInputSource.h */,
+ 6C1E9287AA9C9FEFC393DDCB /* juce_MouseListener.cpp */,
+ 5013B2E5F2FAF7E880593B1E /* juce_MouseListener.h */,
+ 9C5ED73E2DF5FDCE5189E945 /* juce_SelectedItemSet.h */,
+ A0B8C5DC5B1C48EF0B25D9DB /* juce_TextDragAndDropTarget.h */,
+ 82A5E18127980C5CF8AE919F /* juce_TooltipClient.h */,
+ );
+ name = mouse;
+ sourceTree = "<group>";
+ };
+ B084942B44BF9E6FCCB075C7 /* xml */ = {
+ isa = PBXGroup;
+ children = (
+ CF895906826621767E325CAC /* juce_XmlDocument.cpp */,
+ B98F37A336955FF58F90FB4C /* juce_XmlDocument.h */,
+ A9A287E8488E914B1EDDA564 /* juce_XmlElement.cpp */,
+ 97C27DB9A68F6AACFF857A46 /* juce_XmlElement.h */,
+ );
+ name = xml;
+ sourceTree = "<group>";
+ };
+ B4D20666B4600ED310A0BD4D /* native */ = {
+ isa = PBXGroup;
+ children = (
+ E76FD2235925C85F2D7A8550 /* juce_android_Messaging.cpp */,
+ D5AE036BF17CF6BF3B415302 /* juce_ios_MessageManager.mm */,
+ 25C8F3E08BE437DD7F436242 /* juce_linux_Messaging.cpp */,
+ 24E745A97ACE83CB49C47941 /* juce_mac_MessageManager.mm */,
+ ADBF05F90178C516209F0C6F /* juce_osx_MessageQueue.h */,
+ 44530960DE057A0334DFE77A /* juce_ScopedXLock.h */,
+ DB5CE4E6FE04ADB6786CF3F4 /* juce_win32_HiddenMessageWindow.h */,
+ 3AF24B9D59180F6C4168586C /* juce_win32_Messaging.cpp */,
+ );
+ name = native;
+ sourceTree = "<group>";
+ };
+ B5E054592FF50093B53D0CA3 /* documents */ = {
+ isa = PBXGroup;
+ children = (
+ C12E3B26BAD438E71B125623 /* juce_FileBasedDocument.cpp */,
+ A31876A1700D5032452F8AA8 /* juce_FileBasedDocument.h */,
+ );
+ name = documents;
+ sourceTree = "<group>";
+ };
+ B9E0B6DA3094EEFCFA408C83 /* books */ = {
+ isa = PBXGroup;
+ children = (
+ 74989612E8D2BDBE1BF17A4A /* coupled */,
+ 2FE9DE53F5D76DADC3CC0E2D /* floor */,
+ 0267817D9651ABB317E33C79 /* uncoupled */,
+ );
+ name = books;
+ sourceTree = "<group>";
+ };
+ BB26434B9CA479BA9218D9CC /* embedding */ = {
+ isa = PBXGroup;
+ children = (
+ 75D9711B81D5DBE678D64734 /* juce_ActiveXControlComponent.h */,
+ 39C0350A74FE0DD8E792ABC4 /* juce_NSViewComponent.h */,
+ FFC5E68D2033592D6896B282 /* juce_UIViewComponent.h */,
+ );
+ name = embedding;
+ sourceTree = "<group>";
+ };
+ BB630F47D921377AA027C1B4 /* drawables */ = {
+ isa = PBXGroup;
+ children = (
+ 7D3372B86F706B2EB958851D /* juce_Drawable.cpp */,
+ A701A3A08035A45B9D1F7963 /* juce_Drawable.h */,
+ 32882ADD511B3542BB245169 /* juce_DrawableComposite.cpp */,
+ E46479B62709BC51E7EADCA3 /* juce_DrawableComposite.h */,
+ 4CE9E46083DBAE3BA66CEF34 /* juce_DrawableImage.cpp */,
+ F17172414E68A67E86770D16 /* juce_DrawableImage.h */,
+ 9109705AE4C9C46B0CEBAD57 /* juce_DrawablePath.cpp */,
+ A94DAD22B9F27389EB042378 /* juce_DrawablePath.h */,
+ 80CB00749EEB05EB63E6AB02 /* juce_DrawableRectangle.cpp */,
+ CD9D44C2A4E6A65D62F5A2F4 /* juce_DrawableRectangle.h */,
+ 182BED30B1F7A3E20AF7C41E /* juce_DrawableShape.cpp */,
+ 119E392B5554CFFE8416EA5E /* juce_DrawableShape.h */,
+ 55929F5F3E0FDBA0B5B5740A /* juce_DrawableText.cpp */,
+ FB76ED4506F6CB6BC0FA0D50 /* juce_DrawableText.h */,
+ C0794CF65E83FA413249342B /* juce_SVGParser.cpp */,
+ );
+ name = drawables;
+ sourceTree = "<group>";
+ };
+ BB809068C10AFC284A1D85E4 /* native */ = {
+ isa = PBXGroup;
+ children = (
+ E53E7B65080C5BBEF4A9D7C3 /* juce_android_FileChooser.cpp */,
+ 09901BD8E4BF85BA33E43AC4 /* juce_android_Windowing.cpp */,
+ 197DFCCEA5C1199B9C4D463F /* juce_ios_UIViewComponentPeer.mm */,
+ 8899E26B15AA5CE8D18A2DB2 /* juce_ios_Windowing.mm */,
+ 334C26584909EC5509B8CF72 /* juce_linux_Clipboard.cpp */,
+ 634DD22DD8F7DE4BA1BA2A8E /* juce_linux_FileChooser.cpp */,
+ 455B914D8EDEB31EDC2DC451 /* juce_linux_Windowing.cpp */,
+ 6FB98EFC21231B01B9375164 /* juce_mac_FileChooser.mm */,
+ A5C1C519AA6CE15BF9547B03 /* juce_mac_MainMenu.mm */,
+ C9BF56C284B0BE80A7C89DC0 /* juce_mac_MouseCursor.mm */,
+ 6D9C6DABD7D5E768EF9DCEC9 /* juce_mac_NSViewComponentPeer.mm */,
+ 4F37C953011C373B54598AD7 /* juce_mac_Windowing.mm */,
+ 4D4FD67BD642DA535431F2B1 /* juce_MultiTouchMapper.h */,
+ AB995EFABB924F8175D8954F /* juce_win32_DragAndDrop.cpp */,
+ D54B128515F377318B34C9C9 /* juce_win32_FileChooser.cpp */,
+ D512265869F4FD6DBE091DD4 /* juce_win32_Windowing.cpp */,
+ );
+ name = native;
+ sourceTree = "<group>";
+ };
+ BEBE62C64C08316AE975AC01 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D778C2ED7EA9D5EDCFBA1507 /* BlocksSynth.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ C0BA57825B1577A586C86CCD /* undomanager */ = {
+ isa = PBXGroup;
+ children = (
+ 9B04A8539B5ED08A7E26072A /* juce_UndoableAction.h */,
+ C50067A84435B50FAE2991A2 /* juce_UndoManager.cpp */,
+ C023041419CCD5A746DD3733 /* juce_UndoManager.h */,
+ );
+ name = undomanager;
+ sourceTree = "<group>";
+ };
+ C4A0162E2C1F3E0B4B0B0AD8 /* threads */ = {
+ isa = PBXGroup;
+ children = (
+ 14C3BD49C3F262D8449A6D89 /* juce_ChildProcess.cpp */,
+ 0CC672620B96382CF715F134 /* juce_ChildProcess.h */,
+ 1CFA52094CFDFB61E549EBD4 /* juce_CriticalSection.h */,
+ A647EFD684A71A7F1DFEF7E9 /* juce_DynamicLibrary.h */,
+ 64B11380D40B53153C293929 /* juce_HighResolutionTimer.cpp */,
+ 6C7EADF9387F020492C04442 /* juce_HighResolutionTimer.h */,
+ 5D5BA1131FE12F38BA17E290 /* juce_InterProcessLock.h */,
+ BC2708C1A30230F8FFED0BAF /* juce_Process.h */,
+ 50F08F6B006974130C590F4F /* juce_ReadWriteLock.cpp */,
+ 920D2C92A6D26ECC0914BE7A /* juce_ReadWriteLock.h */,
+ 2FAFF79F8E9250E599BEFDDE /* juce_ScopedLock.h */,
+ A8FBBFE98D5BD4AD7029040E /* juce_ScopedReadLock.h */,
+ 9065B3CBA068CCEE9F5AFDFE /* juce_ScopedWriteLock.h */,
+ 59EB48AD6143AB10F2D4830F /* juce_SpinLock.h */,
+ CA7BE1CD2A59E4A7A133207F /* juce_Thread.cpp */,
+ 571FD86FB21925B70F4C2439 /* juce_Thread.h */,
+ 630596B03B4198D9FD956D98 /* juce_ThreadLocalValue.h */,
+ 4CF48857422D8B4462FDCAC8 /* juce_ThreadPool.cpp */,
+ 6CD61526F604817E6912686D /* juce_ThreadPool.h */,
+ 170160056630E4035117107E /* juce_TimeSliceThread.cpp */,
+ 037C9C0E1723E94B95CD1913 /* juce_TimeSliceThread.h */,
+ EA53D42B42EB75C773AB045B /* juce_WaitableEvent.h */,
+ );
+ name = threads;
+ sourceTree = "<group>";
+ };
+ CD3B970017EF8AC522E6238C /* juce_opengl */ = {
+ isa = PBXGroup;
+ children = (
+ FF3F83506D205EABE1669524 /* geometry */,
+ 81FAD18B53D88E4B82950267 /* native */,
+ D417D822B572124AADECC6BF /* opengl */,
+ A9FFCB200EC6C79188EC21FA /* utils */,
+ E3FFC7BB4B7420DFFB0FF1F0 /* juce_opengl.cpp */,
+ 0FE96D4C83E1846EE628D57F /* juce_opengl.mm */,
+ 36FB8C0AD65A9A875C90C662 /* juce_opengl.h */,
+ );
+ name = juce_opengl;
+ sourceTree = "<group>";
+ };
+ D417D822B572124AADECC6BF /* opengl */ = {
+ isa = PBXGroup;
+ children = (
+ 1BEF40062139BA123A55EB92 /* juce_OpenGLContext.cpp */,
+ C23D3AE443F3DA9E05DCF670 /* juce_OpenGLContext.h */,
+ 738A2C478AADF47D641F9577 /* juce_OpenGLFrameBuffer.cpp */,
+ 036FADA1493FCEA443F6BD31 /* juce_OpenGLFrameBuffer.h */,
+ 265C9E0CD85917026D804337 /* juce_OpenGLGraphicsContext.cpp */,
+ 21AFD9310BD1AA9619366C27 /* juce_OpenGLGraphicsContext.h */,
+ 099F6F87C4D05FF49A7E3C2C /* juce_OpenGLHelpers.cpp */,
+ 149DD0517AA814294C0A8C70 /* juce_OpenGLHelpers.h */,
+ 6A3B0B68AF1891D6708E5CF7 /* juce_OpenGLImage.cpp */,
+ BDF3FBAE1450DCFA0496D341 /* juce_OpenGLImage.h */,
+ 279386328A2D384E9C2AE928 /* juce_OpenGLPixelFormat.cpp */,
+ 339A19F5096F4F61F8255B88 /* juce_OpenGLPixelFormat.h */,
+ F5D2EE7EA410E9A78BF68285 /* juce_OpenGLRenderer.h */,
+ 3EB1E0AA5710B0452FF6BBE6 /* juce_OpenGLShaderProgram.cpp */,
+ A0C6E00A2F5204606A1B0196 /* juce_OpenGLShaderProgram.h */,
+ A16EB5BE88FD8E25BD4F4158 /* juce_OpenGLTexture.cpp */,
+ E8BBBB6CB566863296CC406B /* juce_OpenGLTexture.h */,
+ );
+ name = opengl;
+ sourceTree = "<group>";
+ };
+ D8F226718DC7C6F677813853 /* juce_data_structures */ = {
+ isa = PBXGroup;
+ children = (
+ 1BD29601F50DC1FE90A2FB08 /* app_properties */,
+ C0BA57825B1577A586C86CCD /* undomanager */,
+ FD7D0D9BA2507086B2E2DA6E /* values */,
+ AD272D93B639B0D95431D071 /* juce_data_structures.cpp */,
+ B714D3995796B3E1783B2B92 /* juce_data_structures.mm */,
+ D4E6E686B826C386E372B9B0 /* juce_data_structures.h */,
+ );
+ name = juce_data_structures;
+ sourceTree = "<group>";
+ };
+ D9D416C8CAE3A9E7CE485AE2 /* layout */ = {
+ isa = PBXGroup;
+ children = (
+ 0D0667D008F7C834DC045F87 /* juce_AnimatedPosition.h */,
+ 3F4C08B027AA5847220503DF /* juce_AnimatedPositionBehaviours.h */,
+ D1D6547CA0BAEB079FF9050F /* juce_ComponentAnimator.cpp */,
+ 58BF05D2E1EBA950D4C132D9 /* juce_ComponentAnimator.h */,
+ 07176F08AA96CA742FABF32C /* juce_ComponentBoundsConstrainer.cpp */,
+ 473950B43F215D4523AE801F /* juce_ComponentBoundsConstrainer.h */,
+ CE63CB470CE025B3344E6B14 /* juce_ComponentBuilder.cpp */,
+ CB3169B4A664108CEA2751DF /* juce_ComponentBuilder.h */,
+ 94E460DE1BB4B000A0EB883A /* juce_ComponentMovementWatcher.cpp */,
+ DB7D21EDFDD06447F1A26B93 /* juce_ComponentMovementWatcher.h */,
+ D56C2798DB2930BA21DE5222 /* juce_ConcertinaPanel.cpp */,
+ 4EFE2E4C990EE14732BACEC5 /* juce_ConcertinaPanel.h */,
+ A7513E63DF1FEE5FB89D5674 /* juce_FlexBox.cpp */,
+ FF988FAEBE5F808EE1BB9F4F /* juce_FlexBox.h */,
+ 0522ECF89AFDFE087301B50B /* juce_FlexItem.h */,
+ 47CC2D3C3EA5DBDD7A160619 /* juce_GroupComponent.cpp */,
+ 96FC2E3988B10054B1A11323 /* juce_GroupComponent.h */,
+ 03D95B05B6B6219344A8A5D7 /* juce_MultiDocumentPanel.cpp */,
+ 260E45CCB287E4CC5DCB27B8 /* juce_MultiDocumentPanel.h */,
+ 875FEC3940D6185FD9190213 /* juce_ResizableBorderComponent.cpp */,
+ 77A1BF25012758C1D78583E4 /* juce_ResizableBorderComponent.h */,
+ 0DF9EA0A64F07528C65C2623 /* juce_ResizableCornerComponent.cpp */,
+ 8706B5033AE6F9AD92FB4F70 /* juce_ResizableCornerComponent.h */,
+ B31CB3E3F4BD0212647C599D /* juce_ResizableEdgeComponent.cpp */,
+ 84FE9718AAA47D64293881CB /* juce_ResizableEdgeComponent.h */,
+ B04C24316C7F5D7E5C79E0CA /* juce_ScrollBar.cpp */,
+ 19EC8D47288168DED8C317DF /* juce_ScrollBar.h */,
+ EAFC617A8DEFF67E2A070D1B /* juce_StretchableLayoutManager.cpp */,
+ 0D9ED7566FF0B245CCB60C50 /* juce_StretchableLayoutManager.h */,
+ 819FAA8F15DD9C9789D26B77 /* juce_StretchableLayoutResizerBar.cpp */,
+ 9D16672FDB24B44DFF13E4B1 /* juce_StretchableLayoutResizerBar.h */,
+ 15945B1F63EE00FE6BCD61F0 /* juce_StretchableObjectResizer.cpp */,
+ 25CE3EDC204ADB54724E65DC /* juce_StretchableObjectResizer.h */,
+ F86455FC80F2DF1C12D28BFB /* juce_TabbedButtonBar.cpp */,
+ 4A174700334838A28231D4A0 /* juce_TabbedButtonBar.h */,
+ 44B2FE959DF300C8385863AF /* juce_TabbedComponent.cpp */,
+ CEE8CFCB66ADE7E78A9B5D84 /* juce_TabbedComponent.h */,
+ 9F13791A2E1028E08EFB5A32 /* juce_Viewport.cpp */,
+ 2AFBEF39C606E0A3D698185B /* juce_Viewport.h */,
+ );
+ name = layout;
+ sourceTree = "<group>";
+ };
+ DAB6BE35181959435594FFD3 /* private */ = {
+ isa = PBXGroup;
+ children = (
+ 31DBD439C2A41A1CC472D924 /* all.h */,
+ 584414FE3F035198BBE28413 /* bitmath.h */,
+ 72E27E0C9F64F1BACD6EF454 /* bitreader.h */,
+ 982342A0B98DB337C74DC50A /* bitwriter.h */,
+ 8AFFB60B20E17B797777B2B8 /* cpu.h */,
+ DA52F06969FC2FEFD8DCFAE3 /* crc.h */,
+ 936C85C333BE640A26BEA92B /* fixed.h */,
+ A32C77F35CC0A61153BDD2BD /* float.h */,
+ 0AA288FCCF1342C4947F5FD6 /* format.h */,
+ BEFCC3E231F6729C94ED2F49 /* lpc.h */,
+ DEB5BC8C4CF7600478965F15 /* md5.h */,
+ B019A04354A3A377813C4F10 /* memory.h */,
+ ACE53253C4EF7A3B45197F94 /* metadata.h */,
+ 8A48EB23ED8F364CF167DF1D /* stream_encoder.h */,
+ 83AFB3E647BB6ED40AA571A8 /* stream_encoder_framing.h */,
+ 188EAA1BD57F1209B23F6903 /* window.h */,
+ );
+ name = private;
+ sourceTree = "<group>";
+ };
+ DE3A2AD01175FA05865FCD67 /* misc */ = {
+ isa = PBXGroup;
+ children = (
+ E1714E22DFB33D06F62468F8 /* juce_AnimatedAppComponent.cpp */,
+ D6B40F5575A4546875FDBFCA /* juce_AnimatedAppComponent.h */,
+ 0072E9EDE9A531ABF573D6A1 /* juce_AppleRemote.h */,
+ 66E065F9613ED585487E57B8 /* juce_BubbleMessageComponent.cpp */,
+ AD3294A10650175E7F446D7E /* juce_BubbleMessageComponent.h */,
+ AF09AA6BF4864B8998E2676E /* juce_ColourSelector.cpp */,
+ 5B74F105B018F0D2497D818E /* juce_ColourSelector.h */,
+ FF9CD52F808B7C91AD25CF71 /* juce_KeyMappingEditorComponent.cpp */,
+ 40268160C3A821B16C2C0106 /* juce_KeyMappingEditorComponent.h */,
+ BED548AB5BFA57159DD12DAC /* juce_LiveConstantEditor.cpp */,
+ 39C7BCC2C6A8A53D47605192 /* juce_LiveConstantEditor.h */,
+ 6229C851E122AA62DFE23981 /* juce_PreferencesPanel.cpp */,
+ 27C1AA486727BE2A93B11251 /* juce_PreferencesPanel.h */,
+ 6F60258048938FF67DFCDDE4 /* juce_RecentlyOpenedFilesList.cpp */,
+ FDF345AF086264E4040A79CF /* juce_RecentlyOpenedFilesList.h */,
+ A41A3F1FD1EE4F50F9267231 /* juce_SplashScreen.cpp */,
+ 9EA89360E878DE14172E34CF /* juce_SplashScreen.h */,
+ 7D5439A24397FB12F5B97C69 /* juce_SystemTrayIconComponent.cpp */,
+ ADF9FFDBBDB7AE74869554B6 /* juce_SystemTrayIconComponent.h */,
+ 4E93058BD941E58123C09290 /* juce_WebBrowserComponent.h */,
+ );
+ name = misc;
+ sourceTree = "<group>";
+ };
+ E130859390EF4D3D47AEB9E1 /* sampler */ = {
+ isa = PBXGroup;
+ children = (
+ 74F32D6CE88116DDAD104001 /* juce_Sampler.cpp */,
+ 1F7097A7E2FD1CFD992160A3 /* juce_Sampler.h */,
+ );
+ name = sampler;
+ sourceTree = "<group>";
+ };
+ E13111C1D2F1074DB33AF04F /* zlib */ = {
+ isa = PBXGroup;
+ children = (
+ FA7463364B17FAF275702078 /* adler32.c */,
+ 729FBFD01DE3FC0BAFB0C65F /* compress.c */,
+ 9768B98C6D83F54C36FA719F /* crc32.c */,
+ FDAC3E164BA3FCB909B9F2BE /* crc32.h */,
+ 77192DF1CEF8FA03F0E6EE79 /* deflate.c */,
+ 11535233EB65A31CB9A1C84C /* deflate.h */,
+ D6303AB7ED3A815A746818DB /* infback.c */,
+ 0C368BF5435A155B2CEBF4DE /* inffast.c */,
+ AC4D225082C6EC2B2F74D280 /* inffast.h */,
+ B50ED6B4AE791917727F5E7F /* inffixed.h */,
+ 277B0FD43AA3A74D0BC6A519 /* inflate.c */,
+ 4A6B7CEB97494FF6D388514E /* inflate.h */,
+ F2D31A607BEC69FA6AD0D12E /* inftrees.c */,
+ 01A60EB1D681DDDB424C6C65 /* inftrees.h */,
+ F0E4E317DBB8EDC346F79C94 /* trees.c */,
+ CACC690868FC319352C6D605 /* trees.h */,
+ 327941468D62EFD046DFD31E /* uncompr.c */,
+ FB7CEAF8DF0A4447F1BD2DCC /* zconf.h */,
+ B8793874DA3E3A50A76F9572 /* zconf.in.h */,
+ 9D36B0CD0D56048687E2A573 /* zlib.h */,
+ 8A3C4AF25492360327C080A7 /* zutil.c */,
+ 681D758E911D2D050CD20F66 /* zutil.h */,
+ );
+ name = zlib;
+ sourceTree = "<group>";
+ };
+ E25778D3DF758B321155435A /* misc */ = {
+ isa = PBXGroup;
+ children = (
+ 987209E1994B07DBD16DEC8B /* juce_Result.cpp */,
+ F5B3C9D2B068F9ADFA8C653C /* juce_Result.h */,
+ 334F7A39BD0DA475F23052A1 /* juce_RuntimePermissions.cpp */,
+ 029B264C757780A8CD505C1E /* juce_RuntimePermissions.h */,
+ 2C4A133B427E627877FF8CE9 /* juce_Uuid.cpp */,
+ BD75123529E67F9376C1899A /* juce_Uuid.h */,
+ DDCB65776F12BA2494D86229 /* juce_WindowsRegistry.h */,
+ );
+ name = misc;
+ sourceTree = "<group>";
+ };
+ E3100ECB6D7064558B06ADFE /* protected */ = {
+ isa = PBXGroup;
+ children = (
+ 1469F0FEBE09579AE2256553 /* all.h */,
+ 5A19BDE20FB81C83D0A03799 /* stream_decoder.h */,
+ C57C541975044B538A4204B4 /* stream_encoder.h */,
+ );
+ name = protected;
+ sourceTree = "<group>";
+ };
+ E3649F203633856653E44CDF /* codecs */ = {
+ isa = PBXGroup;
+ children = (
+ 366F782486E4200762978002 /* flac */,
+ 8A58297D0379A4A41A945917 /* oggvorbis */,
+ 481A69F80148E9DCC2B4A067 /* juce_AiffAudioFormat.cpp */,
+ B194372F45854DE5FC54671F /* juce_AiffAudioFormat.h */,
+ 97AE93FD5FB144697DBFE207 /* juce_CoreAudioFormat.cpp */,
+ B0A1C61E0EBC451CB0B3A337 /* juce_CoreAudioFormat.h */,
+ 46A4ED1AED4B90701C9FA937 /* juce_FlacAudioFormat.cpp */,
+ C02A07C4E5AB7D6C98CEAEFA /* juce_FlacAudioFormat.h */,
+ 6D31C33C6C7BDB06D0BCCA99 /* juce_LAMEEncoderAudioFormat.cpp */,
+ 1358B9554210B5D0242C1BA3 /* juce_LAMEEncoderAudioFormat.h */,
+ 204D1CE3691490B81EB8C284 /* juce_MP3AudioFormat.cpp */,
+ 01E8CC333D1A9910A72DF28D /* juce_MP3AudioFormat.h */,
+ 769D6EB9D30812CE68C829C8 /* juce_OggVorbisAudioFormat.cpp */,
+ A693A2B27BD70EAF2FDCDD91 /* juce_OggVorbisAudioFormat.h */,
+ 9D68ED5474F6AA923599D783 /* juce_QuickTimeAudioFormat.cpp */,
+ 4FFAFAC9B332F9B993A6EBB6 /* juce_QuickTimeAudioFormat.h */,
+ 4D8C7E04C4FD97998300FDE6 /* juce_WavAudioFormat.cpp */,
+ 379589FC32E87B31496C96B7 /* juce_WavAudioFormat.h */,
+ F2720937BE3C1F10272A7C06 /* juce_WindowsMediaAudioFormat.cpp */,
+ ED7FCADD5623453DD97B43D8 /* juce_WindowsMediaAudioFormat.h */,
+ );
+ name = codecs;
+ sourceTree = "<group>";
+ };
+ E91966262A1070E1B59F692C /* streams */ = {
+ isa = PBXGroup;
+ children = (
+ 1EB32F020771FAC988EA1E64 /* juce_BufferedInputStream.cpp */,
+ 7E391A85858C06D5F6286DE1 /* juce_BufferedInputStream.h */,
+ 7A252E1B8C10CF47B083732B /* juce_FileInputSource.cpp */,
+ 256BCED752B70974C8DBB789 /* juce_FileInputSource.h */,
+ 7C5ACCC90B3367A29598171C /* juce_InputSource.h */,
+ D9E2B3341EC036EBCF562434 /* juce_InputStream.cpp */,
+ 67BBC05B8A0FA71F2A325422 /* juce_InputStream.h */,
+ EC9E71FB57478AB3FDA27CD4 /* juce_MemoryInputStream.cpp */,
+ 016076F4D43D15D063A73530 /* juce_MemoryInputStream.h */,
+ 6401A4CD373276A624803E09 /* juce_MemoryOutputStream.cpp */,
+ CA99CDFEEEA27490079060CC /* juce_MemoryOutputStream.h */,
+ ACEA8F358B77577CBE526F1B /* juce_OutputStream.cpp */,
+ 67A20BDAD84353BFF940850E /* juce_OutputStream.h */,
+ FFF9520F524FED8D3468287F /* juce_SubregionStream.cpp */,
+ 40F2DCDCF3AE32D53839E7FC /* juce_SubregionStream.h */,
+ );
+ name = streams;
+ sourceTree = "<group>";
+ };
+ EF78B4527B53E228CF764D4C /* format */ = {
+ isa = PBXGroup;
+ children = (
+ 116D8F769D93B11A66D4F7E4 /* juce_AudioFormat.cpp */,
+ 771B35D7F44BB8C0DFDE2452 /* juce_AudioFormat.h */,
+ 0DF05CB01EC7CAE5299DCB5E /* juce_AudioFormatManager.cpp */,
+ DA190E7F11B7C6308E764363 /* juce_AudioFormatManager.h */,
+ 8CB84F9ACB8B17117E5FE0C4 /* juce_AudioFormatReader.cpp */,
+ D1B4E1CE074A1BE6DB3D9BD5 /* juce_AudioFormatReader.h */,
+ F9450711CCBD8FCDEA9E95F7 /* juce_AudioFormatReaderSource.cpp */,
+ 001CEF1BC67328BA0A561A06 /* juce_AudioFormatReaderSource.h */,
+ 223EDE843FE5CF77DCEEA76F /* juce_AudioFormatWriter.cpp */,
+ 91EBFF0D72C95AA186003C8E /* juce_AudioFormatWriter.h */,
+ 16457C02C3262323921CA12E /* juce_AudioSubsectionReader.cpp */,
+ 55E36D80A91694865B7CE332 /* juce_AudioSubsectionReader.h */,
+ 49424899DC52549DE819C621 /* juce_BufferingAudioFormatReader.cpp */,
+ 0D9243B5198B9D61504F7ED5 /* juce_BufferingAudioFormatReader.h */,
+ 397717356F43CD103B169AF1 /* juce_MemoryMappedAudioFormatReader.h */,
+ );
+ name = format;
+ sourceTree = "<group>";
+ };
+ F1B99A44061AEE6C7E87751F /* time */ = {
+ isa = PBXGroup;
+ children = (
+ 8EFAE8B2003284F5A905E08D /* juce_PerformanceCounter.cpp */,
+ 4AA531F8D8E250C0429E2CBB /* juce_PerformanceCounter.h */,
+ 660163B352BBE406FE15DDEB /* juce_RelativeTime.cpp */,
+ BABBA06E9B4F5AC45082E718 /* juce_RelativeTime.h */,
+ 1ABB18E7361905092E209E5F /* juce_Time.cpp */,
+ 3D51F32E7FBF84DEE183F53A /* juce_Time.h */,
+ );
+ name = time;
+ sourceTree = "<group>";
+ };
+ F69691A4E1C622CB74BACAFA /* include */ = {
+ isa = PBXGroup;
+ children = (
+ DAB6BE35181959435594FFD3 /* private */,
+ E3100ECB6D7064558B06ADFE /* protected */,
+ );
+ name = include;
+ sourceTree = "<group>";
+ };
+ FAA6CD66C5226D3A9207B754 /* lookandfeel */ = {
+ isa = PBXGroup;
+ children = (
+ 8D267142A6682D9886D0CD9A /* juce_LookAndFeel.cpp */,
+ EE3FF44BECDF0A701A625460 /* juce_LookAndFeel.h */,
+ E4A7570B4EABC3BDD766D2A0 /* juce_LookAndFeel_V1.cpp */,
+ BD1F10BA3C91ABDEDA96A90A /* juce_LookAndFeel_V1.h */,
+ CA65DB1D639849CCDABA67FC /* juce_LookAndFeel_V2.cpp */,
+ 1B07C855838E6EF1D058D000 /* juce_LookAndFeel_V2.h */,
+ CFF86D411ACF901036AA22E2 /* juce_LookAndFeel_V3.cpp */,
+ 7C5529A757AAF95634BB7251 /* juce_LookAndFeel_V3.h */,
+ );
+ name = lookandfeel;
+ sourceTree = "<group>";
+ };
+ FCB109DCDFCB200668E6864C /* Juce Modules */ = {
+ isa = PBXGroup;
+ children = (
+ 404BFEA464246C3581AFCF47 /* juce_audio_basics */,
+ 90D9DDA0B7937A5B2ED77F30 /* juce_audio_devices */,
+ 594F462315832D34803DA5F6 /* juce_audio_formats */,
+ 4EA50957218B9A0F396DB28D /* juce_blocks_basics */,
+ 247AF08855C438929F46C640 /* juce_core */,
+ D8F226718DC7C6F677813853 /* juce_data_structures */,
+ 2E126121467FEA75AE5E28E7 /* juce_events */,
+ 4C6121D44894EBC2CE00C47C /* juce_graphics */,
+ FE33C8CB124FF0872158875A /* juce_gui_basics */,
+ 9E18A441884CEFE11E2D3857 /* juce_gui_extra */,
+ CD3B970017EF8AC522E6238C /* juce_opengl */,
+ );
+ name = "Juce Modules";
+ sourceTree = "<group>";
+ };
+ FD7D0D9BA2507086B2E2DA6E /* values */ = {
+ isa = PBXGroup;
+ children = (
+ 03E5101ED7B3FD06AE564F67 /* juce_CachedValue.cpp */,
+ 92014E0EF85DDA08ACCFE803 /* juce_CachedValue.h */,
+ 2DBADCD115CE48292C27E0FE /* juce_Value.cpp */,
+ 90040097B24860C360877342 /* juce_Value.h */,
+ B387644139E3E36918C4D03A /* juce_ValueTree.cpp */,
+ E2AC1771328A969730B88BDA /* juce_ValueTree.h */,
+ 1F6AF62DCB06829E5D547080 /* juce_ValueTreeSynchroniser.cpp */,
+ 003F5B441682BA631DDF3AC3 /* juce_ValueTreeSynchroniser.h */,
+ );
+ name = values;
+ sourceTree = "<group>";
+ };
+ FE33C8CB124FF0872158875A /* juce_gui_basics */ = {
+ isa = PBXGroup;
+ children = (
+ 07904D644F96E4BDE7F97211 /* application */,
+ 8C50A37660EFD2826595E21F /* buttons */,
+ 5DCA357F8D71E6533AA7F14C /* commands */,
+ A6E5010F1204E950F65CE679 /* components */,
+ BB630F47D921377AA027C1B4 /* drawables */,
+ A7D9149B4E37D9181E3F9A39 /* filebrowser */,
+ 058E0B5BC34AD4AD46B9CAB4 /* keyboard */,
+ D9D416C8CAE3A9E7CE485AE2 /* layout */,
+ FAA6CD66C5226D3A9207B754 /* lookandfeel */,
+ A354D9464A5E0CA16BACC5FE /* menus */,
+ 7014FBB2A0234F105FFD4373 /* misc */,
+ AECDF9A263F52E02F060F2B0 /* mouse */,
+ BB809068C10AFC284A1D85E4 /* native */,
+ 2E64869DDF2412C8949B3D60 /* positioning */,
+ 73B736F0A245E7492E237884 /* properties */,
+ 44A9B15FCFF35B6D4A98AD01 /* widgets */,
+ 0C4CEA52BDC9F6A213AC17BD /* windows */,
+ 9BC007D5846F63F0F37CF97B /* juce_gui_basics.cpp */,
+ A928068058AABD08099E1792 /* juce_gui_basics.mm */,
+ B38DA581048FDA139F641FB0 /* juce_gui_basics.h */,
+ );
+ name = juce_gui_basics;
+ sourceTree = "<group>";
+ };
+ FF3F83506D205EABE1669524 /* geometry */ = {
+ isa = PBXGroup;
+ children = (
+ C096E8792E18214FCE25A25C /* juce_Draggable3DOrientation.h */,
+ 92CEF1181147D9E110D85278 /* juce_Matrix3D.h */,
+ AED3A93746DB1172E5A05BBC /* juce_Quaternion.h */,
+ DAF373B4117FFAAEF7D9AA22 /* juce_Vector3D.h */,
+ );
+ name = geometry;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 0B9ADB15A71FB90DD6919895 /* BlocksSynth (App) */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 55C758B950EB7307111C9D74 /* Build configuration list for PBXNativeTarget "BlocksSynth (App)" */;
+ buildPhases = (
+ B62995CCD71EBA82C2BC1692 /* Resources */,
+ C8A1585A07BDCD77C240ECAA /* Sources */,
+ 1EFBDD8D783B94E754626B32 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "BlocksSynth (App)";
+ productName = BlocksSynth;
+ productReference = D778C2ED7EA9D5EDCFBA1507 /* BlocksSynth.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ C28D173095C609C48901860E /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0440;
+ TargetAttributes = {
+ 0B9ADB15A71FB90DD6919895 = {
+ DevelopmentTeam = A6Y7ZHFYJ2;
+ SystemCapabilities = {
+ com.apple.InAppPurchase = {
+ enabled = 0;
+ };
+ com.apple.Sandbox = {
+ enabled = 0;
+ };
+ };
+ };
+ };
+ };
+ buildConfigurationList = F2BDE5D743A9870C169E5CC8 /* Build configuration list for PBXProject "BlocksSynth" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 0F4E2B72B683E9B48DF13DDB /* Source */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 0B9ADB15A71FB90DD6919895 /* BlocksSynth (App) */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ B62995CCD71EBA82C2BC1692 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9097F21A6491C4C4ABA3185F /* Images.xcassets in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ C8A1585A07BDCD77C240ECAA /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3B23FB9BAAEB77AA64AD037B /* Audio.cpp in Sources */,
+ 657E06CA14EC10A4744D5DEB /* MainComponent.cpp in Sources */,
+ 8492CFCDEC3C8BC7E679D597 /* Main.cpp in Sources */,
+ 8708D4FDEA2E44838FF56AF7 /* juce_audio_basics.mm in Sources */,
+ DD6F640B22B1E254A30D23A3 /* juce_audio_devices.mm in Sources */,
+ BFF81A843FE6013A9D16AA34 /* juce_audio_formats.mm in Sources */,
+ BF6FA2A2A66FBBB7C0C82551 /* juce_blocks_basics.cpp in Sources */,
+ A6C2383A9E41C6C0492FBD71 /* juce_core.mm in Sources */,
+ 36CA4CF2E34082660F108708 /* juce_data_structures.mm in Sources */,
+ 90AB9198E92ADD84AFB8EFD6 /* juce_events.mm in Sources */,
+ 221901C4077F389C16EE6FE1 /* juce_graphics.mm in Sources */,
+ 8A93A3EB39E14A2887A12CF9 /* juce_gui_basics.mm in Sources */,
+ 35E0967364383B7202CB3A01 /* juce_gui_extra.mm in Sources */,
+ 0112FC2B7A664C27E8F9941D /* juce_opengl.mm in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ 1EABC8E25D5063C5DE0DA4E2 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ DEAD_CODE_STRIPPING = YES;
+ DEVELOPMENT_TEAM = A6Y7ZHFYJ2;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GCC_OPTIMIZATION_LEVEL = 3;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_NDEBUG=1",
+ "NDEBUG=1",
+ "JUCER_XCODE_IPHONE_5BC26AE3=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = (
+ ../../JuceLibraryCode,
+ ../../../../../modules,
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = "Info-App.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksSynth;
+ };
+ name = Release;
+ };
+ 57DFE1C6F280A60ED6AF5D46 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.3;
+ PRODUCT_NAME = BlocksSynth;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WARNING_CFLAGS = "-Wreorder";
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
+ 9FADB9B516D955EEE4CDF9B9 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
+ GCC_WARN_MISSING_PARENTHESES = YES;
+ GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
+ GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.3;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = BlocksSynth;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ WARNING_CFLAGS = "-Wreorder";
+ ZERO_LINK = NO;
+ };
+ name = Debug;
+ };
+ BD1F40E3A4433BD30678025E /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_LINK_OBJC_RUNTIME = NO;
+ COMBINE_HIDPI_IMAGES = YES;
+ CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
+ COPY_PHASE_STRIP = NO;
+ DEVELOPMENT_TEAM = A6Y7ZHFYJ2;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "_DEBUG=1",
+ "DEBUG=1",
+ "JUCER_XCODE_IPHONE_5BC26AE3=1",
+ "JUCE_APP_VERSION=1.0.0",
+ "JUCE_APP_VERSION_HEX=0x10000",
+ );
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ HEADER_SEARCH_PATHS = (
+ ../../JuceLibraryCode,
+ ../../../../../modules,
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = "Info-App.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.BlocksSynth;
+ };
+ name = Debug;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 55C758B950EB7307111C9D74 /* Build configuration list for PBXNativeTarget "BlocksSynth (App)" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ BD1F40E3A4433BD30678025E /* Debug */,
+ 1EABC8E25D5063C5DE0DA4E2 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ F2BDE5D743A9870C169E5CC8 /* Build configuration list for PBXProject "BlocksSynth" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9FADB9B516D955EEE4CDF9B9 /* Debug */,
+ 57DFE1C6F280A60ED6AF5D46 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = C28D173095C609C48901860E /* Project object */;
+}
--- /dev/null
+{\r
+ "images": [\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "29x29",\r
+ "filename": "Icon-29.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "29x29",\r
+ "filename": "Icon-29@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "29x29",\r
+ "filename": "Icon-29@3x.png",\r
+ "scale": "3x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "40x40",\r
+ "filename": "Icon-Spotlight-40@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "40x40",\r
+ "filename": "Icon-Spotlight-40@3x.png",\r
+ "scale": "3x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "57x57",\r
+ "filename": "Icon.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "57x57",\r
+ "filename": "Icon@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "60x60",\r
+ "filename": "Icon-60@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "iphone",\r
+ "size": "60x60",\r
+ "filename": "Icon-@3x.png",\r
+ "scale": "3x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "29x29",\r
+ "filename": "Icon-Small-1.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "29x29",\r
+ "filename": "Icon-Small@2x-1.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "40x40",\r
+ "filename": "Icon-Spotlight-40.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "40x40",\r
+ "filename": "Icon-Spotlight-40@2x-1.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "50x50",\r
+ "filename": "Icon-Small-50.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "50x50",\r
+ "filename": "Icon-Small-50@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "72x72",\r
+ "filename": "Icon-72.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "72x72",\r
+ "filename": "Icon-72@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "76x76",\r
+ "filename": "Icon-76.png",\r
+ "scale": "1x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "76x76",\r
+ "filename": "Icon-76@2x.png",\r
+ "scale": "2x"\r
+ },\r
+ {\r
+ "idiom": "ipad",\r
+ "size": "83.5x83.5",\r
+ "filename": "Icon-83.5@2x.png",\r
+ "scale": "2x"\r
+ }\r
+ ],\r
+ "info": {\r
+ "version": 1,\r
+ "author": "xcode"\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+{\r
+ "images": [\r
+ {\r
+ "orientation": "portrait",\r
+ "idiom": "iphone",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "2x",\r
+ "filename": "LaunchImage-iphone-2x.png"\r
+ },\r
+ {\r
+ "orientation": "portrait",\r
+ "idiom": "iphone",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "2x",\r
+ "filename": "LaunchImage-iphone-retina4.png",\r
+ "subtype": "retina4"\r
+ },\r
+ {\r
+ "orientation": "portrait",\r
+ "idiom": "ipad",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "1x",\r
+ "filename": "LaunchImage-ipad-portrait-1x.png"\r
+ },\r
+ {\r
+ "orientation": "landscape",\r
+ "idiom": "ipad",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "1x",\r
+ "filename": "LaunchImage-ipad-landscape-1x.png"\r
+ },\r
+ {\r
+ "orientation": "portrait",\r
+ "idiom": "ipad",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "2x",\r
+ "filename": "LaunchImage-ipad-portrait-2x.png"\r
+ },\r
+ {\r
+ "orientation": "landscape",\r
+ "idiom": "ipad",\r
+ "extent": "full-screen",\r
+ "minimum-system-version": "7.0",\r
+ "scale": "2x",\r
+ "filename": "LaunchImage-ipad-landscape-2x.png"\r
+ }\r
+ ],\r
+ "info": {\r
+ "version": 1,\r
+ "author": "xcode"\r
+ }\r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+\r
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\r
+<plist>\r
+ <dict>\r
+ <key>LSRequiresIPhoneOS</key>\r
+ <true/>\r
+ <key>UIViewControllerBasedStatusBarAppearance</key>\r
+ <false/>\r
+ <key>CFBundleExecutable</key>\r
+ <string>${EXECUTABLE_NAME}</string>\r
+ <key>CFBundleIdentifier</key>\r
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\r
+ <key>CFBundleName</key>\r
+ <string>BlocksSynth</string>\r
+ <key>CFBundleDisplayName</key>\r
+ <string>BlocksSynth</string>\r
+ <key>CFBundlePackageType</key>\r
+ <string>APPL</string>\r
+ <key>CFBundleSignature</key>\r
+ <string>????</string>\r
+ <key>CFBundleShortVersionString</key>\r
+ <string>1.0.0</string>\r
+ <key>CFBundleVersion</key>\r
+ <string>1.0.0</string>\r
+ <key>NSHumanReadableCopyright</key>\r
+ <string></string>\r
+ <key>NSHighResolutionCapable</key>\r
+ <true/>\r
+ <key>UIRequiresFullScreen</key>\r
+ <true/>\r
+ <key>UIStatusBarHidden</key>\r
+ <true/>\r
+ <key>UISupportedInterfaceOrientations</key>\r
+ <array>\r
+ <string>UIInterfaceOrientationPortrait</string>\r
+ <string>UIInterfaceOrientationLandscapeLeft</string>\r
+ <string>UIInterfaceOrientationLandscapeRight</string>\r
+ </array>\r
+ <key>UIBackgroundModes</key>\r
+ <array/>\r
+ </dict>\r
+</plist>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+ There's a section below where you can add your own custom code safely, and the\r
+ Projucer will preserve the contents of that block, but the best way to change\r
+ any of these definitions is by using the Projucer's project settings.\r
+\r
+ Any commented-out settings will assume their default values.\r
+\r
+*/\r
+\r
+#ifndef __JUCE_APPCONFIG_XSTYCT__\r
+#define __JUCE_APPCONFIG_XSTYCT__\r
+\r
+//==============================================================================\r
+// [BEGIN_USER_CODE_SECTION]\r
+\r
+// (You can add your own code in this section, and the Projucer will not overwrite it)\r
+\r
+// [END_USER_CODE_SECTION]\r
+\r
+//==============================================================================\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1\r
+#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1\r
+#define JUCE_MODULE_AVAILABLE_juce_blocks_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_core 1\r
+#define JUCE_MODULE_AVAILABLE_juce_data_structures 1\r
+#define JUCE_MODULE_AVAILABLE_juce_events 1\r
+#define JUCE_MODULE_AVAILABLE_juce_graphics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1\r
+#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1\r
+#define JUCE_MODULE_AVAILABLE_juce_opengl 1\r
+\r
+//==============================================================================\r
+#ifndef JUCE_STANDALONE_APPLICATION\r
+ #ifdef JucePlugin_Build_Standalone\r
+ #define JUCE_STANDALONE_APPLICATION JucePlugin_Build_Standalone\r
+ #else\r
+ #define JUCE_STANDALONE_APPLICATION 1\r
+ #endif\r
+#endif\r
+\r
+#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1\r
+\r
+//==============================================================================\r
+// juce_audio_devices flags:\r
+\r
+#ifndef JUCE_ASIO\r
+ //#define JUCE_ASIO\r
+#endif\r
+\r
+#ifndef JUCE_WASAPI\r
+ //#define JUCE_WASAPI\r
+#endif\r
+\r
+#ifndef JUCE_WASAPI_EXCLUSIVE\r
+ //#define JUCE_WASAPI_EXCLUSIVE\r
+#endif\r
+\r
+#ifndef JUCE_DIRECTSOUND\r
+ //#define JUCE_DIRECTSOUND\r
+#endif\r
+\r
+#ifndef JUCE_ALSA\r
+ //#define JUCE_ALSA\r
+#endif\r
+\r
+#ifndef JUCE_JACK\r
+ //#define JUCE_JACK\r
+#endif\r
+\r
+#ifndef JUCE_USE_ANDROID_OPENSLES\r
+ //#define JUCE_USE_ANDROID_OPENSLES\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_audio_formats flags:\r
+\r
+#ifndef JUCE_USE_FLAC\r
+ //#define JUCE_USE_FLAC\r
+#endif\r
+\r
+#ifndef JUCE_USE_OGGVORBIS\r
+ //#define JUCE_USE_OGGVORBIS\r
+#endif\r
+\r
+#ifndef JUCE_USE_MP3AUDIOFORMAT\r
+ //#define JUCE_USE_MP3AUDIOFORMAT\r
+#endif\r
+\r
+#ifndef JUCE_USE_LAME_AUDIO_FORMAT\r
+ //#define JUCE_USE_LAME_AUDIO_FORMAT\r
+#endif\r
+\r
+#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT\r
+ //#define JUCE_USE_WINDOWS_MEDIA_FORMAT\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_core flags:\r
+\r
+#ifndef JUCE_FORCE_DEBUG\r
+ //#define JUCE_FORCE_DEBUG\r
+#endif\r
+\r
+#ifndef JUCE_LOG_ASSERTIONS\r
+ //#define JUCE_LOG_ASSERTIONS\r
+#endif\r
+\r
+#ifndef JUCE_CHECK_MEMORY_LEAKS\r
+ //#define JUCE_CHECK_MEMORY_LEAKS\r
+#endif\r
+\r
+#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES\r
+ //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES\r
+#endif\r
+\r
+#ifndef JUCE_INCLUDE_ZLIB_CODE\r
+ //#define JUCE_INCLUDE_ZLIB_CODE\r
+#endif\r
+\r
+#ifndef JUCE_USE_CURL\r
+ //#define JUCE_USE_CURL\r
+#endif\r
+\r
+#ifndef JUCE_CATCH_UNHANDLED_EXCEPTIONS\r
+ //#define JUCE_CATCH_UNHANDLED_EXCEPTIONS\r
+#endif\r
+\r
+#ifndef JUCE_ALLOW_STATIC_NULL_VARIABLES\r
+ //#define JUCE_ALLOW_STATIC_NULL_VARIABLES\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_graphics flags:\r
+\r
+#ifndef JUCE_USE_COREIMAGE_LOADER\r
+ //#define JUCE_USE_COREIMAGE_LOADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_DIRECTWRITE\r
+ //#define JUCE_USE_DIRECTWRITE\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_gui_basics flags:\r
+\r
+#ifndef JUCE_ENABLE_REPAINT_DEBUGGING\r
+ //#define JUCE_ENABLE_REPAINT_DEBUGGING\r
+#endif\r
+\r
+#ifndef JUCE_USE_XSHM\r
+ //#define JUCE_USE_XSHM\r
+#endif\r
+\r
+#ifndef JUCE_USE_XRENDER\r
+ //#define JUCE_USE_XRENDER\r
+#endif\r
+\r
+#ifndef JUCE_USE_XCURSOR\r
+ //#define JUCE_USE_XCURSOR\r
+#endif\r
+\r
+//==============================================================================\r
+// juce_gui_extra flags:\r
+\r
+#ifndef JUCE_WEB_BROWSER\r
+ //#define JUCE_WEB_BROWSER\r
+#endif\r
+\r
+#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR\r
+ //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR\r
+#endif\r
+\r
+\r
+#endif // __JUCE_APPCONFIG_XSTYCT__\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+ This is the header file that your files should include in order to get all the\r
+ JUCE library headers. You should avoid including the JUCE headers directly in\r
+ your own source files, because that wouldn't pick up the correct configuration\r
+ options for your app.\r
+\r
+*/\r
+\r
+#ifndef __APPHEADERFILE_XSTYCT__\r
+#define __APPHEADERFILE_XSTYCT__\r
+\r
+#include "AppConfig.h"\r
+\r
+#include <juce_audio_basics/juce_audio_basics.h>\r
+#include <juce_audio_devices/juce_audio_devices.h>\r
+#include <juce_audio_formats/juce_audio_formats.h>\r
+#include <juce_blocks_basics/juce_blocks_basics.h>\r
+#include <juce_core/juce_core.h>\r
+#include <juce_data_structures/juce_data_structures.h>\r
+#include <juce_events/juce_events.h>\r
+#include <juce_graphics/juce_graphics.h>\r
+#include <juce_gui_basics/juce_gui_basics.h>\r
+#include <juce_gui_extra/juce_gui_extra.h>\r
+#include <juce_opengl/juce_opengl.h>\r
+\r
+\r
+#if ! DONT_SET_USING_JUCE_NAMESPACE\r
+ // If your code uses a lot of JUCE classes, then this will obviously save you\r
+ // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE.\r
+ using namespace juce;\r
+#endif\r
+\r
+#if ! JUCE_DONT_DECLARE_PROJECTINFO\r
+namespace ProjectInfo\r
+{\r
+ const char* const projectName = "BlocksSynth";\r
+ const char* const versionString = "1.0.0";\r
+ const int versionNumber = 0x10000;\r
+}\r
+#endif\r
+\r
+#endif // __APPHEADERFILE_XSTYCT__\r
--- /dev/null
+\r
+ Important Note!!\r
+ ================\r
+\r
+The purpose of this folder is to contain files that are auto-generated by the Projucer,\r
+and ALL files in this folder will be mercilessly DELETED and completely re-written whenever\r
+the Projucer saves your project.\r
+\r
+Therefore, it's a bad idea to make any manual changes to the files in here, or to\r
+put any of your own files in here if you don't want to lose them. (Of course you may choose\r
+to add the folder's contents to your version-control system so that you can re-merge your own\r
+modifications after the Projucer has saved its changes).\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_basics/juce_audio_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_basics/juce_audio_basics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_devices/juce_audio_devices.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_devices/juce_audio_devices.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_formats/juce_audio_formats.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_audio_formats/juce_audio_formats.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_blocks_basics/juce_blocks_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_core/juce_core.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_core/juce_core.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_data_structures/juce_data_structures.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_data_structures/juce_data_structures.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_events/juce_events.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_events/juce_events.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_graphics/juce_graphics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_graphics/juce_graphics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_basics/juce_gui_basics.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_basics/juce_gui_basics.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_extra/juce_gui_extra.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_gui_extra/juce_gui_extra.mm>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_opengl/juce_opengl.cpp>\r
--- /dev/null
+/*\r
+\r
+ IMPORTANT! This file is auto-generated each time you save your\r
+ project - if you alter its contents, your changes may be overwritten!\r
+\r
+*/\r
+\r
+#include "AppConfig.h"\r
+#include <juce_opengl/juce_opengl.mm>\r
--- /dev/null
+\r
+#ifndef AUDIO_H_INCLUDED\r
+#define AUDIO_H_INCLUDED\r
+\r
+#include "Oscillators.h"\r
+\r
+/**\r
+ Class to handle the Audio functionality\r
+*/\r
+class Audio : public AudioIODeviceCallback\r
+{\r
+public:\r
+ Audio()\r
+ {\r
+ // Set up the audio device manager\r
+ audioDeviceManager.initialiseWithDefaultDevices (0, 2);\r
+ audioDeviceManager.addAudioCallback (this);\r
+\r
+ // Set up the synthesiser and add each of the waveshapes\r
+ synthesiser.clearVoices();\r
+ synthesiser.clearSounds();\r
+\r
+ synthesiser.addVoice (new SineVoice());\r
+ synthesiser.addVoice (new SquareVoice());\r
+ synthesiser.addVoice (new SawVoice());\r
+ synthesiser.addVoice (new TriangleVoice());\r
+\r
+ synthesiser.addSound (new SineSound());\r
+ synthesiser.addSound (new SquareSound());\r
+ synthesiser.addSound (new SawSound());\r
+ synthesiser.addSound (new TriangleSound());\r
+ }\r
+\r
+ ~Audio()\r
+ {\r
+ audioDeviceManager.removeAudioCallback (this);\r
+ }\r
+\r
+ /** Audio callback */\r
+ void audioDeviceIOCallback (const float **/*inputChannelData*/, int /*numInputChannels*/,\r
+ float **outputChannelData, int numOutputChannels, int numSamples) override\r
+ {\r
+ AudioSampleBuffer sampleBuffer = AudioSampleBuffer (outputChannelData, numOutputChannels, numSamples);\r
+ sampleBuffer.clear();\r
+\r
+ synthesiser.renderNextBlock (sampleBuffer, MidiBuffer(), 0, numSamples);\r
+ }\r
+\r
+ void audioDeviceAboutToStart (AudioIODevice* device) override\r
+ {\r
+ synthesiser.setCurrentPlaybackSampleRate (device->getCurrentSampleRate());\r
+ }\r
+\r
+ void audioDeviceStopped() override {}\r
+\r
+ /** Called to turn a synthesiser note on */\r
+ void noteOn (int channel, int noteNum, float velocity)\r
+ {\r
+ synthesiser.noteOn (channel, noteNum, velocity);\r
+ }\r
+\r
+ /** Called to turn a synthesiser note off */\r
+ void noteOff (int channel, int noteNum, float velocity)\r
+ {\r
+ synthesiser.noteOff (channel, noteNum, velocity, false);\r
+ }\r
+\r
+ /** Called to turn all synthesiser notes off */\r
+ void allNotesOff()\r
+ {\r
+ for (int i = 1; i < 5; ++i)\r
+ synthesiser.allNotesOff (i, false);\r
+ }\r
+\r
+ /** Send pressure change message to synthesiser */\r
+ void pressureChange (int channel, float newPressure)\r
+ {\r
+ synthesiser.handleChannelPressure (channel, static_cast<int> (newPressure * 127));\r
+ }\r
+\r
+ /** Send pitch change message to synthesiser */\r
+ void pitchChange (int channel, float pitchChange)\r
+ {\r
+ synthesiser.handlePitchWheel (channel, static_cast<int> (pitchChange * 127));\r
+ }\r
+\r
+private:\r
+ AudioDeviceManager audioDeviceManager;\r
+ Synthesiser synthesiser;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Audio)\r
+};\r
+\r
+#endif // AUDIO_H_INCLUDED\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file was auto-generated!\r
+\r
+ It contains the basic startup code for a Juce application.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+#include "MainComponent.h"\r
+\r
+\r
+//==============================================================================\r
+class BlocksSynthApplication : public JUCEApplication\r
+{\r
+public:\r
+ //==============================================================================\r
+ BlocksSynthApplication() {}\r
+\r
+ const String getApplicationName() override { return ProjectInfo::projectName; }\r
+ const String getApplicationVersion() override { return ProjectInfo::versionString; }\r
+\r
+ //==============================================================================\r
+ void initialise (const String& /*commandLine*/) override { mainWindow = new MainWindow (getApplicationName()); }\r
+ void shutdown() override { mainWindow = nullptr; }\r
+\r
+ //==============================================================================\r
+ class MainWindow : public DocumentWindow\r
+ {\r
+ public:\r
+ MainWindow (String name) : DocumentWindow (name,\r
+ Colours::lightgrey,\r
+ DocumentWindow::allButtons)\r
+ {\r
+ setUsingNativeTitleBar (true);\r
+ setContentOwned (new MainComponent(), true);\r
+\r
+ centreWithSize (getWidth(), getHeight());\r
+ setResizable (true, true);\r
+ setVisible (true);\r
+ }\r
+\r
+ void closeButtonPressed() override\r
+ {\r
+ JUCEApplication::getInstance()->systemRequestedQuit();\r
+ }\r
+\r
+ private:\r
+ TooltipWindow tooltipWindow;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r
+ };\r
+\r
+private:\r
+ ScopedPointer<MainWindow> mainWindow;\r
+};\r
+\r
+//==============================================================================\r
+START_JUCE_APPLICATION (BlocksSynthApplication)\r
--- /dev/null
+\r
+#ifndef MAINCOMPONENT_H_INCLUDED\r
+#define MAINCOMPONENT_H_INCLUDED\r
+\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+#include "Audio.h"\r
+\r
+/**\r
+ A struct that handles the setup and layout of the DrumPadGridProgram\r
+*/\r
+struct SynthGrid\r
+{\r
+ SynthGrid (int cols, int rows)\r
+ : numColumns (cols),\r
+ numRows (rows)\r
+ {\r
+ constructGridFillArray();\r
+ }\r
+\r
+ /** Creates a GridFill object for each pad in the grid and sets its colour\r
+ and fill before adding it to an array of GridFill objects\r
+ */\r
+ void constructGridFillArray()\r
+ {\r
+ gridFillArray.clear();\r
+\r
+ for (int i = 0; i < numRows; ++i)\r
+ {\r
+ for (int j = 0; j < numColumns; ++j)\r
+ {\r
+ DrumPadGridProgram::GridFill fill;\r
+\r
+ int padNum = (i * 5) + j;\r
+\r
+ fill.colour = notes.contains (padNum) ? baseGridColour\r
+ : tonics.contains (padNum) ? Colours::white\r
+ : Colours::black;\r
+ fill.fillType = DrumPadGridProgram::GridFill::FillType::gradient;\r
+ gridFillArray.add (fill);\r
+ }\r
+ }\r
+ }\r
+\r
+ int getNoteNumberForPad (int x, int y)\r
+ {\r
+ int xIndex = x / 3;\r
+ int yIndex = y / 3;\r
+\r
+ return 60 + ((4 - yIndex) * 5) + xIndex;\r
+ }\r
+\r
+ //==============================================================================\r
+ int numColumns, numRows;\r
+ float width, height;\r
+\r
+ Array<DrumPadGridProgram::GridFill> gridFillArray;\r
+ Colour baseGridColour = Colours::green;\r
+ Colour touchColour = Colours::cyan;\r
+\r
+ Array<int> tonics = { 4, 12, 20 };\r
+ Array<int> notes = { 1, 3, 6, 7, 9, 11, 14, 15, 17, 19, 22, 24 };\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SynthGrid)\r
+};\r
+\r
+/**\r
+ The main component\r
+*/\r
+class MainComponent : public Component,\r
+ public TopologySource::Listener,\r
+ private TouchSurface::Listener,\r
+ private ControlButton::Listener,\r
+ private Timer\r
+{\r
+public:\r
+ MainComponent() : layout (5, 5)\r
+ {\r
+ setSize (600, 400);\r
+\r
+ // Register MainContentComponent as a listener to the PhysicalTopologySource object\r
+ topologySource.addListener (this);\r
+\r
+ generateWaveshapes();\r
+ };\r
+\r
+ ~MainComponent()\r
+ {\r
+ if (activeBlock != nullptr)\r
+ detachActiveBlock();\r
+ }\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ g.fillAll (Colours::lightgrey);\r
+ g.drawText ("Connect a Lightpad Block to play.", getLocalBounds(), Justification::centred, false);\r
+ }\r
+\r
+ void resized() override {}\r
+\r
+ /** Overridden from TopologySource::Listener, called when the topology changes */\r
+ void topologyChanged() override\r
+ {\r
+ // Reset the activeBlock object\r
+ if (activeBlock != nullptr)\r
+ detachActiveBlock();\r
+\r
+ // Get the array of currently connected Block objects from the PhysicalTopologySource\r
+ Block::Array blocks = topologySource.getCurrentTopology().blocks;\r
+\r
+ // Iterate over the array of Block objects\r
+ for (auto b : blocks)\r
+ {\r
+ // Find the first Lightpad\r
+ if (b->getType() == Block::Type::lightPadBlock)\r
+ {\r
+ activeBlock = b;\r
+\r
+ // Register MainContentComponent as a listener to the touch surface\r
+ if (auto surface = activeBlock->getTouchSurface())\r
+ surface->addListener (this);\r
+\r
+ // Register MainContentComponent as a listener to any buttons\r
+ for (auto button : activeBlock->getButtons())\r
+ button->addListener (this);\r
+\r
+ // Get the LEDGrid object from the Lightpad and set its program to the program for the current mode\r
+ if (auto grid = activeBlock->getLEDGrid())\r
+ {\r
+ // Work out scale factors to translate X and Y touches to LED indexes\r
+ scaleX = static_cast<float> (grid->getNumColumns() - 1) / activeBlock->getWidth();\r
+ scaleY = static_cast<float> (grid->getNumRows() - 1) / activeBlock->getHeight();\r
+\r
+ setLEDProgram (grid);\r
+ }\r
+\r
+ break;\r
+ }\r
+ }\r
+ }\r
+\r
+private:\r
+ /** Overridden from TouchSurface::Listener. Called when a Touch is received on the Lightpad */\r
+ void touchChanged (TouchSurface&, const TouchSurface::Touch& touch) override\r
+ {\r
+ if (currentMode == waveformSelectionMode && touch.isTouchStart)\r
+ {\r
+ // Change the displayed waveshape to the next one\r
+ ++waveshapeMode;\r
+\r
+ if (waveshapeMode > 3)\r
+ waveshapeMode = 0;\r
+ }\r
+ else if (currentMode == playMode)\r
+ {\r
+ // Translate X and Y touch events to LED indexes\r
+ int xLed = roundToInt (touch.startX * scaleX);\r
+ int yLed = roundToInt (touch.startY * scaleY);\r
+\r
+ // Limit the number of touches per second\r
+ constexpr int maxNumTouchMessagesPerSecond = 100;\r
+ auto now = Time::getCurrentTime();\r
+ clearOldTouchTimes (now);\r
+\r
+ int midiChannel = waveshapeMode + 1;\r
+\r
+ // Send the touch event to the DrumPadGridProgram and Audio class\r
+ if (touch.isTouchStart)\r
+ {\r
+ gridProgram->startTouch (touch.startX, touch.startY);\r
+ audio.noteOn (midiChannel, layout.getNoteNumberForPad (xLed, yLed), touch.z);\r
+ }\r
+ else if (touch.isTouchEnd)\r
+ {\r
+ gridProgram->endTouch (touch.startX, touch.startY);\r
+ audio.noteOff (midiChannel, layout.getNoteNumberForPad (xLed, yLed), 1.0);\r
+ }\r
+ else\r
+ {\r
+ if (touchMessageTimesInLastSecond.size() > maxNumTouchMessagesPerSecond / 3)\r
+ return;\r
+\r
+ gridProgram->sendTouch (touch.x, touch.y, touch.z, layout.touchColour);\r
+\r
+ // Send pitch change and pressure values to the Audio class\r
+ audio.pitchChange (midiChannel, (touch.x - touch.startX) / static_cast<float> (activeBlock->getWidth()));\r
+ audio.pressureChange (midiChannel, touch.z);\r
+ }\r
+\r
+ touchMessageTimesInLastSecond.add (now);\r
+ }\r
+ }\r
+\r
+ /** Overridden from ControlButton::Listener. Called when a button on the Lightpad is pressed */\r
+ void buttonPressed (ControlButton&, Block::Timestamp) override {}\r
+\r
+ /** Overridden from ControlButton::Listener. Called when a button on the Lightpad is released */\r
+ void buttonReleased (ControlButton&, Block::Timestamp) override\r
+ {\r
+ // Turn any active synthesiser notes off\r
+ audio.allNotesOff();\r
+\r
+ // Switch modes\r
+ if (currentMode == waveformSelectionMode)\r
+ currentMode = playMode;\r
+ else if (currentMode == playMode)\r
+ currentMode = waveformSelectionMode;\r
+\r
+ // Set the LEDGrid program to the new mode\r
+ setLEDProgram (activeBlock->getLEDGrid());\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ // Clear all LEDs\r
+ for (uint32 x = 0; x < 15; ++x)\r
+ for (uint32 y = 0; y < 15; ++y)\r
+ bitmapProgram->setLED (x, y, Colours::black);\r
+\r
+ // Determine which array to use based on waveshapeMode\r
+ int* waveshapeY = nullptr;\r
+ switch (waveshapeMode)\r
+ {\r
+ case 0:\r
+ waveshapeY = sineWaveY;\r
+ break;\r
+ case 1:\r
+ waveshapeY = squareWaveY;\r
+ break;\r
+ case 2:\r
+ waveshapeY = sawWaveY;\r
+ break;\r
+ case 3:\r
+ waveshapeY = triangleWaveY;\r
+ break;\r
+ default:\r
+ break;\r
+ }\r
+\r
+ // For each X co-ordinate\r
+ for (uint32 x = 0; x < 15; ++x)\r
+ {\r
+ // Find the corresponding Y co-ordinate for the current waveshape\r
+ int y = waveshapeY[x + yOffset];\r
+\r
+ // Draw a vertical line if flag is set or draw an LED circle\r
+ if (y == -1)\r
+ {\r
+ for (uint32 i = 0; i < 15; ++i)\r
+ drawLEDCircle (x, i);\r
+ }\r
+ else if (x % 2 == 0)\r
+ {\r
+ drawLEDCircle (x, static_cast<uint32> (y));\r
+ }\r
+ }\r
+\r
+ // Increment the offset to draw a 'moving' waveshape\r
+ if (++yOffset == 30)\r
+ yOffset -= 30;\r
+ }\r
+\r
+ /** Clears the old touch times */\r
+ void clearOldTouchTimes (const Time now)\r
+ {\r
+ for (int i = touchMessageTimesInLastSecond.size(); --i >= 0;)\r
+ if (touchMessageTimesInLastSecond.getReference(i) < now - juce::RelativeTime::seconds (0.33))\r
+ touchMessageTimesInLastSecond.remove (i);\r
+ }\r
+\r
+ /** Removes TouchSurface and ControlButton listeners and sets activeBlock to nullptr */\r
+ void detachActiveBlock()\r
+ {\r
+ if (auto surface = activeBlock->getTouchSurface())\r
+ surface->removeListener (this);\r
+\r
+ for (auto button : activeBlock->getButtons())\r
+ button->removeListener (this);\r
+\r
+ activeBlock = nullptr;\r
+ }\r
+\r
+ /** Sets the LEDGrid Program for the selected mode */\r
+ void setLEDProgram (LEDGrid* grid)\r
+ {\r
+ if (currentMode == waveformSelectionMode)\r
+ {\r
+ // Create a new BitmapLEDProgram for the LEDGrid\r
+ bitmapProgram = new BitmapLEDProgram (*grid);\r
+\r
+ // Set the LEDGrid program\r
+ grid->setProgram (bitmapProgram);\r
+\r
+ // Redraw at 25Hz\r
+ startTimerHz (25);\r
+ }\r
+ else if (currentMode == playMode)\r
+ {\r
+ // Stop the redraw timer\r
+ stopTimer();\r
+\r
+ // Create a new DrumPadGridProgram for the LEDGrid\r
+ gridProgram = new DrumPadGridProgram (*grid);\r
+\r
+ // Set the LEDGrid program\r
+ grid->setProgram (gridProgram);\r
+\r
+ // Setup the grid layout\r
+ gridProgram->setGridFills (layout.numColumns, layout.numRows, layout.gridFillArray);\r
+ }\r
+ }\r
+\r
+ /** Generates the X and Y co-ordiantes for 1.5 cycles of each of the 4 waveshapes and stores them in arrays */\r
+ void generateWaveshapes()\r
+ {\r
+ // Set current phase position to 0 and work out the required phase increment for one cycle\r
+ double currentPhase = 0.0;\r
+ double phaseInc = (1.0 / 30.0) * (2.0 * double_Pi);\r
+\r
+ for (int x = 0; x < 30; ++x)\r
+ {\r
+ // Scale and offset the sin output to the Lightpad display\r
+ double sineOutput = sin (currentPhase);\r
+ sineWaveY[x] = roundToInt ((sineOutput * 6.5) + 7.0);\r
+\r
+ // Square wave output, set flags for when vertical line should be drawn\r
+ if (currentPhase < double_Pi)\r
+ {\r
+ if (x == 0)\r
+ squareWaveY[x] = -1;\r
+ else\r
+ squareWaveY[x] = 1;\r
+ }\r
+ else\r
+ {\r
+ if (squareWaveY[x - 1] == 1)\r
+ squareWaveY[x - 1] = -1;\r
+\r
+ squareWaveY[x] = 13;\r
+ }\r
+\r
+ // Saw wave output, set flags for when vertical line should be drawn\r
+ sawWaveY[x] = 14 - ((x / 2) % 15);\r
+ if (sawWaveY[x] == 0 && sawWaveY[x - 1] != -1)\r
+ sawWaveY[x] = -1;\r
+\r
+ // Triangle wave output\r
+ triangleWaveY[x] = x < 15 ? x : 14 - (x % 15);\r
+\r
+ // Add half cycle to end of array so it loops correctly\r
+ if (x < 15)\r
+ {\r
+ sineWaveY[x + 30] = sineWaveY[x];\r
+ squareWaveY[x + 30] = squareWaveY[x];\r
+ sawWaveY[x + 30] = sawWaveY[x];\r
+ triangleWaveY[x + 30] = triangleWaveY[x];\r
+ }\r
+\r
+ // Increment the current phase\r
+ currentPhase += phaseInc;\r
+ }\r
+ }\r
+\r
+ /** Draws a 'circle' on the Lightpad around an origin co-ordinate */\r
+ void drawLEDCircle (uint32 x0, uint32 y0)\r
+ {\r
+ bitmapProgram->setLED (x0, y0, waveshapeColour);\r
+\r
+ const uint32 minLedIndex = 0;\r
+ const uint32 maxLedIndex = 14;\r
+\r
+ bitmapProgram->setLED (jmin (x0 + 1, maxLedIndex), y0, waveshapeColour.withBrightness (0.4f));\r
+ bitmapProgram->setLED (jmax (x0 - 1, minLedIndex), y0, waveshapeColour.withBrightness (0.4f));\r
+ bitmapProgram->setLED (x0, jmin (y0 + 1, maxLedIndex), waveshapeColour.withBrightness (0.4f));\r
+ bitmapProgram->setLED (x0, jmax (y0 - 1, minLedIndex), waveshapeColour.withBrightness (0.4f));\r
+\r
+ bitmapProgram->setLED (jmin (x0 + 1, maxLedIndex), jmin (y0 + 1, maxLedIndex), waveshapeColour.withBrightness (0.1f));\r
+ bitmapProgram->setLED (jmin (x0 + 1, maxLedIndex), jmax (y0 - 1, minLedIndex), waveshapeColour.withBrightness (0.1f));\r
+ bitmapProgram->setLED (jmax (x0 - 1, minLedIndex), jmin (y0 + 1, maxLedIndex), waveshapeColour.withBrightness (0.1f));\r
+ bitmapProgram->setLED (jmax (x0 - 1, minLedIndex), jmax (y0 - 1, minLedIndex), waveshapeColour.withBrightness (0.1f));\r
+ }\r
+\r
+ /**\r
+ enum for the two modes\r
+ */\r
+ enum BlocksSynthMode\r
+ {\r
+ waveformSelectionMode = 0,\r
+ playMode\r
+ };\r
+ BlocksSynthMode currentMode = playMode;\r
+\r
+ //==============================================================================\r
+ Audio audio;\r
+\r
+ DrumPadGridProgram* gridProgram;\r
+ BitmapLEDProgram* bitmapProgram;\r
+\r
+ SynthGrid layout;\r
+ PhysicalTopologySource topologySource;\r
+ Block::Ptr activeBlock;\r
+\r
+ Array<juce::Time> touchMessageTimesInLastSecond;\r
+\r
+ Colour waveshapeColour = Colours::red;\r
+\r
+ int sineWaveY[45];\r
+ int squareWaveY[45];\r
+ int sawWaveY[45];\r
+ int triangleWaveY[45];\r
+\r
+ int waveshapeMode = 0;\r
+ uint32 yOffset = 0;\r
+\r
+ float scaleX = 0.0;\r
+ float scaleY = 0.0;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainComponent)\r
+};\r
+\r
+\r
+#endif // MAINCOMPONENT_H_INCLUDED\r
--- /dev/null
+\r
+#ifndef OSCILLATORS_H_INCLUDED\r
+#define OSCILLATORS_H_INCLUDED\r
+\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+\r
+/**\r
+ Base class for oscillators\r
+*/\r
+class Oscillator : public SynthesiserVoice\r
+{\r
+public:\r
+ Oscillator()\r
+ {\r
+ amplitude.reset (getSampleRate(), 0.1);\r
+ phaseIncrement.reset (getSampleRate(), 0.1);\r
+ }\r
+\r
+ virtual ~Oscillator()\r
+ {\r
+ }\r
+\r
+ void startNote (int midiNoteNumber, float velocity, SynthesiserSound*, int) override\r
+ {\r
+ frequency = MidiMessage::getMidiNoteInHertz (midiNoteNumber);\r
+ phaseIncrement.setValue (((2.0 * double_Pi) * frequency) / sampleRate);\r
+ amplitude.setValue (velocity);\r
+\r
+ // Store the initial note and work out the maximum frequency deviations for pitch bend\r
+ initialNote = midiNoteNumber;\r
+ maxFreq = MidiMessage::getMidiNoteInHertz (initialNote + 4) - frequency;\r
+ minFreq = frequency - MidiMessage::getMidiNoteInHertz (initialNote - 4);\r
+ }\r
+\r
+ void stopNote (float, bool) override\r
+ {\r
+ clearCurrentNote();\r
+ amplitude.setValue (0.0);\r
+ }\r
+\r
+ void pitchWheelMoved (int newValue) override\r
+ {\r
+ // Change the phase increment based on pitch bend amount\r
+ double frequencyOffset = ((newValue > 0 ? maxFreq : minFreq) * (newValue / 127.0));\r
+ phaseIncrement.setValue (((2.0 * double_Pi) * (frequency + frequencyOffset)) / sampleRate);\r
+ }\r
+\r
+ void controllerMoved (int, int) override\r
+ {\r
+ }\r
+\r
+ void channelPressureChanged (int newChannelPressureValue) override\r
+ {\r
+ // Set the amplitude based on pressure value\r
+ amplitude.setValue (newChannelPressureValue / 127.0);\r
+ }\r
+\r
+ void renderNextBlock (AudioSampleBuffer& outputBuffer, int startSample, int numSamples) override\r
+ {\r
+ while(--numSamples >= 0)\r
+ {\r
+ double output = getSample() * amplitude.getNextValue();\r
+\r
+ for (int i = outputBuffer.getNumChannels(); --i >= 0;)\r
+ outputBuffer.addSample (i, startSample, static_cast<float> (output));\r
+\r
+ ++startSample;\r
+ }\r
+ }\r
+\r
+ /** Returns the next sample */\r
+ double getSample()\r
+ {\r
+ double output = renderWaveShape (phasePos);\r
+\r
+ phasePos += phaseIncrement.getNextValue();\r
+\r
+ if (phasePos > (2.0 * double_Pi))\r
+ phasePos -= (2.0 * double_Pi);\r
+\r
+ return output;\r
+ }\r
+\r
+ /** Subclasses should override this to say whether they can play the given sound */\r
+ virtual bool canPlaySound (SynthesiserSound* sound) override = 0;\r
+\r
+ /** Subclasses should override this to render a waveshape */\r
+ virtual double renderWaveShape (const double currentPhase) = 0;\r
+\r
+private:\r
+ LinearSmoothedValue<double> amplitude;\r
+ LinearSmoothedValue<double> phaseIncrement;\r
+\r
+ double frequency;\r
+ double phasePos = 0.0f;\r
+ double sampleRate = 44100.0;\r
+\r
+ int initialNote;\r
+ double maxFreq;\r
+ double minFreq;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Oscillator)\r
+};\r
+\r
+//==============================================================================\r
+/**\r
+ Sine sound struct - applies to MIDI channel 1\r
+*/\r
+struct SineSound : public SynthesiserSound\r
+{\r
+ SineSound () {}\r
+\r
+ bool appliesToNote (int) override { return true; }\r
+\r
+ bool appliesToChannel (int midiChannel) override { return (midiChannel == 1); }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SineSound)\r
+};\r
+\r
+/**\r
+ Sine voice struct that renders a sin waveshape\r
+*/\r
+struct SineVoice : public Oscillator\r
+{\r
+ SineVoice() {};\r
+\r
+ bool canPlaySound (SynthesiserSound* sound) override { return dynamic_cast<SineSound*> (sound) != nullptr; }\r
+\r
+ double renderWaveShape (const double currentPhase) override { return sin (currentPhase); }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SineVoice)\r
+};\r
+\r
+//==============================================================================\r
+/**\r
+ Square sound struct - applies to MIDI channel 2\r
+*/\r
+struct SquareSound : public SynthesiserSound\r
+{\r
+ SquareSound() {}\r
+\r
+ bool appliesToNote (int) override { return true; }\r
+\r
+ bool appliesToChannel (int midiChannel) override { return (midiChannel == 2); }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SquareSound)\r
+};\r
+\r
+/**\r
+ Square voice struct that renders a square waveshape\r
+*/\r
+struct SquareVoice : public Oscillator\r
+{\r
+ SquareVoice() {};\r
+\r
+ bool canPlaySound (SynthesiserSound* sound) override { return dynamic_cast<SquareSound*> (sound) != nullptr; }\r
+\r
+ double renderWaveShape (const double currentPhase) override { return (currentPhase < double_Pi ? 0.0 : 1.0); }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SquareVoice)\r
+};\r
+\r
+//==============================================================================\r
+/**\r
+ Sawtooth sound - applies to MIDI channel 3\r
+*/\r
+struct SawSound : public SynthesiserSound\r
+{\r
+ SawSound() {}\r
+\r
+ bool appliesToNote (int) override { return true; }\r
+\r
+ bool appliesToChannel (int midiChannel) override { return (midiChannel == 3); }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SawSound)\r
+};\r
+\r
+/**\r
+ Sawtooth voice that renders a sawtooth waveshape\r
+*/\r
+struct SawVoice : public Oscillator\r
+{\r
+ SawVoice() {}\r
+\r
+ bool canPlaySound (SynthesiserSound* sound) override { return dynamic_cast<SawSound*> (sound) != nullptr; }\r
+\r
+ double renderWaveShape (const double currentPhase) override { return (1.0 / double_Pi) * currentPhase - 1.0; }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SawVoice)\r
+};\r
+\r
+//==============================================================================\r
+/**\r
+ Triangle sound - applies to MIDI channel 4\r
+*/\r
+struct TriangleSound : public SynthesiserSound\r
+{\r
+ TriangleSound() {}\r
+\r
+ bool appliesToNote (int) override { return true; }\r
+\r
+ bool appliesToChannel (int midiChannel) override { return (midiChannel == 4); }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TriangleSound)\r
+};\r
+\r
+/**\r
+ Triangle voice that renders a triangle waveshape\r
+*/\r
+struct TriangleVoice : public Oscillator\r
+{\r
+ TriangleVoice() {}\r
+\r
+ bool canPlaySound (SynthesiserSound* sound) override { return dynamic_cast<TriangleSound*> (sound) != nullptr; }\r
+\r
+ double renderWaveShape (const double currentPhase) override\r
+ {\r
+ return (currentPhase < double_Pi ? -1.0 + (2.0 / double_Pi) * currentPhase\r
+ : 3.0 - (2.0 / double_Pi) * currentPhase);\r
+ }\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TriangleVoice)\r
+};\r
+\r
+#endif // OSCILLATORS_H_INCLUDED\r
\r
<JUCERPROJECT id="fyUrFS" name="BouncingBallWavetableDemo" projectType="guiapp"\r
version="1.0.0" bundleIdentifier="com.juce.BouncingBallWavetableDemo"\r
- includeBinaryInAppConfig="1" jucerVersion="4.2.4">\r
+ includeBinaryInAppConfig="1" jucerVersion="4.3.0">\r
<MAINGROUP id="MgjqDB" name="BouncingBallWavetableDemo">\r
<GROUP id="{D35F88A0-C242-1CAA-21A9-6D01F78F4128}" name="Source">\r
<FILE id="M5GUDX" name="MainComponent.cpp" compile="1" resource="0"\r
00FBB7B4B0FF5D527B060988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
01343C2A6BC1DCE258FE98BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
01C454D12BDA915CCA323CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ 027F79561C96288A9675DCE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
02C6AD1B6DAC532CA72C1E7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; };
02CC9F8FBF6E1FD3403FCB19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
0317F525008C1447711FF43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
06BEAC10E416863AF7086F80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
06D555C217A65452B7778A47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
06FB94B959FCF34BCC09A8E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; };
+ 073EC9162F32865FB1E2E436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
0798C887AADF6206D0DD3D5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
07C542A7F7692F4EEFBC3B52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; };
080FF7EB71E5CD67CF0A277A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapistd.c"; sourceTree = "SOURCE_ROOT"; };
25A518DC86C292239A3A2F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; };
25C82BBA5C324281BE79D177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
25EF1A925928AF382E5107C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
+ 262FF56D1433D6CCFC4E973A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
264D31E57B2C24A28B87F7D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
265DF4BB938913C12A888F8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
2675DC6F881AF5CB17B08D8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
2953825E0A88A72C32C7BACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; };
2954CEB8E5247D5BCB9E0D2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; };
295E5E55DD800950BB3853F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 29AA688A9E6C4312AC7F377B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
29EFC053D139C374EEC38D4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; };
2AB81355FB08B845EC5D655F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
- 2B03F0C8D2F1C484FDF52D78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
2B20568F362086B0F8335551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
2B2403C3993DB87D4F2CB2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
2B6348D0ECDB4088D9948ECE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
40B33CA1EE55CD80E029E6E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; };
40FF422BCEF4657C6ABF8930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "floor_all.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/floor_all.h"; sourceTree = "SOURCE_ROOT"; };
4125F3E3DEE0EC2CA67D0B2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
+ 414783E5C64B118168753436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
41B31D5D933C67CA5255030D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
41B51B0F7D120BA74BA1B571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; };
41C91C92F88C93DC406D21B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
443B651DFA1E9263BC5B17A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
443FD5652B5CD1ABA5E92C20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
44646EF675DCCD6CEC5D7419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 448FF4822829F88E74247743 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 449365232F9E5216DF6BC4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
44ACBEC16B914A6E22ED7716 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; };
453C6F5261D4308999B514D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
45576A524D2FAEF2896DA3CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; };
48C02973158420C39EAB7359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
48C559A0718BFF128CF095F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
4909A1813625AB783FE724ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 49636E9EC28FFF60F83C80EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
496C200B8451ADE9C73B2C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
4994A4DDCA255CE5CC96BE85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; };
49D0126A6EDA00279B784EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; };
4C741C6F47613D3B295427A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; };
4C793B63D0826F8A39FFC80C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
4C85FDEF06E9B4C04C19F608 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
- 4CF1CAC7714FBD4233EDA47B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
4CF7E749084A95DEA3F04317 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
4D8EFD2B0F79D0CC4AE05C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; };
4E2CE58CA0C41E4413FDFE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = smallft.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.c"; sourceTree = "SOURCE_ROOT"; };
5A933F2B1797016553D30F75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
5AA59F8D6F93AF55E8D70792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
5B7024081D37B30B5F0B8022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; };
- 5BB1A03C0CDBEF61336C1767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
5C4784D160388C542B4D1EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = cpu.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c"; sourceTree = "SOURCE_ROOT"; };
5CA96039BD69F9BA6B3192E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
5CB6432630E43D9F5DE84F27 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
6187DBA16A9E7FF9617B41EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; };
618D9BD69061A33A093C2B40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
62021C7D754FB41F85934545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
- 625DF34CA74A891E98B28C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
62EE05EA64425856BAF96097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; };
6384B97EA8DB6F7912BF9D45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; };
649A515D4CF21513A0868AED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
7EAD753A464389B7F1C0BB90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
7EB0A0231D54F3B4F6872B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
7EE0C922C3EF937DF8239E1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
- 7F5EA25CA96A1AD0BF39AEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
7F8A2A3F91498F5F3A36068E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; };
7FAB1D38B35B7F644C39CA13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
800C0DD76BA987B3FAFC63AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
80118A72180DF9414896B4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; };
8062351BD7983EA6103B40E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 80E6089EDF39D0D1D066B4A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
80E8F7525E5E80AE5D83B52F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
8125CCDF31993100DDD71E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
8184EADC90B51951A516D958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
8994361EF3DDBF6FB9CDB8B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
89980D4B4ADA3A5B70968088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
89C2E9F4A2CC249DFE226D4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; };
- 89E56E6EF3405E368A60C151 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
8A0B1370363D2E612AFF24E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
8A0C242D037D125877C80153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
8A0F357135FFC92BB877D19C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
A1591E3E097C03D819B975D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
A16DB11F00EE84F8602C1C96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
A1E19B95CAFCDE1EFD91B32B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ A1F90D6A73A2B8EF212C50A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
A20CC48E142BB76630130A46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
A21CC788D87FB311F02B5102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
A2658EB0C53059DC9A6AEFC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
B1583CD65532475FF0FEDEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
B17EFF34EB8FF31F4DCB0F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; };
B1C5801A38E8D8D21719B0FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
- B1D315DC90279FF145CDE4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
B20FDD4982983AA5954ACD3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
B227EC97744D4606CCC6309D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
B239AD79DAD73E49E7BAE8B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "lookup_data.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup_data.h"; sourceTree = "SOURCE_ROOT"; };
BBFB3D83E5B39001510E80F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; };
BC297DF5C9E74FA1A31F1D2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; };
BC406499D11669D824EEE6C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ BC5EEA7F574C871474876E3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
BC916DCD3605A52D70C5DCE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
BCA4ECB74F190E766ABD8F90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; };
BCD199C9714ED1BB864F8BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
C0806CAE6CE943C5FC351E1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
C0FC74024A16E523E8904704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
C13E3107214F1B795E1619FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
+ C144C808AFD6075904797976 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
C15B7056F95BB1B038C27D4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; };
C19BC70D8B76F15FBFED53A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; };
C2016916E4998E85685A9B22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; };
E94451037B7BEE60C6FCC419 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
E9F998D205C35E7857A9435B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
EA2031B7F1E2B29A7B2AD80E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
- EA29604BA70D6143F3DC6522 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
EA35A1AE6B7EAB3B6D61098B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; };
EA5E6C6152A16671BBED8D83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; };
EA7D1A40D05C2F61E742E89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
EAF5BFBA4937AFF5A0843BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; };
EB09E989BF5A4E1DF937732F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
EB1B3F30DCB72C2CD65A7A14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- EB2E161FC14C881A808F2393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
EB4BBC31F0417E41C34912AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; };
EB7C3C6CB85C3D6CFA149155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; };
EBF2F0735CD2AC0A2BE8FE60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
ED1AC11AD01C90EE37F261FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; };
ED1F9E6B0E35C1B6F074673D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; };
ED40B16A92B013EB00EA9418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
+ ED49A4FE0F1C6C52F2C72B8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
ED576238B8B1D81ED56B99A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
EDBA74FC683C7FE254CF8901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
EE02C80B7DF8BD162CFBE081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; };
FB7275EBC36A3038142F3ABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
FBC50C7E5A570B789987FC33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
FBC9C2A4068ACE7B98AAF470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
- FBD976DA82F3462D94BAB9E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
FBDE95C57EEA2B66DCD94E7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
FBE3F67248D98292DF16E4F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; };
FC0AEB8FFBEE9B361C893371 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
FE006220FCFAA38DD4EC007C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
FE9814A6F7931F34796D7503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
FED384CC2290A9DF3B2A4586 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
+ FF13EDB456AC76F1630AF802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
FF67159D311D4C80BB251240 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
FFBDD505581F8CBBD4D12123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; };
FFD622E7479D8220161242ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
AFEB8ECB6C68F601C471D4A7 = {isa = PBXGroup; children = (
347363E5F6BB15BC717A8F27, ); name = BouncingBallWavetableDemo; sourceTree = "<group>"; };
DDA827D1A913CA0A8BAEF419 = {isa = PBXGroup; children = (
+ 80E6089EDF39D0D1D066B4A6,
+ 027F79561C96288A9675DCE6,
23E0B25CFAD0FDBE4D12C862,
053A3194974C11BF88EF657A,
6A8E842FF4F50ADFE6AD9524,
73078D8437455B5B84F60267,
D59CB4391C7ADEE6FB0B9613,
73078D8437455B5B84F60267, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- D05F825853AEEC79F2CE07FC = {isa = PBXGroup; children = (
- 625DF34CA74A891E98B28C92,
- EA29604BA70D6143F3DC6522,
- 5BB1A03C0CDBEF61336C1767, ); name = "audio_cd"; sourceTree = "<group>"; };
- D6B489C98FB792A618CEA3A2 = {isa = PBXGroup; children = (
+ 792921428F81C16A3C5FB016 = {isa = PBXGroup; children = (
356C8536205E2716611B83E6,
FAFC28215D792F5C9C5E779B,
0E13A90CDEA88BA4D671F363,
1A37E5573FBA41A0E3CA4C2D,
E634B5A2FB2139BFD565A7EA,
D33DF33A5AC52FA8EE20FE35, ); name = "audio_io"; sourceTree = "<group>"; };
- 15EA21594C566A4ACA65D545 = {isa = PBXGroup; children = (
+ A5C3EE94F5BF7852D22EE7E0 = {isa = PBXGroup; children = (
42721BF0389A7E738AD5D9CD,
2E040A5AB74F6013A0F7FE5E,
5FD7DFAE707D9D8EC1D82908,
6C91AA3DDFE505E36E1A4F72,
5138E33C8B45C36D322B5880,
3F650B204E639C6AF58AF220,
- 89E56E6EF3405E368A60C151,
D578E3C1FBB88B1624D1ECB6,
FDE6EBD44ED9EDED2B91F80D,
- FBD976DA82F3462D94BAB9E3,
- 4CF1CAC7714FBD4233EDA47B,
AC84C75A7772341E00A507DF,
3DB62A07C29D13E47C536313,
223A7EB0835A315C7C3F2200,
4A710F2F7A5F24CCEEFD202F,
- B1D315DC90279FF145CDE4F7,
- 2B03F0C8D2F1C484FDF52D78,
7635998B5B8ABC13AD1D379B,
9978DF13D5FDA53A5253589F,
ED40B16A92B013EB00EA9418, ); name = native; sourceTree = "<group>"; };
- 0109B062385DC37A1D5A2C18 = {isa = PBXGroup; children = (
+ 60B9F7520D11E8695EC8DFC7 = {isa = PBXGroup; children = (
6781BB2B05350852077D25F6,
CB8E447476D2A4471654157F,
8D4104A748D5EA80D46A62E1,
325F6668936B24837CEBC82E, ); name = sources; sourceTree = "<group>"; };
B02EE849DE83A0E3D3BB13E7 = {isa = PBXGroup; children = (
- D05F825853AEEC79F2CE07FC,
- D6B489C98FB792A618CEA3A2,
- 15EA21594C566A4ACA65D545,
+ 792921428F81C16A3C5FB016,
+ A5C3EE94F5BF7852D22EE7E0,
F7BDDC3E613444E7DE7B7810,
- 0109B062385DC37A1D5A2C18,
+ 60B9F7520D11E8695EC8DFC7,
C8B237CDD174A9D779DAD1F1,
CEC8F65F2EBA32AE9765BF21,
2344BC7004FA28C09DC94FEF,
1388F09F4191485F5545CDCD,
E012BC0F2CF50C6B9DD004E1,
1388F09F4191485F5545CDCD, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 82D8A707E83F62F6DDA923D7 = {isa = PBXGroup; children = (
+ 6C6479EDAEF88B442A56FB93 = {isa = PBXGroup; children = (
312656FA6557CD5126CA2B10,
F291744023EE60F5B90EA1CA,
54B5FC4800E44D27E8AABEE0,
579BC84225D2FB307131F0DD, ); name = format; sourceTree = "<group>"; };
- 05108D15DD30DDA75F1AA262 = {isa = PBXGroup; children = (
+ 56BA3F1BF59718D081BB0F3B = {isa = PBXGroup; children = (
+ 29AA688A9E6C4312AC7F377B,
F3B723D594ECA2BFFEC9CA1A,
19703DEDD564FBE9B631A5E1,
36C12F23C7F3FD53CA21B0BB,
1A7D831E49C2BA0CC0CA5128,
DBC0E281A2E05DE8E668CBB4,
5E312C939C9B9E5E37639A79,
+ FF13EDB456AC76F1630AF802,
576DA902DC355B135944F652,
23AC41EA2ECCA1BED10D7E07,
8427B4F238DA7953130272B2,
ED576238B8B1D81ED56B99A5, ); name = "format_types"; sourceTree = "<group>"; };
- 3448A30F9A52F256DD8FA64E = {isa = PBXGroup; children = (
- EB2E161FC14C881A808F2393,
- 7F5EA25CA96A1AD0BF39AEFD,
+ 40E909C1CABA6A6C2BE0954D = {isa = PBXGroup; children = (
771006A68347ADBF161ED995,
B17EFF34EB8FF31F4DCB0F82,
D6FC075AB2132B45211E43E4,
7D9C785442154CED1E805F55,
9CA88A8D2E0FA82F152CB452, ); name = utilities; sourceTree = "<group>"; };
07D6963C79163124B73687E5 = {isa = PBXGroup; children = (
- 82D8A707E83F62F6DDA923D7,
- 05108D15DD30DDA75F1AA262,
- 3448A30F9A52F256DD8FA64E,
+ 6C6479EDAEF88B442A56FB93,
+ 56BA3F1BF59718D081BB0F3B,
+ 40E909C1CABA6A6C2BE0954D,
7033BA697E805F4F332727E1,
B53E613C62946D85B1338EC5,
18BAB9D332D2D82B5D1B92D9,
E287BF027150C60251BEB9DA,
287699A6D2F76C405612EF68,
E287BF027150C60251BEB9DA, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ B81AE127FD0B642197F94F7E = {isa = PBXGroup; children = (
+ 073EC9162F32865FB1E2E436,
+ 414783E5C64B118168753436,
+ ED49A4FE0F1C6C52F2C72B8D, ); name = "audio_cd"; sourceTree = "<group>"; };
E3F1FA1B51FE3D644CDDDE2B = {isa = PBXGroup; children = (
293E46136D38459906B15969,
0B0ED51CC199BA88EB8971FF,
311D99BDC71B625F0F810698 = {isa = PBXGroup; children = (
CB449402F3E1FFE989BA56A9,
D082B9BA46CA7A4162ACC7B7,
+ 448FF4822829F88E74247743,
4FBE6902D644A60EE78EFD90,
+ 449365232F9E5216DF6BC4C6,
+ BC5EEA7F574C871474876E3B,
57E0AAF3F3AD2D086CCC1083,
- E7ABB953224B75AFDF6346E1, ); name = native; sourceTree = "<group>"; };
- ACDB95B6F72F6A6E0DAE03DF = {isa = PBXGroup; children = (
+ E7ABB953224B75AFDF6346E1,
+ 262FF56D1433D6CCFC4E973A,
+ C144C808AFD6075904797976, ); name = native; sourceTree = "<group>"; };
+ 7F4D6EA9E92422954BEC60FC = {isa = PBXGroup; children = (
A323396050CCF671B7CC5ECE,
- F70AAAA55647DBC446569BDE, ); name = players; sourceTree = "<group>"; };
+ F70AAAA55647DBC446569BDE,
+ 49636E9EC28FFF60F83C80EF,
+ A1F90D6A73A2B8EF212C50A4, ); name = players; sourceTree = "<group>"; };
7E99E9732D07FD2CA8B7FF68 = {isa = PBXGroup; children = (
+ B81AE127FD0B642197F94F7E,
E3F1FA1B51FE3D644CDDDE2B,
311D99BDC71B625F0F810698,
- ACDB95B6F72F6A6E0DAE03DF,
+ 7F4D6EA9E92422954BEC60FC,
7AB3AE54D72624A14FD50537,
198CF6CF4F89D4581214D2C5,
0E06542C829F9611DE954B26,
<ItemGroup>\r
<ClCompile Include="..\..\Source\MainComponent.cpp"/>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>BouncingBallWavetableDemo\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
<JUCERPROJECT id="oNvA5C" name="ComponentTutorialExample" projectType="guiapp"\r
version="1.0.0" bundleIdentifier="com.yourcompany.ComponentTutorialExample"\r
- includeBinaryInAppConfig="1" jucerVersion="4.2.4">\r
+ includeBinaryInAppConfig="1" jucerVersion="4.3.0">\r
<MAINGROUP id="WydTVz" name="ComponentTutorialExample">\r
<GROUP id="{F2C8112A-EE4B-7AF1-A0A9-16152D1EF1A7}" name="Source">\r
<FILE id="t4ngZQ" name="ToggleLightGridComponent.h" compile="0" resource="0"\r
package="com.juce.jucedemo">
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"/>
<uses-sdk android:minSdkVersion="23" android:targetSdkVersion="23"/>
- <uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
<application android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar" android:icon="@drawable/icon"
0B543B1E23AC1D74483632D2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
0B54F1B0CB17ABD0C3E40658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
0B5B86BA8E4C60B999A45034 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; };
+ 0B680B64FE7DE50C3E1A6B28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
0B82DF796E577809EB03B874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
0B9867D5674933AF753A2CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
0BD502F6196E1FE7D9888A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
0F3360D13458198A3A88B1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
0F517EA07DBFE31E5C9367F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
0F518E75055A9D954B52DAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
- 0F82F90D72AD536CC3DFE217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
0F88F061C51BE43F53B27094 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
0FC37E13A65710E3B9750BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
0FF2403BC335E710BE391DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
106F27CF32C79FAEE768ABA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
10932841EA586B6969446549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
10B6D087BD60ECFE08F157AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
+ 10C9DC1661946DF49C304DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
10DF2A823B97BBC0BD840B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
11005DEC79FC6A6057FCFA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
112164BE5067BB3274FDAED8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
1BBECE3C619C157F072748D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
1BE105DE7C738CCF8D6F2A54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
1BE21633CDF618F8D993F3BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
+ 1BECFBA14CA548C5E8F1CC72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
1C9321B265A6894A2E51CCD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
1CD8799B8784A91FC13E6641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
1D43B002D877CDF3DA85E602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
220344E43675A2A7D64D3A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
2274B9A5BC921FE3B877D0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
22CF0BEE62FB551A68223B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2311D21B14AB268CDEA6F606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
234392598E5388F29CFD6B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; };
236E11A53CE927AAA6681994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
239F942F45950F5EDCB65A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
2E8E52B63BFBEF408E55B678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
2EB0FBA99B4F54DC67C391B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
2EB37CCC4FF8C40B015C0555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; };
+ 2ECFDDD7B3C255B050C99A1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
2EE8E77D21471265869C9B4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
2EFA7470343EBFC6E338F7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
2F1324CBA29604BD3E2003B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; };
35E35B099E2A7906A7AA2EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
35F5E95BA127E63BA136DACC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
360291D0346F776DDD3F43E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
+ 3604A45AFB219B430055B832 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
360FC75BBB17079A50D83F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; };
364888A8E80B59503995FE18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
3649E7CD2BD6A37FCF7D72F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; };
3F58D27B17343BF1030AF92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
3F8C313EC9C1E6E234108098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
3FBF109F3AD6DE221EFB1BA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
- 402BC49CAFCFFF067A88F96A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
408C5E78F7DE038844E18D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
409B6897E764E49BCB4A9277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
40B485A7CCC441C90EA92FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
4E892CB7335853F8FE91B26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; };
4ECEF417A3156D46464E6B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
4F2F2A6C3D3451EF896D71CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
+ 4F3386F75802D2519BF693FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
4F35D7B6179D00C91BB63AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2WheelJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.cpp"; sourceTree = "SOURCE_ROOT"; };
4F56EAB8D09665602226930F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
4F6768F8EF9CB4A34A501966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
60EEA1369C0AD22C3EA05B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.cpp"; sourceTree = "SOURCE_ROOT"; };
6141692AC9282411091C8157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
6163B3DFD893F55523113A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 61F28F9E82D39EFF702793D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
6209255CD43AA4EDC1C955DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
6218A4FF5FB036AA0B7B77A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
6257CEA3C6EADCB94E25010F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
653C6D41CCDB5D556F00D17B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
653E2E92DFD20A216DC5E698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; };
65DA0DAA8BDCE57A54C1CF26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; };
- 6645C09E7FCFF0E498C3C400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
66C35D440440937001697D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
66C5D2F0D9B9ABA7F4A386E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
66D5FD22DF1550A6CC9ABDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
66F8C7EB6520AB9439433DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 673D3A9FEE5D83720B157FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
67541565521633071C03BD35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
6808473BBCC2E4D8E2CA0E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
6813D2FE050F9518A7BF3728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.h"; sourceTree = "SOURCE_ROOT"; };
71B9B558197CF23EC530D57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2DistanceJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.h"; sourceTree = "SOURCE_ROOT"; };
71E5E55D76D83B711B6263C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
720C3CA9E28181C76434D465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
+ 7212600D3FC9564179B991DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
72370D6EFB4C549A2745C2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Joint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.h"; sourceTree = "SOURCE_ROOT"; };
728155B591553FEF209516CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
7286D6380C74734603D098EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
8D67ED9898F9BE8652B8EE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Math.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Math.h"; sourceTree = "SOURCE_ROOT"; };
8D70A7277DDD7B7974E9F178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; };
8D7BDA5CDDCCD2F7BE67037A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ 8D936C8A4AFD6DE21F7212DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
8DA438AAAFBC64C11DE329B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
8DC36D3C2FF85554B208793F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
8DDCA7803625CF8DA817326A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
9CDE3A30398FB033E5AE8498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; };
9CED8F32B3718A90481EEDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
9D0B40C4BF8FD939C33E3D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9D17E29319340B927D1BC51D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
9E0670BC105AC4CAE8569F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
9E14C2C627D2F7B3C817468E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
9EB2AE5A72227301C365568F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
AAA2590D363C6DE624D320A6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
AAC3A67363234D151DA6BFF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; };
AAC68E522F44DA7AD25574C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
- AAEBF0976E57F4756E4AE31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
AAF6B6F2F129303FB8682109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
AB19F2DAD8930809EC63CF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; };
AB3C484314062E809AC41132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
B0DA13336DA07392C689323C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
B0E867D448609AFBA718729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeAndPolygonContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.h"; sourceTree = "SOURCE_ROOT"; };
B10A9A3B4A4C2507F514D5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
+ B13478BBA4B1E5D7A147042E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B13A8EA6840489EB88D77800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
B1608DC2A0212CE5D68585A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
B17EF578E9B736B1C5A5E8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
B305C104F5A573E8AFEFA763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
B31051BBF74FADEA48D39B22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; };
B341BC1AD30CCDDAD967EB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
- B3569FEFF39695CCD1E060AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B36D9787DD79D0DED8D791F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
B37E6323D9D3C3CA68672D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
B3976635944EC69837499F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
B6BAAFF929DCAD7D8D0D0C95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2DynamicTree.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.h"; sourceTree = "SOURCE_ROOT"; };
B731664FB9EEEBC618BAB5A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TimersAndEventsDemo.cpp; path = ../../Source/Demos/TimersAndEventsDemo.cpp; sourceTree = "SOURCE_ROOT"; };
B731BB6DF7C0468A42BBFEBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
- B745680D019FDB64D3A65508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B7AE6C1C50421EE6E02045DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; };
B84A6E341207FA1F60EB5AF1 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Resources/juce_icon.png"; sourceTree = "SOURCE_ROOT"; };
B8BDAFE861AD60BEC44D7ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
C9B2CD80C0B08241D7B4AAC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ChainAndPolygonContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp"; sourceTree = "SOURCE_ROOT"; };
C9C1FC1B4628557AE5C7E7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
C9DA15073F3BF252BAFF9D69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
- C9DAF05F2DAF78159647512B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
CA0E3166C77EB91555893286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
CAD3749B6A5BDB2BB00D3498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
CAD598C03B7C93B4AF912E66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; };
E3DC9C2BBC81EC0B035AA32C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; };
E3E3CD4660C20BE120E8BB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
E3EA85354D9EE49DD8F21968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ E3FC1C3B49CEAA7F4A500539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
E41A387D233A436131D7910E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
E4369FFC0E1A6547580D671F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
E463B9F4796E34B8082A4EE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
E5058DD199CEC42ECE922239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; };
E579D4E4BEF679C5E543E1EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
E5E02A3C4E942105FEDCA885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
- E6333272C33612B6A7D6073E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
E682A3A52BD15D5CA4933C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
E6AA10B691E44C8C1ED5A8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
E6E0ADA4E3632540A8ADC7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
F043752E829829CE2A364F39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; };
F04AC34216D2378E32F0B07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
F0ACCF70936A0BBA2A2AB289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F13AAF4D472479EEEDFDCF83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
F15C7935F9F6BC83AB51C529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; };
F1A30E40F7388D16BA35B0DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; };
F1A9F544E889DDA995415F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
+ F1C715FCE140547D074CDB96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
F1E995A1E00C6545A4C3297B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyMappingsDemo.cpp; path = ../../Source/Demos/KeyMappingsDemo.cpp; sourceTree = "SOURCE_ROOT"; };
F23C2044AD3C7D2B333ABE1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
F2609029E69B0B5CB8A24D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = export.h; path = "../../../../modules/juce_audio_formats/codecs/flac/export.h"; sourceTree = "SOURCE_ROOT"; };
DAD5A945FFB6D6920BF0D1F6 = {isa = PBXGroup; children = (
41B2F9FB15FB255A0DEDCA00, ); name = JuceDemo; sourceTree = "<group>"; };
2093B556368390D49E2342DD = {isa = PBXGroup; children = (
+ 673D3A9FEE5D83720B157FA5,
+ 3604A45AFB219B430055B832,
26A65E5DA320A85F90F1F58F,
2699A70E9610104CB8D30EC4,
C0F898298ABF2458D6C5AF17,
249A454A7EF1C3A07A66F453,
0349FEE5DA18067918536934,
249A454A7EF1C3A07A66F453, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 313B8FCE2372026DE010FD3D = {isa = PBXGroup; children = (
- C9DAF05F2DAF78159647512B,
- AAEBF0976E57F4756E4AE31E,
- 61F28F9E82D39EFF702793D9, ); name = "audio_cd"; sourceTree = "<group>"; };
- 4EDBEC466E17596FD31D793B = {isa = PBXGroup; children = (
+ 267D40B303F2E443F2EFBCB2 = {isa = PBXGroup; children = (
64F04FAD3BAAEE3D0BA279B8,
3ADE61DBFBB6901CE2F1DB17,
F53D12880F3354B4FFA480E5,
70A5CABA464ECFC6A8449A87,
A9BA8E7E434AC82F4604C773,
F3A9E0AE5ED05CA1AD6F56E5, ); name = "audio_io"; sourceTree = "<group>"; };
- 194C5968627521DBFFAD1E78 = {isa = PBXGroup; children = (
+ 3E9F15364B26C613D1ACC279 = {isa = PBXGroup; children = (
8A8CA6C781EFD5F0997E7507,
A539F7B46DD001B3BF03B16F,
3C1E6F7FBCCAFD6CCDBBB70C,
7416BF201FBFE7F978FD774A,
326FF20ABED3923B1418BB3F,
F753A7C2031832BB628CBB2B,
- B745680D019FDB64D3A65508,
217D243937EB2507494A4D34,
3BFEBBE9B8185F65D69A1721,
- 9D17E29319340B927D1BC51D,
- 402BC49CAFCFFF067A88F96A,
BAC70BABB531B634736585A9,
393A46D91FB481557E4DF792,
3ED5A2B64359FED05CF309C2,
BF3AF2E3B0D2184B766E1B26,
- E6333272C33612B6A7D6073E,
- B3569FEFF39695CCD1E060AC,
74D283E02B3A2A293678FF9C,
5FCCFCEE3F6C4C51BB581572,
52D7400A47B19848EFCB5B51, ); name = native; sourceTree = "<group>"; };
- 278366845208ACAA6EFD0C95 = {isa = PBXGroup; children = (
+ C6488EA637BD0CF9616278C7 = {isa = PBXGroup; children = (
E6E0FE3CBDBE2554B527CF60,
F1A9F544E889DDA995415F6D,
DDDB707A59DB489D195BF99D,
AAC68E522F44DA7AD25574C7, ); name = sources; sourceTree = "<group>"; };
B5BC400B03F73362F263D1FC = {isa = PBXGroup; children = (
- 313B8FCE2372026DE010FD3D,
- 4EDBEC466E17596FD31D793B,
- 194C5968627521DBFFAD1E78,
+ 267D40B303F2E443F2EFBCB2,
+ 3E9F15364B26C613D1ACC279,
E8E3D5C4CD168878BC935EE4,
- 278366845208ACAA6EFD0C95,
+ C6488EA637BD0CF9616278C7,
2EB0FBA99B4F54DC67C391B3,
806A7A3BFC684B4D9E25ABDF,
1E0453D8A9741695357567E3,
05AFEDB1F65A8C2C8E9620E0,
40D267701C8FF75121454D79,
05AFEDB1F65A8C2C8E9620E0, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- FE5FF3B06216363423589217 = {isa = PBXGroup; children = (
+ D6079BC9B7978DF66DFC5909 = {isa = PBXGroup; children = (
7BBD4B2D9A9EF13CE4357979,
4B310AA3DF4F6188B2E6FAF1,
E2127416236840EE3AF32D5C,
96F43E8EB364D3E40689D368, ); name = format; sourceTree = "<group>"; };
- CA6EE03DD8ACDF1A15DDE60C = {isa = PBXGroup; children = (
+ B2244C90A3E08334409168A2 = {isa = PBXGroup; children = (
+ 4F3386F75802D2519BF693FA,
D1E31AC47CCAB97418EB646D,
58FB0C4FE674CC5BB7B1DCA7,
8396EA11DD261260F1A96DF9,
9750423DB3DB6570382DA3C1,
9B9E034C5761096ACB8A76C3,
73267FE8DDE50FD1E6E31ED4,
+ 8D936C8A4AFD6DE21F7212DB,
41F76FF32798054E741CB90B,
8AE56D2F4E33B015C3D73EB8,
52A95B5754438C999343869A,
C8A42EE493A1DF2E283C245E, ); name = "format_types"; sourceTree = "<group>"; };
- 923A7DC58042E1A0FB99D390 = {isa = PBXGroup; children = (
- 6645C09E7FCFF0E498C3C400,
- 0F82F90D72AD536CC3DFE217,
+ 7A6CEC2BC413CC7B5A4280EC = {isa = PBXGroup; children = (
25412CD3F6855849D8B7FE98,
E3415348D45BF63A7CE8CF6F,
BE9B3F83B6037C848596286B,
631FD2CAE69A3D5DD8C2E1B6,
FC14A2D9F860584459B762F7, ); name = utilities; sourceTree = "<group>"; };
326CA890D2481B82367C6F3A = {isa = PBXGroup; children = (
- FE5FF3B06216363423589217,
- CA6EE03DD8ACDF1A15DDE60C,
- 923A7DC58042E1A0FB99D390,
+ D6079BC9B7978DF66DFC5909,
+ B2244C90A3E08334409168A2,
+ 7A6CEC2BC413CC7B5A4280EC,
F29CDD16F3F0451F4D5EE3EA,
453BF0685F30EA92520392E4,
27436247FFB648C821348A91,
6BD1D463E40A463C69C065C7,
66C5D2F0D9B9ABA7F4A386E8,
6BD1D463E40A463C69C065C7, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ 2A4189B06CF3EDB00AA8CDB5 = {isa = PBXGroup; children = (
+ 0B680B64FE7DE50C3E1A6B28,
+ 2311D21B14AB268CDEA6F606,
+ 1BECFBA14CA548C5E8F1CC72, ); name = "audio_cd"; sourceTree = "<group>"; };
54EE75FA42A15F716F409593 = {isa = PBXGroup; children = (
5A3C2298934C0F77CC60D336,
A90C7FF8F98D21494524B726,
EDE41A20104F2FF0339F0224 = {isa = PBXGroup; children = (
DDF02BD16454102C353FCD18,
5232B9F7E62CD5C41C3ABFED,
+ 10C9DC1661946DF49C304DAA,
8DA438AAAFBC64C11DE329B4,
+ F1C715FCE140547D074CDB96,
+ 2ECFDDD7B3C255B050C99A1E,
4151602FFED0B1AE7B36CEF4,
- 37355CCC05D407D665AA6604, ); name = native; sourceTree = "<group>"; };
- 39AB8377F208E9C9E3CC10A2 = {isa = PBXGroup; children = (
+ 37355CCC05D407D665AA6604,
+ 7212600D3FC9564179B991DD,
+ B13478BBA4B1E5D7A147042E, ); name = native; sourceTree = "<group>"; };
+ 1F6CB98105F462B4343D819C = {isa = PBXGroup; children = (
4140669501152D9FB9A244B9,
- E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = "<group>"; };
+ E1107017C2BF7ECC847DF01A,
+ F13AAF4D472479EEEDFDCF83,
+ E3FC1C3B49CEAA7F4A500539, ); name = players; sourceTree = "<group>"; };
BE68248271118CC1AB328F34 = {isa = PBXGroup; children = (
+ 2A4189B06CF3EDB00AA8CDB5,
54EE75FA42A15F716F409593,
EDE41A20104F2FF0339F0224,
- 39AB8377F208E9C9E3CC10A2,
+ 1F6CB98105F462B4343D819C,
8DC36D3C2FF85554B208793F,
89C47678AF8B46702EC0EE66,
5B466272F3B821BE88BAC205,
<ClCompile Include="..\..\Source\Demos\WidgetsDemo.cpp"/>\r
<ClCompile Include="..\..\Source\Demos\WindowsDemo.cpp"/>\r
<ClCompile Include="..\..\Source\Demos\XMLandJSONDemo.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\JuceDemoHeader.h"/>\r
<ClInclude Include="..\..\Source\Demos\AudioLiveScrollingDisplay.h"/>\r
<ClInclude Include="..\..\Source\Demos\WavefrontObjParser.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_box2d\box2d\Collision\Shapes\b2ChainShape.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Demos\XMLandJSONDemo.cpp">\r
<Filter>JuceDemo\Source\Demos</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\Demos\WavefrontObjParser.h">\r
<Filter>JuceDemo\Source\Demos</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
<ClCompile Include="..\..\Source\Demos\WidgetsDemo.cpp"/>\r
<ClCompile Include="..\..\Source\Demos\WindowsDemo.cpp"/>\r
<ClCompile Include="..\..\Source\Demos\XMLandJSONDemo.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\JuceDemoHeader.h"/>\r
<ClInclude Include="..\..\Source\Demos\AudioLiveScrollingDisplay.h"/>\r
<ClInclude Include="..\..\Source\Demos\WavefrontObjParser.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_box2d\box2d\Collision\Shapes\b2ChainShape.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Demos\XMLandJSONDemo.cpp">\r
<Filter>JuceDemo\Source\Demos</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\Demos\WavefrontObjParser.h">\r
<Filter>JuceDemo\Source\Demos</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
<ClCompile Include="..\..\Source\Demos\WidgetsDemo.cpp"/>\r
<ClCompile Include="..\..\Source\Demos\WindowsDemo.cpp"/>\r
<ClCompile Include="..\..\Source\Demos\XMLandJSONDemo.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\JuceDemoHeader.h"/>\r
<ClInclude Include="..\..\Source\Demos\AudioLiveScrollingDisplay.h"/>\r
<ClInclude Include="..\..\Source\Demos\WavefrontObjParser.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_box2d\box2d\Collision\Shapes\b2ChainShape.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Demos\XMLandJSONDemo.cpp">\r
<Filter>JuceDemo\Source\Demos</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\Demos\WavefrontObjParser.h">\r
<Filter>JuceDemo\Source\Demos</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
<ClCompile Include="..\..\Source\Demos\WidgetsDemo.cpp"/>\r
<ClCompile Include="..\..\Source\Demos\WindowsDemo.cpp"/>\r
<ClCompile Include="..\..\Source\Demos\XMLandJSONDemo.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\JuceDemoHeader.h"/>\r
<ClInclude Include="..\..\Source\Demos\AudioLiveScrollingDisplay.h"/>\r
<ClInclude Include="..\..\Source\Demos\WavefrontObjParser.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_box2d\box2d\Collision\Shapes\b2ChainShape.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Demos\XMLandJSONDemo.cpp">\r
<Filter>JuceDemo\Source\Demos</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\Demos\WavefrontObjParser.h">\r
<Filter>JuceDemo\Source\Demos</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
0B543B1E23AC1D74483632D2 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
0B54F1B0CB17ABD0C3E40658 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
0B5B86BA8E4C60B999A45034 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; };
+ 0B680B64FE7DE50C3E1A6B28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
0B82DF796E577809EB03B874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
0B9867D5674933AF753A2CF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
0BD502F6196E1FE7D9888A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
0F3360D13458198A3A88B1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
0F517EA07DBFE31E5C9367F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
0F518E75055A9D954B52DAC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
- 0F82F90D72AD536CC3DFE217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
0F88F061C51BE43F53B27094 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
0FC37E13A65710E3B9750BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
0FF2403BC335E710BE391DEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
106F27CF32C79FAEE768ABA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
10932841EA586B6969446549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
10B6D087BD60ECFE08F157AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
+ 10C9DC1661946DF49C304DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
10DF2A823B97BBC0BD840B9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
11005DEC79FC6A6057FCFA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
112164BE5067BB3274FDAED8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
1BBECE3C619C157F072748D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
1BE105DE7C738CCF8D6F2A54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
1BE21633CDF618F8D993F3BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
+ 1BECFBA14CA548C5E8F1CC72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
1C9321B265A6894A2E51CCD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
1CD8799B8784A91FC13E6641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
1D43B002D877CDF3DA85E602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
220344E43675A2A7D64D3A44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
2274B9A5BC921FE3B877D0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
22CF0BEE62FB551A68223B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2311D21B14AB268CDEA6F606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
234392598E5388F29CFD6B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; };
236E11A53CE927AAA6681994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
239F942F45950F5EDCB65A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
2E8E52B63BFBEF408E55B678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
2EB0FBA99B4F54DC67C391B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
2EB37CCC4FF8C40B015C0555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; };
+ 2ECFDDD7B3C255B050C99A1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
2EE8E77D21471265869C9B4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
2EFA7470343EBFC6E338F7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
2F1324CBA29604BD3E2003B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; };
35E35B099E2A7906A7AA2EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
35F5E95BA127E63BA136DACC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
360291D0346F776DDD3F43E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
+ 3604A45AFB219B430055B832 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
360FC75BBB17079A50D83F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; };
364888A8E80B59503995FE18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
3649E7CD2BD6A37FCF7D72F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; };
3F58D27B17343BF1030AF92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
3F8C313EC9C1E6E234108098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
3FBF109F3AD6DE221EFB1BA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
- 402BC49CAFCFFF067A88F96A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
408C5E78F7DE038844E18D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
409B6897E764E49BCB4A9277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
40B485A7CCC441C90EA92FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
4E892CB7335853F8FE91B26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; };
4ECEF417A3156D46464E6B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
4F2F2A6C3D3451EF896D71CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
+ 4F3386F75802D2519BF693FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
4F35D7B6179D00C91BB63AF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2WheelJoint.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2WheelJoint.cpp"; sourceTree = "SOURCE_ROOT"; };
4F56EAB8D09665602226930F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
4F6768F8EF9CB4A34A501966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
60EEA1369C0AD22C3EA05B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2CircleContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2CircleContact.cpp"; sourceTree = "SOURCE_ROOT"; };
6141692AC9282411091C8157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
6163B3DFD893F55523113A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 61F28F9E82D39EFF702793D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
6209255CD43AA4EDC1C955DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
6218A4FF5FB036AA0B7B77A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
6257CEA3C6EADCB94E25010F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
653C6D41CCDB5D556F00D17B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
653E2E92DFD20A216DC5E698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; };
65DA0DAA8BDCE57A54C1CF26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; };
- 6645C09E7FCFF0E498C3C400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
66C35D440440937001697D0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
66C5D2F0D9B9ABA7F4A386E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
66D5FD22DF1550A6CC9ABDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
66F8C7EB6520AB9439433DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 673D3A9FEE5D83720B157FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
67541565521633071C03BD35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
6808473BBCC2E4D8E2CA0E71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
6813D2FE050F9518A7BF3728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeShape.h; path = "../../../../modules/juce_box2d/box2d/Collision/Shapes/b2EdgeShape.h"; sourceTree = "SOURCE_ROOT"; };
71B9B558197CF23EC530D57F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2DistanceJoint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2DistanceJoint.h"; sourceTree = "SOURCE_ROOT"; };
71E5E55D76D83B711B6263C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
720C3CA9E28181C76434D465 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
+ 7212600D3FC9564179B991DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
72370D6EFB4C549A2745C2B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Joint.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Joints/b2Joint.h"; sourceTree = "SOURCE_ROOT"; };
728155B591553FEF209516CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
7286D6380C74734603D098EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
8D67ED9898F9BE8652B8EE2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2Math.h; path = "../../../../modules/juce_box2d/box2d/Common/b2Math.h"; sourceTree = "SOURCE_ROOT"; };
8D70A7277DDD7B7974E9F178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; };
8D7BDA5CDDCCD2F7BE67037A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ 8D936C8A4AFD6DE21F7212DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
8DA438AAAFBC64C11DE329B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
8DC36D3C2FF85554B208793F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
8DDCA7803625CF8DA817326A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
9CDE3A30398FB033E5AE8498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; };
9CED8F32B3718A90481EEDE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; };
9D0B40C4BF8FD939C33E3D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9D17E29319340B927D1BC51D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
9E0670BC105AC4CAE8569F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
9E14C2C627D2F7B3C817468E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
9EB2AE5A72227301C365568F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
AA967AC6E8FDCD7502272DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
AAC3A67363234D151DA6BFF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = window.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.c"; sourceTree = "SOURCE_ROOT"; };
AAC68E522F44DA7AD25574C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
- AAEBF0976E57F4756E4AE31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
AAF6B6F2F129303FB8682109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
AB19F2DAD8930809EC63CF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; };
AB3C484314062E809AC41132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
B0DA13336DA07392C689323C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
B0E867D448609AFBA718729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2EdgeAndPolygonContact.h; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2EdgeAndPolygonContact.h"; sourceTree = "SOURCE_ROOT"; };
B10A9A3B4A4C2507F514D5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
+ B13478BBA4B1E5D7A147042E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B13A8EA6840489EB88D77800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
B1608DC2A0212CE5D68585A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
B17EF578E9B736B1C5A5E8BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
B305C104F5A573E8AFEFA763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
B31051BBF74FADEA48D39B22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; };
B341BC1AD30CCDDAD967EB0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
- B3569FEFF39695CCD1E060AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B36D9787DD79D0DED8D791F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
B37E6323D9D3C3CA68672D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
B3976635944EC69837499F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
B6BAAFF929DCAD7D8D0D0C95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = b2DynamicTree.h; path = "../../../../modules/juce_box2d/box2d/Collision/b2DynamicTree.h"; sourceTree = "SOURCE_ROOT"; };
B731664FB9EEEBC618BAB5A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = TimersAndEventsDemo.cpp; path = ../../Source/Demos/TimersAndEventsDemo.cpp; sourceTree = "SOURCE_ROOT"; };
B731BB6DF7C0468A42BBFEBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
- B745680D019FDB64D3A65508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B7AE6C1C50421EE6E02045DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; };
B84A6E341207FA1F60EB5AF1 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "juce_icon.png"; path = "../../Resources/juce_icon.png"; sourceTree = "SOURCE_ROOT"; };
B8BDAFE861AD60BEC44D7ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
C9B2CD80C0B08241D7B4AAC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = b2ChainAndPolygonContact.cpp; path = "../../../../modules/juce_box2d/box2d/Dynamics/Contacts/b2ChainAndPolygonContact.cpp"; sourceTree = "SOURCE_ROOT"; };
C9C1FC1B4628557AE5C7E7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
C9DA15073F3BF252BAFF9D69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
- C9DAF05F2DAF78159647512B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
CA0E3166C77EB91555893286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
CAD3749B6A5BDB2BB00D3498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
CAD598C03B7C93B4AF912E66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; };
E3DC9C2BBC81EC0B035AA32C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BluetoothMidiDevicePairingDialogue.h"; path = "../../../../modules/juce_audio_utils/gui/juce_BluetoothMidiDevicePairingDialogue.h"; sourceTree = "SOURCE_ROOT"; };
E3E3CD4660C20BE120E8BB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
E3EA85354D9EE49DD8F21968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ E3FC1C3B49CEAA7F4A500539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
E41A387D233A436131D7910E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
E4369FFC0E1A6547580D671F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
E463B9F4796E34B8082A4EE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
E5058DD199CEC42ECE922239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; };
E579D4E4BEF679C5E543E1EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
E5E02A3C4E942105FEDCA885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
- E6333272C33612B6A7D6073E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
E682A3A52BD15D5CA4933C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
E6AA10B691E44C8C1ED5A8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
E6E0ADA4E3632540A8ADC7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
F043752E829829CE2A364F39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; };
F04AC34216D2378E32F0B07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
F0ACCF70936A0BBA2A2AB289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F13AAF4D472479EEEDFDCF83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
F15C7935F9F6BC83AB51C529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_video.cpp"; path = "../../../../modules/juce_video/juce_video.cpp"; sourceTree = "SOURCE_ROOT"; };
F1A30E40F7388D16BA35B0DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; };
F1A9F544E889DDA995415F6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
+ F1C715FCE140547D074CDB96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
F1E995A1E00C6545A4C3297B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyMappingsDemo.cpp; path = ../../Source/Demos/KeyMappingsDemo.cpp; sourceTree = "SOURCE_ROOT"; };
F2066125C7C0B19E1065BF1D = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = JuceDemo/Images.xcassets; sourceTree = "SOURCE_ROOT"; };
F23C2044AD3C7D2B333ABE1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
DAD5A945FFB6D6920BF0D1F6 = {isa = PBXGroup; children = (
41B2F9FB15FB255A0DEDCA00, ); name = JuceDemo; sourceTree = "<group>"; };
2093B556368390D49E2342DD = {isa = PBXGroup; children = (
+ 673D3A9FEE5D83720B157FA5,
+ 3604A45AFB219B430055B832,
26A65E5DA320A85F90F1F58F,
2699A70E9610104CB8D30EC4,
C0F898298ABF2458D6C5AF17,
249A454A7EF1C3A07A66F453,
0349FEE5DA18067918536934,
249A454A7EF1C3A07A66F453, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 313B8FCE2372026DE010FD3D = {isa = PBXGroup; children = (
- C9DAF05F2DAF78159647512B,
- AAEBF0976E57F4756E4AE31E,
- 61F28F9E82D39EFF702793D9, ); name = "audio_cd"; sourceTree = "<group>"; };
- 4EDBEC466E17596FD31D793B = {isa = PBXGroup; children = (
+ 267D40B303F2E443F2EFBCB2 = {isa = PBXGroup; children = (
64F04FAD3BAAEE3D0BA279B8,
3ADE61DBFBB6901CE2F1DB17,
F53D12880F3354B4FFA480E5,
70A5CABA464ECFC6A8449A87,
A9BA8E7E434AC82F4604C773,
F3A9E0AE5ED05CA1AD6F56E5, ); name = "audio_io"; sourceTree = "<group>"; };
- 194C5968627521DBFFAD1E78 = {isa = PBXGroup; children = (
+ 3E9F15364B26C613D1ACC279 = {isa = PBXGroup; children = (
8A8CA6C781EFD5F0997E7507,
A539F7B46DD001B3BF03B16F,
3C1E6F7FBCCAFD6CCDBBB70C,
7416BF201FBFE7F978FD774A,
326FF20ABED3923B1418BB3F,
F753A7C2031832BB628CBB2B,
- B745680D019FDB64D3A65508,
217D243937EB2507494A4D34,
3BFEBBE9B8185F65D69A1721,
- 9D17E29319340B927D1BC51D,
- 402BC49CAFCFFF067A88F96A,
BAC70BABB531B634736585A9,
393A46D91FB481557E4DF792,
3ED5A2B64359FED05CF309C2,
BF3AF2E3B0D2184B766E1B26,
- E6333272C33612B6A7D6073E,
- B3569FEFF39695CCD1E060AC,
74D283E02B3A2A293678FF9C,
5FCCFCEE3F6C4C51BB581572,
52D7400A47B19848EFCB5B51, ); name = native; sourceTree = "<group>"; };
- 278366845208ACAA6EFD0C95 = {isa = PBXGroup; children = (
+ C6488EA637BD0CF9616278C7 = {isa = PBXGroup; children = (
E6E0FE3CBDBE2554B527CF60,
F1A9F544E889DDA995415F6D,
DDDB707A59DB489D195BF99D,
AAC68E522F44DA7AD25574C7, ); name = sources; sourceTree = "<group>"; };
B5BC400B03F73362F263D1FC = {isa = PBXGroup; children = (
- 313B8FCE2372026DE010FD3D,
- 4EDBEC466E17596FD31D793B,
- 194C5968627521DBFFAD1E78,
+ 267D40B303F2E443F2EFBCB2,
+ 3E9F15364B26C613D1ACC279,
E8E3D5C4CD168878BC935EE4,
- 278366845208ACAA6EFD0C95,
+ C6488EA637BD0CF9616278C7,
2EB0FBA99B4F54DC67C391B3,
806A7A3BFC684B4D9E25ABDF,
1E0453D8A9741695357567E3,
05AFEDB1F65A8C2C8E9620E0,
40D267701C8FF75121454D79,
05AFEDB1F65A8C2C8E9620E0, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- FE5FF3B06216363423589217 = {isa = PBXGroup; children = (
+ D6079BC9B7978DF66DFC5909 = {isa = PBXGroup; children = (
7BBD4B2D9A9EF13CE4357979,
4B310AA3DF4F6188B2E6FAF1,
E2127416236840EE3AF32D5C,
96F43E8EB364D3E40689D368, ); name = format; sourceTree = "<group>"; };
- CA6EE03DD8ACDF1A15DDE60C = {isa = PBXGroup; children = (
+ B2244C90A3E08334409168A2 = {isa = PBXGroup; children = (
+ 4F3386F75802D2519BF693FA,
D1E31AC47CCAB97418EB646D,
58FB0C4FE674CC5BB7B1DCA7,
8396EA11DD261260F1A96DF9,
9750423DB3DB6570382DA3C1,
9B9E034C5761096ACB8A76C3,
73267FE8DDE50FD1E6E31ED4,
+ 8D936C8A4AFD6DE21F7212DB,
41F76FF32798054E741CB90B,
8AE56D2F4E33B015C3D73EB8,
52A95B5754438C999343869A,
C8A42EE493A1DF2E283C245E, ); name = "format_types"; sourceTree = "<group>"; };
- 923A7DC58042E1A0FB99D390 = {isa = PBXGroup; children = (
- 6645C09E7FCFF0E498C3C400,
- 0F82F90D72AD536CC3DFE217,
+ 7A6CEC2BC413CC7B5A4280EC = {isa = PBXGroup; children = (
25412CD3F6855849D8B7FE98,
E3415348D45BF63A7CE8CF6F,
BE9B3F83B6037C848596286B,
631FD2CAE69A3D5DD8C2E1B6,
FC14A2D9F860584459B762F7, ); name = utilities; sourceTree = "<group>"; };
326CA890D2481B82367C6F3A = {isa = PBXGroup; children = (
- FE5FF3B06216363423589217,
- CA6EE03DD8ACDF1A15DDE60C,
- 923A7DC58042E1A0FB99D390,
+ D6079BC9B7978DF66DFC5909,
+ B2244C90A3E08334409168A2,
+ 7A6CEC2BC413CC7B5A4280EC,
F29CDD16F3F0451F4D5EE3EA,
453BF0685F30EA92520392E4,
27436247FFB648C821348A91,
6BD1D463E40A463C69C065C7,
66C5D2F0D9B9ABA7F4A386E8,
6BD1D463E40A463C69C065C7, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ 2A4189B06CF3EDB00AA8CDB5 = {isa = PBXGroup; children = (
+ 0B680B64FE7DE50C3E1A6B28,
+ 2311D21B14AB268CDEA6F606,
+ 1BECFBA14CA548C5E8F1CC72, ); name = "audio_cd"; sourceTree = "<group>"; };
54EE75FA42A15F716F409593 = {isa = PBXGroup; children = (
5A3C2298934C0F77CC60D336,
A90C7FF8F98D21494524B726,
EDE41A20104F2FF0339F0224 = {isa = PBXGroup; children = (
DDF02BD16454102C353FCD18,
5232B9F7E62CD5C41C3ABFED,
+ 10C9DC1661946DF49C304DAA,
8DA438AAAFBC64C11DE329B4,
+ F1C715FCE140547D074CDB96,
+ 2ECFDDD7B3C255B050C99A1E,
4151602FFED0B1AE7B36CEF4,
- 37355CCC05D407D665AA6604, ); name = native; sourceTree = "<group>"; };
- 39AB8377F208E9C9E3CC10A2 = {isa = PBXGroup; children = (
+ 37355CCC05D407D665AA6604,
+ 7212600D3FC9564179B991DD,
+ B13478BBA4B1E5D7A147042E, ); name = native; sourceTree = "<group>"; };
+ 1F6CB98105F462B4343D819C = {isa = PBXGroup; children = (
4140669501152D9FB9A244B9,
- E1107017C2BF7ECC847DF01A, ); name = players; sourceTree = "<group>"; };
+ E1107017C2BF7ECC847DF01A,
+ F13AAF4D472479EEEDFDCF83,
+ E3FC1C3B49CEAA7F4A500539, ); name = players; sourceTree = "<group>"; };
BE68248271118CC1AB328F34 = {isa = PBXGroup; children = (
+ 2A4189B06CF3EDB00AA8CDB5,
54EE75FA42A15F716F409593,
EDE41A20104F2FF0339F0224,
- 39AB8377F208E9C9E3CC10A2,
+ 1F6CB98105F462B4343D819C,
8DC36D3C2FF85554B208793F,
89C47678AF8B46702EC0EE66,
5B466272F3B821BE88BAC205,
<?xml version="1.0" encoding="UTF-8"?>\r
\r
<JUCERPROJECT id="sBBIzr" name="JuceDemo" projectType="guiapp" version="3.0.0"\r
- bundleIdentifier="com.yourcompany.JuceDemo" jucerVersion="4.2.4"\r
+ bundleIdentifier="com.yourcompany.JuceDemo" jucerVersion="4.3.0"\r
defines="JUCE_UNIT_TESTS=1" includeBinaryInAppConfig="1">\r
<EXPORTFORMATS>\r
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK"\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
~WindowsDemo()\r
{\r
+ if (dialogWindow != nullptr)\r
+ {\r
+ dialogWindow->exitModalState (0);\r
+\r
+ // we are shutting down: can't wait for the message manager\r
+ // to eventually delete this\r
+ delete dialogWindow;\r
+ }\r
+\r
closeAllWindows();\r
\r
closeWindowsButton.removeListener (this);\r
// null when the component that it points to is deleted.\r
Array< Component::SafePointer<Component> > windows;\r
TextButton showWindowsButton, closeWindowsButton;\r
+ SafePointer<DialogWindow> dialogWindow;\r
\r
void showAllWindows()\r
{\r
options.useNativeTitleBar = false;\r
options.resizable = true;\r
\r
- DialogWindow* dw = options.launchAsync();\r
- dw->centreWithSize (300, 200);\r
+ dialogWindow = options.launchAsync();\r
+\r
+ if (dialogWindow != nullptr)\r
+ dialogWindow->centreWithSize (300, 200);\r
}\r
\r
void showDocumentWindow (bool native)\r
<?xml version="1.0" encoding="UTF-8"?>\r
\r
<JUCERPROJECT id="tTAKTK1s" name="HelloWorld" projectType="guiapp" juceFolder="../../../juce"\r
- jucerVersion="4.2.4" version="1.0.0" bundleIdentifier="com.roli.jucehelloworld"\r
+ jucerVersion="4.3.0" version="1.0.0" bundleIdentifier="com.roli.jucehelloworld"\r
companyName="ROLI Ltd." includeBinaryInAppConfig="1">\r
<EXPORTFORMATS>\r
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK"\r
131E8EC2DA7B6E7AA27A6D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
135B6889C5DB189F0BD5E5D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; };
1369558576DC42B0155A6C77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ 13838A8CB723B8C2D98C39CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
143EBC60EF7CD518951B3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
148CD006F32196E97DB2E15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
149DDBEC3F5A2D3920A7C974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
1EE89A61F329252103888090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
1F08617D548E6203B649283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
1F2C3B261C75AFE0815B4F6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
+ 1F7A3383D99B40FA3DEC7FFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
1F7B60B2FB93D6B84720AA08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
1F80940BD86054B4AA0369A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
1F9241B5C167C0419181B5E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
27FBCF906E8474782CD440E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisfile.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisfile.c"; sourceTree = "SOURCE_ROOT"; };
281EDA11196A278E6AB4B7FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
288DA9E4FCC2655A572FAA92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
+ 290AA42D08E3AA742752712C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
294E38D35B22AEDC556CDDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
29565FA867CDE49665585AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
29FC11849A8427D248E2D21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
2AAAEBE53A14BA001544D40D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; };
2B6313BEE19952B09B892F97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; };
2B700EED388A0D5BCD27119C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; };
- 2B8110812EDB60E35F64ECC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
2BC851F3F90C739945A358E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
2BF9277EE9D23E6756DDEAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
2BFA2FF47A3FFF09F64BE024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
2D096B9C273751E74770F8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
2D362C8276D9E1F71BCB722A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; };
2DDDB0D5D31784DE584658A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; };
+ 2E0F4A30D1F14024A550180E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
2E156BE3E6DBAA7865B0F3C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
2E19514EB12ED8C007D02BED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
2E216EC91202D5C65AE63F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; };
4339E4AC89EC3FA5C5F4CCD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; };
435805944C64D39060796749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; };
4383EC8C6E41BF29C8C6D228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 43A17A66255ED4F283664EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
43B00D88E9C199CA90226421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
43C676DCCF3EF43C3E461DBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
44144EB6BBF8C91984B24B26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; };
44F7EDE4220F31B641051082 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
459847CA0F57CBD0381236E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; };
45F17D16348AC92ABF12AE4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 46A0C738E9BCD17C509A16DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
46C74383053813CCDDCCD9B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
46EE2A1578E998C3FDAF9E90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; };
4709326ADD1AEB0FAE3F0E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
49100F48E2E4004CF5473D49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
495873A0E1AC07121E46390C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
498D7E415C0E24045E8CC34A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; };
- 49E4C6DD3893245B406C90BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
49F2723942EAE756E456ECF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
4A13A7A56AAF148FE41452A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; };
4A150B258184228CDB6E3065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; };
4FF28C35D19E3CDC3482C13A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; };
503591B75F9192D30B1F4FB3 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; };
508ECF11083AD7BE530896DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 510B93589D7028C44FD37586 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
511C8FD7DF51C5D0ECA87751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; };
516542BB2882E91D48F930CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
51FB54FB93F826E8B4207DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; };
5984276E446D5C9A035D9FC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
59BE5C6F0A513D6CCF776C33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; };
59C5684A0F1049099993BD31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; };
- 5A28DED9BBEDC2E03C6AECFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
5A2CA150FB56C7A955847790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; };
5A69C1F35C3FB44D42654DC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
5A917183D906C359DC72C343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
5CE908DBC0AD9E238B960303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
5D638C51B38B6330EF32D131 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitrate.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.c"; sourceTree = "SOURCE_ROOT"; };
5D9714FDF6CC158ED499F67A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 5DA875ED1131E5FF6529B0CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
5DAA0C0CDF8A539F6FCEFAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
5DAC8E916AE370AAAB459391 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
5DB02EF0C00A522D11A12B39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; };
6CB3FD103C45C1C043D4F2BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; };
6CB919D0572583A79239C10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
6CE9869F76A0BDBBAAFC2AD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; };
+ 6D26985E06804C5898D76934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
6D45A9F8D00AF9F3FBF43394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
6DBAA8FC487AE3C94BF0EA9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; };
6E515F0982E797C04C1B4612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; };
6E52C52B8794D97378E70B01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; };
6E59323F21F221983F6BE6BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
6E74B73FC38D61B2E9838178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; };
- 6E993A8C1ED9ECC3852FE787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
6E9C575B96F65E6DDD4F62B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; };
6EC90B8CF8A53493F8D3AA92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
6EEB164FC6C3D32E231A15C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; };
807FB66424227F43DB1E720A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
80888401EE0F8AC038266306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
80A4083D5F12CF76E89D3772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 80DA8A6E51A23964A6590918 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
80F5466F1230049E73655A6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; };
80F85C2133103AF36A427B0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
8105E14C122672883486A562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
81979AE0B2796459699657AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; };
81D922DED89925E8726146B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
81F0106A4C2C836DF2C1AEB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; };
- 821E625B06C44D6189F224D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
829C1B8BE77DFC515A7AA26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; };
82AB090E4FDB3EE467CC1D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
832DA01918B8312FEC0909CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
A373D65BDAB25C19EC6A05AE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
A39AD70F4C86A88879AEE98E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; };
A3D61FF6E3B3F021C831EDC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../JuceLibraryCode/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
+ A420B0D8E9000CA9FEAF3FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
A421A66ACC049BE5BC10FBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
A441178DDFDC6458E849F535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; };
A4C684C69EC69A6FCA57E4F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; };
B3B09D930294921308A25479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; };
B3CBFBDBA3189C6F33B4C980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
B3D740F535AE6C7211B7F346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B3D88349C4847B6DA14B4025 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
B4066FBC70F48956A5613954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; };
B4627ACD9DAE391505B47CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
B492A15E9ED021566DDDF527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
C034BC82CE4EB8F2568629E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
C0624E7928A6685285622AA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; };
C0636FF79924D1DE1FC5F8CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C14EA710477CC00504D0E191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
C1C8087ECE896B20639D5F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
C1CDE97113A08C356493680A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
C225FEE2956F65B6510C2B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; };
C35854B72C47F401808A93D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; };
C3C6ED0B48A81623AAE57AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
C3DAB6E6D5D1C1CF8AD15E8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; };
+ C472030396732D01233AF341 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
C495993112F10E9129851E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
C5603BEA9F9E568BD449783E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
C580FA81A05C83C55A6C47F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
C7D441D167E579678DA387D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
C80BA373E25BE1EBCA733FDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; };
C897DAA514552248B4BEB8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
- C8CF6019DC71E9EBC2AF7640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
C8DA48A20797AFCC6970367A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; };
C8DB56C59EEE6F10765F1880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; };
C90B228D8C62EDA5A9D41885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
DCC6CD0D96DF5D56628DC513 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
DCEDE5F91C5C42694AA7A4DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
DCF2C05564880AC60C437BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; };
- DD27A9D5B621B219B88F1B4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
DD5088088E2F96F2A90F846C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
DD814F83C89F94E61871C009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; };
DDD9956A34EECD84627E4D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
E012ACB1A57FAAF6CB476741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; };
E026A53FF9F9EF195C0EE710 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
E0513862E1966494CD8EC68A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
- E0AFFDE86D2593F1FF21FEFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
E121AC6E7E98A5CAFDA979A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
+ E1A8FA9614478E018DE0AEC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
E1CB32FBE6F6E310599E2D26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; };
E1E2599D827CB64258EC9EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
E1EFD62896E03997AD0B77AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; };
F4515E036F6B680D6D6DC8C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
F47E8376EC7BDC4528239031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; };
F4EF587736A179433A6784CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
+ F5FA52BAA25B53C55E0819A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
F6346CA0038C6218ACC926B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; };
F6892B7A65D34CEA069065ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
F6A72C0BF37C9ECC315FEE8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
C69BCE512948465235B05858 = {isa = PBXGroup; children = (
47DF0B5F0B14AE411808F7CE, ); name = MPETest; sourceTree = "<group>"; };
669197F48B0F3B2AAFBF8510 = {isa = PBXGroup; children = (
+ C472030396732D01233AF341,
+ E1A8FA9614478E018DE0AEC6,
A2579D66249C62C1DEE92E1D,
DC40896B34539B4CDFD98A83,
033CF8E14902A81FF64A0EF7,
9EE84FBC6D21836516BE409A,
38E1ABBD84C884FA0415656D,
9EE84FBC6D21836516BE409A, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 9715D5D55ADC761BD275BB83 = {isa = PBXGroup; children = (
- 49E4C6DD3893245B406C90BB,
- E0AFFDE86D2593F1FF21FEFC,
- 5A28DED9BBEDC2E03C6AECFB, ); name = "audio_cd"; sourceTree = "<group>"; };
- B7C9B9E48E3DDB5C4072393B = {isa = PBXGroup; children = (
+ 81127D2CEBE2CB1059FC0256 = {isa = PBXGroup; children = (
3FC1061502C287C1D0099B21,
44E830CE4F46500243B0F095,
334367A18F54C928DC48ACA8,
001595A5B01C0F1EBB38054F,
58587BC050F0D9A45940FE62,
570B9DC717F39CD9455B6A4C, ); name = "audio_io"; sourceTree = "<group>"; };
- 8927996E11C9683DC5A52CCA = {isa = PBXGroup; children = (
+ 8274785C4509E199D28E733D = {isa = PBXGroup; children = (
00331FA93EEBE239AAF33926,
4F371455D5C271A26FB4272C,
0AB0EB7DB8293C2AB03F001B,
44524BF33AC80E3F57C0522B,
6401226633396ABB651ACF9A,
FDC14145C1B7FCA7797DF38A,
- 6E993A8C1ED9ECC3852FE787,
F8A78774C3D5B868C9B284F4,
B66835ECFEB59CEE77211F94,
- 80DA8A6E51A23964A6590918,
- 821E625B06C44D6189F224D4,
22FF2F2FF1B698E1712DE7BF,
CD4D4588493F1466A53E7CD0,
DE9C13FD08D8717984C5306B,
2D096B9C273751E74770F8A6,
- C8CF6019DC71E9EBC2AF7640,
- 5DA875ED1131E5FF6529B0CA,
A5136F150AC3C3D48C8B5BEF,
08B60F139B2A313DB825ED18,
34F6D81CDDA0736524995278, ); name = native; sourceTree = "<group>"; };
- 633C2B7CC86C2CEE349CD083 = {isa = PBXGroup; children = (
+ 82CBD62AC5AAA624FF9BA3DA = {isa = PBXGroup; children = (
C00E40B39075B28FE2A6CFA8,
99BFCDD644103FBB6DB8C288,
D254890C63ADC9C6812BDF93,
925C571487EEB3DCE49D5767, ); name = sources; sourceTree = "<group>"; };
6FA8D51AF51DE1C29574C6FE = {isa = PBXGroup; children = (
- 9715D5D55ADC761BD275BB83,
- B7C9B9E48E3DDB5C4072393B,
- 8927996E11C9683DC5A52CCA,
+ 81127D2CEBE2CB1059FC0256,
+ 8274785C4509E199D28E733D,
69B2810F8447AC8A2871B70B,
- 633C2B7CC86C2CEE349CD083,
+ 82CBD62AC5AAA624FF9BA3DA,
70AAA12FEFD150E74AD50E6B,
B50A8EE15B6ED3D2A655C0F4,
832DA01918B8312FEC0909CB,
BA74CBA07F7E462B824D155B,
9A95B88EAC68EEDBB4A6EA80,
BA74CBA07F7E462B824D155B, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 2CE54F86505AC08BDFD45F8A = {isa = PBXGroup; children = (
+ A8981BEB6B597952A46DCD0F = {isa = PBXGroup; children = (
DE96C095E423324993DCAC8E,
3DA4C013F3A87FB9066D9A06,
DBFBB4E07B66E9FB6EFC0CA4,
FC14C5899F93765A74125329, ); name = format; sourceTree = "<group>"; };
- BE0B8102B71E4BD8A79AB489 = {isa = PBXGroup; children = (
+ 6FD199A2E06AD37C571782EA = {isa = PBXGroup; children = (
+ B3D88349C4847B6DA14B4025,
F7369DF5ABFBA560A5FD5E71,
DD814F83C89F94E61871C009,
807FB66424227F43DB1E720A,
07B0233D286E466E20AC2887,
8D9DDE982773DF3829A5D2EC,
3BC401D5C6F376B3E8A98BE9,
+ 46A0C738E9BCD17C509A16DA,
9845CA2D31B9A30F25D375FC,
6E9C575B96F65E6DDD4F62B8,
AC3A1878FFA5E36CC67EF642,
B5EA0961ABF5E581D4DA94C1, ); name = "format_types"; sourceTree = "<group>"; };
- 433916B0C60FC4242279D58C = {isa = PBXGroup; children = (
- DD27A9D5B621B219B88F1B4E,
- 2B8110812EDB60E35F64ECC2,
+ 74F71FC31AF129E052A12770 = {isa = PBXGroup; children = (
DEE0007C38531B281E20A2A3,
51FB54FB93F826E8B4207DAA,
8B4618262B4BB0A436C51B6C,
9C0AAFB1E56B8FF6CB8F614B,
39D44FF56380385B8384F81C, ); name = utilities; sourceTree = "<group>"; };
AB48A58D44AEFCA3F21E8D14 = {isa = PBXGroup; children = (
- 2CE54F86505AC08BDFD45F8A,
- BE0B8102B71E4BD8A79AB489,
- 433916B0C60FC4242279D58C,
+ A8981BEB6B597952A46DCD0F,
+ 6FD199A2E06AD37C571782EA,
+ 74F71FC31AF129E052A12770,
DDFC041F5673957EF6B15DF7,
D8411DCED586C411659DD219,
F7B1E4C83A89F0E29167C1B6,
3B86FA979F365227E1EB9592,
08DC2C6ABC78DEA6ADDA07C7,
3B86FA979F365227E1EB9592, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ 01A2E6D065B5E6BE80B9516B = {isa = PBXGroup; children = (
+ A420B0D8E9000CA9FEAF3FC3,
+ F5FA52BAA25B53C55E0819A5,
+ 1F7A3383D99B40FA3DEC7FFA, ); name = "audio_cd"; sourceTree = "<group>"; };
67FE6CAE821B9B4AC7CB857B = {isa = PBXGroup; children = (
D6DBFE153ED66744A79FD7C7,
85608CBD070076019F0A5AAB,
82E28370162EDDDC675F20EE = {isa = PBXGroup; children = (
07986389020D0AB5D139286C,
D3FE216B5EAC55834446D659,
+ C14EA710477CC00504D0E191,
5FF0AE9C309D0F00EE9D93B8,
+ 6D26985E06804C5898D76934,
+ 510B93589D7028C44FD37586,
5975D093AA16540D75DFC05E,
- 360380932997DAF4065415CC, ); name = native; sourceTree = "<group>"; };
- F15499AE6540A19BE22CAF04 = {isa = PBXGroup; children = (
+ 360380932997DAF4065415CC,
+ 13838A8CB723B8C2D98C39CD,
+ 43A17A66255ED4F283664EF9, ); name = native; sourceTree = "<group>"; };
+ 94151A26FF568ECA80A3DEE0 = {isa = PBXGroup; children = (
BE353035E54BBD637701274C,
- 703E93210140FC510B4C30B7, ); name = players; sourceTree = "<group>"; };
+ 703E93210140FC510B4C30B7,
+ 2E0F4A30D1F14024A550180E,
+ 290AA42D08E3AA742752712C, ); name = players; sourceTree = "<group>"; };
B41158B4484EA0875E08A9DA = {isa = PBXGroup; children = (
+ 01A2E6D065B5E6BE80B9516B,
67FE6CAE821B9B4AC7CB857B,
82E28370162EDDDC675F20EE,
- F15499AE6540A19BE22CAF04,
+ 94151A26FF568ECA80A3DEE0,
D0E359CEC9A5C871AB81ACEE,
7E380BA307E4A53923F32491,
E121AC6E7E98A5CAFDA979A5,
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\Visualiser.h"/>\r
<ClInclude Include="..\..\Source\ZoneColourPicker.h"/>\r
<ClInclude Include="..\..\Source\ZoneLayoutComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>MPETest\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\ZoneLayoutComponent.h">\r
<Filter>MPETest\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
<JUCERPROJECT id="IilE7R" name="MPETest" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.MPETest" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="VCQQcn" name="MPETest">\r
<GROUP id="{D43238F0-992F-BC5A-F1AA-31BBBD3D17B0}" name="Source">\r
<FILE id="uRxR7V" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>\r
2818403E44A47115DC30F2B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; };
281A6D0D7525F65789FB49EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
284E61081459EB34B6743390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; };
- 28568BBF30F1DB6038A18401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
289C8993673B68777CF3A968 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
290313E8DFE0C4FC406C2360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
2924636B45EA9F587AC1A567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
2FBA7B33A6753CD6EDA3C44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
3003B712285C45FB9A9C5824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
305C4EC192FB709CAA24530E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 30A2EDF3A883AAFC28BCECC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
31372D990ACF6E86F0ED05EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
31706C2C6BC3F1FE61C6F336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
3180C44DD400DFD8661590AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
327A0154589CF5C0484C8CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
32D72BFD938BAA4EB61A9070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
32F4F8A3445B9914A5540BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 33104422BC9CDD317B7B5AAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
335345F690175AAB7FE2CC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
33615429CC44DA129BC89CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
33A739D1722B039FE1B42B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
44D61A00C52DC3276CA8EB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
4502D948455152F0E748249F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
452DA077C32F269A990CAF7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
- 455301B4814BBF4C9EC1B4B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
45586BE1687078BDB44C33F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; };
459BA6D8DE834F3A84690357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
45AEBBCAC5AEBF62F00C26B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
4618C199691241A73C70E796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
- 469C174FFE7BE215B1B7EA9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
46DF62BED3D050BABA0AD01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; };
47079AC015AF94DFE476F7A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; };
477E47C2C3B9D1856815B5EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
4B236544955E197FD4AAFEFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; };
4B612CF023FAAAB715A7CE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
4B616298D27D8AFCAF94A62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4B7A781842F9216B76592F8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
4BD929A35245C5C8E1128201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
- 4BDA1EF1F7CF9256A68D333B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
4C1C0EABAF9943E25BB843E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
4C5027FD6B2075613AD35069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
4D8B25F49672278DAD980D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
4EA1329ABB28BF7D1E2BCEE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
4EE8D2A556262F45A8E4C002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; };
4F74069552CD0B8306159E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 4FDF6A190A29AE6AD6A298DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
4FFC567D2E9E988FF7D6C9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; };
5001ED9DCB2695E7C7FB575D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
5029A627A11CDF63AF4F5B8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
68F2AA7450B6A9D910015FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
6913E864125CD2963640666A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
692760FF53C119B0ADCEBC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 69590714D8DD24D85F9AF43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
69D6EDDF240FE265F3963EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
6AB611520CD0FD289530661E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; };
6B0C6075941C9912A095E582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; };
78E7E3A7B7E1E3E0363CC3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; };
7902D056FCF6B15CC6CA6C09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
790D8A8B48EFC796C7DE318B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 79168A44A2C96C5D45A41803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
7926FFCD77E9709AED437153 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
7977C9703BF976B2CC300105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
7983BE181790E622062ABDA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
- 79A3983C899D364ADCAEAA80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
79C23DAB6FB460C2A29A7815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
79F607C4907089E574F59974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
7A223F4215B0F750291066C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
7FA4E3D2ACE64C064B0BFC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
7FCE792C7AB12179255A503B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
7FF73F42C8BA1F00D7397605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
+ 80C9B4221D052A2DCFEE45D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
8171E819672599C2594371EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
81A990BB88C606DFA9303366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; };
81FAF5A8B764D00191519633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
+ 820FA50E4D2DA612DA60BE2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
823030E8AD6BB20860C4DFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
829E26BF13D9D5728057226C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; };
82E3B133D0E15FC5A0467749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
9C3D731E59E142B877B3B40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
9CDD6AA35716672F050A28C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
9CE0F9D7C49B64C29A699E3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9D113DD2FB3121F8AB55F1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
9D8AA3AA516550BD848893D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
9DA13E7352FB376508315D83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; };
9DE1DEB9CB034DBF7F1603BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
9F1A34ABA1498389A7C3F428 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexBox.h"; path = "../../../../modules/juce_gui_basics/layout/juce_FlexBox.h"; sourceTree = "SOURCE_ROOT"; };
9FB590DB65B12105CB3331E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
A01EB1FCF6F4D00B58A8D111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
- A0318E5733F0BDA8D1001ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
A05E3F519D89E105A140B887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
A0804FA567BA563088B8F1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
A0A17D0546958E5428D46022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
BF1D2F31EFE400A6DCAB8596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; };
BF6EA9101F25F8058F083E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; };
BF837DA7E78077E6BF21AF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
+ BF9388AFE8A12DB39756403B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
BFC0BB07575856E51D86BCC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; };
BFF3AE3A9F6BB64BE5616A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
C01A55BA9329E4EF3C1EA9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; };
C12A4B017FACBA4EC31EA7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
C1719CE1BA73519723E11902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
C1994F6906975E2337549F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
- C1B1CD3695D2E9AB7E0E6EE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
C1D757F71096002EA476DBC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
C25DBA75B27D857652748702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
C2CED429B672EB6A5D299F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; };
C4F2C0004FBF55A51C7E421C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; };
C4F8FC1F6A6212470D6F4EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
C54484F67D536E24BF7FC8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
- C5D519CB43C72FB9313DC9A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
C61C59FC15608FD1C65107F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
C6A2E5AE96FB8DE7F76D10E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
C704CA2145896AAB100E6D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
D30B210335C1D7126A1A78E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
D33A70241E8C2D22B6409385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
D39E4EA15D8933D05802B88E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ D40BBE68BFB38FD231B99097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
D41AD73241EA4B8843A39FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
D42CBEE7365F30EF15294894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
D4C3B2CECDA6BE1056EB21E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
D6757C5ABE80386BEA1DB2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; };
D73B9B0649119D3BEC204139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
D7423C164AF5168754CFCDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ D75484680A009F6983AA2C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D760C86183D59FED3E3008B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
D784894B4F162B3576815364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
D7EF1A8F35C7DA552BC9AD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
D8D135DCCC6EF939F0CD2A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
D8EB90535879E3AF3FE0A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
D90126A3E2B027C248C91016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
- D92E5CDC95DA238F6C250C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D93CBFE9E05B4DC324582F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
D98B4710CA9D9EEA80D3850C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
D9ACF6590CE093AE1B687493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
DB9ADD80EF2DCECC21876922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
DB9BF231B5007FC6051A639E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
DBC3334D0BE4DE348E479B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
+ DBC3B1BC0E895E46A569C155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
DBE644AB8DD7935E701F364A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
DBEB99D494A9620FE06F48B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
DBF39E057C900A4ADC624E8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; };
DFB53C51F58D5F2CC3B488C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
E0223132DBB8B309FE9741F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
E04EBB578FEA27D7F991CD8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
+ E07CE231F286911260E1480D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
E09D3480D6B6B3C01844FB10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; };
E112F8849FCF66DD34FD61A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
E13F0F8F7F6F633D94F8852E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
EA4E07555263482179C7F6B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; };
EA4E8E6FDF3A151074F821EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; };
EA7B437CA63EDE546A390088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EAB490AE4BEDC7F13AE355B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
EB3D111F4DAFB2768889A744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; };
EB452E3DF6494293D9AE9F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
EBE0A72F14E52F8350607C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
AEB39FD252263E85F2FFE6BC = {isa = PBXGroup; children = (
418C92E17E99E2DA47AAFC04, ); name = MidiTest; sourceTree = "<group>"; };
B5CDD98F416875D88E0F003C = {isa = PBXGroup; children = (
+ 33104422BC9CDD317B7B5AAE,
+ DBC3B1BC0E895E46A569C155,
B998A89F9F963F8DAA82AE1D,
EF29543541EAA4ADFF5D8733,
DD45E70E19FB20AA19459C2F,
D7423C164AF5168754CFCDB9,
06251F5E80644992958A3B61,
D7423C164AF5168754CFCDB9, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- F5669118702A484FF328581D = {isa = PBXGroup; children = (
- C1B1CD3695D2E9AB7E0E6EE1,
- 79A3983C899D364ADCAEAA80,
- 28568BBF30F1DB6038A18401, ); name = "audio_cd"; sourceTree = "<group>"; };
- 8D5B377541CA7EF473149176 = {isa = PBXGroup; children = (
+ 45F57726E1B6CBAC050A81FA = {isa = PBXGroup; children = (
6B0C6075941C9912A095E582,
4F74069552CD0B8306159E3F,
6FDD6A7F82D671CAF2B1EEB8,
19CC5553744E7E198B3043F4,
33E57CC37341A05F0115E359,
C1D757F71096002EA476DBC0, ); name = "audio_io"; sourceTree = "<group>"; };
- F8C013435E756C40EE057047 = {isa = PBXGroup; children = (
+ 209897ED54C89AD836B9D169 = {isa = PBXGroup; children = (
90D02D7896DC67E6A5AA7465,
7124C55033AA878E30CE4E7D,
74AD7815C4FE6E500B9DCA10,
50835B89AEF3E18AE107A63B,
3B14F255BA42DDF1D3E88474,
369F33DB5CB81F96AB857B90,
- D92E5CDC95DA238F6C250C99,
0D09B1F17B1E52F3DC674E74,
E5E6F01851E06CF96D17357D,
- 9D113DD2FB3121F8AB55F1F2,
- 455301B4814BBF4C9EC1B4B9,
C4947E82321AA68E066FE63F,
CD5BCB9C1385C9DFE561C639,
E6E5F1032BA5258B0D26DBF0,
518F3F3EBE3BCB07BE44A605,
- A0318E5733F0BDA8D1001ACB,
- C5D519CB43C72FB9313DC9A4,
8171E819672599C2594371EB,
63F06F3A718D0C1313A78321,
37E63175C424B7005BED7899, ); name = native; sourceTree = "<group>"; };
- E1D78C26B3577E54D46AC672 = {isa = PBXGroup; children = (
+ B4CEA3F930E3CB84F44A7813 = {isa = PBXGroup; children = (
7FA4E3D2ACE64C064B0BFC11,
A4AF80059F74FF502CAB1655,
16B6619A5A552495ADC91C2E,
3003B712285C45FB9A9C5824, ); name = sources; sourceTree = "<group>"; };
DBC38E2F8B6D4D0E1E4084E2 = {isa = PBXGroup; children = (
- F5669118702A484FF328581D,
- 8D5B377541CA7EF473149176,
- F8C013435E756C40EE057047,
+ 45F57726E1B6CBAC050A81FA,
+ 209897ED54C89AD836B9D169,
03731DD887E39866E64BF538,
- E1D78C26B3577E54D46AC672,
+ B4CEA3F930E3CB84F44A7813,
97B0C158C22662A6485AB92E,
2235F2008813426E4E917B2E,
AE002D113A5E494C827E27FE,
D55687B02DF776608D011DE6,
CE3FB8659C598AA9C97F8387,
D55687B02DF776608D011DE6, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- D8B84D217D23060C303AD58E = {isa = PBXGroup; children = (
+ F0B134236ABA2415C1869E21 = {isa = PBXGroup; children = (
F016087BCC0EC5E166B45215,
AAB742E00619AE4A2CA4A222,
BAD4511258CEEAD73C748782,
AC10CC6D18D4F05E307BA85C, ); name = format; sourceTree = "<group>"; };
- 2DE9597FD0BB24130ADDF87F = {isa = PBXGroup; children = (
+ 1CDAB35995655C2BB1EFB46E = {isa = PBXGroup; children = (
+ E07CE231F286911260E1480D,
612FC77FBD64CC1F6ABEC287,
D86E055DC747CF4917E4981C,
A0A17D0546958E5428D46022,
68CAC12255032C9598B836DF,
004A7D1BC57F2136FF31D767,
3AC1657491C449D35317D152,
+ BF9388AFE8A12DB39756403B,
15CD600731386519A6F59ABF,
0C7A1C47389DD6A1DE34D831,
8781C749016774125396B268,
B6F1399CBD41DC2FF546CA8C, ); name = "format_types"; sourceTree = "<group>"; };
- 8F1397FC23B4E2D7EBE89C39 = {isa = PBXGroup; children = (
- 4BDA1EF1F7CF9256A68D333B,
- 469C174FFE7BE215B1B7EA9E,
+ 1AD92B063FEE69C686F8EE7D = {isa = PBXGroup; children = (
06156CF92A104236B6EDFD6E,
B0D01B3871AF10230066353C,
A356604B55EA59630DE40653,
829E26BF13D9D5728057226C,
C9441DECAB98635D65D32950, ); name = utilities; sourceTree = "<group>"; };
08208586E6517BD2DF67E1BB = {isa = PBXGroup; children = (
- D8B84D217D23060C303AD58E,
- 2DE9597FD0BB24130ADDF87F,
- 8F1397FC23B4E2D7EBE89C39,
+ F0B134236ABA2415C1869E21,
+ 1CDAB35995655C2BB1EFB46E,
+ 1AD92B063FEE69C686F8EE7D,
F44F0295F333972B21F8639F,
FEA13DA86CBA0709150CFACA,
6D2622C22212A1A6064B6D59,
53774BD198186D5292A6C79E,
67B176E3836E1CDE0701D21F,
53774BD198186D5292A6C79E, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ E4362749C56C6AC4B5CF6EEE = {isa = PBXGroup; children = (
+ D40BBE68BFB38FD231B99097,
+ D75484680A009F6983AA2C6A,
+ 80C9B4221D052A2DCFEE45D9, ); name = "audio_cd"; sourceTree = "<group>"; };
EF733A99D7C39C6D26EB5385 = {isa = PBXGroup; children = (
49F24776F527FD9F6D11F8D8,
8509A57DB41C806BD6825C89,
0F3A3BAEA6D2D3FEFE21FC80 = {isa = PBXGroup; children = (
414963BDCCA2040627721C78,
2158477C497C9435DC12DD65,
+ 30A2EDF3A883AAFC28BCECC1,
847E7E00243B8FC7BCCE69D7,
+ 4FDF6A190A29AE6AD6A298DB,
+ EAB490AE4BEDC7F13AE355B8,
BF1D2F31EFE400A6DCAB8596,
- 5001ED9DCB2695E7C7FB575D, ); name = native; sourceTree = "<group>"; };
- 31391E217ED9A93DBE93059F = {isa = PBXGroup; children = (
+ 5001ED9DCB2695E7C7FB575D,
+ 820FA50E4D2DA612DA60BE2B,
+ 69590714D8DD24D85F9AF43D, ); name = native; sourceTree = "<group>"; };
+ F68537BFEACF2924C0574DAF = {isa = PBXGroup; children = (
10F8E2A5426A365F3193B251,
- 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = "<group>"; };
+ 70C902F9BB9ABFEE77FECEA1,
+ 79168A44A2C96C5D45A41803,
+ 4B7A781842F9216B76592F8F, ); name = players; sourceTree = "<group>"; };
481DB3EC1543DF78D91EEE0B = {isa = PBXGroup; children = (
+ E4362749C56C6AC4B5CF6EEE,
EF733A99D7C39C6D26EB5385,
0F3A3BAEA6D2D3FEFE21FC80,
- 31391E217ED9A93DBE93059F,
+ F68537BFEACF2924C0574DAF,
5C05025316455E4D0B941951,
5FD667A17A029680D6D2F986,
0D1C2E36AC03421206996124,
<ItemGroup>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
<ClCompile Include="..\..\Source\MainComponent.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\MainComponent.cpp">\r
<Filter>MidiTest\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\MainComponent.h">\r
<Filter>MidiTest\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
2818403E44A47115DC30F2B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; };
281A6D0D7525F65789FB49EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
284E61081459EB34B6743390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; };
- 28568BBF30F1DB6038A18401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
289C8993673B68777CF3A968 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
290313E8DFE0C4FC406C2360 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
2924636B45EA9F587AC1A567 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
2FBA7B33A6753CD6EDA3C44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
3003B712285C45FB9A9C5824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; };
305C4EC192FB709CAA24530E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 30A2EDF3A883AAFC28BCECC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
31372D990ACF6E86F0ED05EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
31706C2C6BC3F1FE61C6F336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
3180C44DD400DFD8661590AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
327A0154589CF5C0484C8CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
32D72BFD938BAA4EB61A9070 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
32F4F8A3445B9914A5540BBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 33104422BC9CDD317B7B5AAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
335345F690175AAB7FE2CC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
33615429CC44DA129BC89CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
33A739D1722B039FE1B42B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
44D61A00C52DC3276CA8EB0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
4502D948455152F0E748249F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
452DA077C32F269A990CAF7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
- 455301B4814BBF4C9EC1B4B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
45586BE1687078BDB44C33F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; };
459BA6D8DE834F3A84690357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
45AEBBCAC5AEBF62F00C26B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
4618C199691241A73C70E796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
- 469C174FFE7BE215B1B7EA9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
46DF62BED3D050BABA0AD01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; };
47079AC015AF94DFE476F7A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc32.c; path = "../../../../modules/juce_core/zip/zlib/crc32.c"; sourceTree = "SOURCE_ROOT"; };
477E47C2C3B9D1856815B5EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
4B236544955E197FD4AAFEFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; };
4B612CF023FAAAB715A7CE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
4B616298D27D8AFCAF94A62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4B7A781842F9216B76592F8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
4BD929A35245C5C8E1128201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
- 4BDA1EF1F7CF9256A68D333B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
4C1C0EABAF9943E25BB843E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
4C5027FD6B2075613AD35069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
4D8B25F49672278DAD980D37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
4EA1329ABB28BF7D1E2BCEE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
4EE8D2A556262F45A8E4C002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; };
4F74069552CD0B8306159E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 4FDF6A190A29AE6AD6A298DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
4FFC567D2E9E988FF7D6C9F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; };
5001ED9DCB2695E7C7FB575D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
5029A627A11CDF63AF4F5B8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
68F2AA7450B6A9D910015FD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
6913E864125CD2963640666A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
692760FF53C119B0ADCEBC85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 69590714D8DD24D85F9AF43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
69D6EDDF240FE265F3963EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
6AB611520CD0FD289530661E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcomapi.c"; sourceTree = "SOURCE_ROOT"; };
6B0C6075941C9912A095E582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; };
78E7E3A7B7E1E3E0363CC3A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; };
7902D056FCF6B15CC6CA6C09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
790D8A8B48EFC796C7DE318B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 79168A44A2C96C5D45A41803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
7926FFCD77E9709AED437153 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
7977C9703BF976B2CC300105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
7983BE181790E622062ABDA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
- 79A3983C899D364ADCAEAA80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
79C23DAB6FB460C2A29A7815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; };
79F607C4907089E574F59974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
7A223F4215B0F750291066C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
7FA4E3D2ACE64C064B0BFC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
7FCE792C7AB12179255A503B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
7FF73F42C8BA1F00D7397605 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
+ 80C9B4221D052A2DCFEE45D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
8171E819672599C2594371EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
81A990BB88C606DFA9303366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; };
81FAF5A8B764D00191519633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngread.c"; sourceTree = "SOURCE_ROOT"; };
+ 820FA50E4D2DA612DA60BE2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
823030E8AD6BB20860C4DFDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
829E26BF13D9D5728057226C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorValueTreeState.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.cpp"; sourceTree = "SOURCE_ROOT"; };
82E3B133D0E15FC5A0467749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
9C3D731E59E142B877B3B40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
9CDD6AA35716672F050A28C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
9CE0F9D7C49B64C29A699E3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9D113DD2FB3121F8AB55F1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
9D8AA3AA516550BD848893D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
9DA13E7352FB376508315D83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; };
9DE1DEB9CB034DBF7F1603BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
9FB590DB65B12105CB3331E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
9FBD6E11D5668E77AF50973E = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = MidiTest/Images.xcassets; sourceTree = "SOURCE_ROOT"; };
A01EB1FCF6F4D00B58A8D111 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
- A0318E5733F0BDA8D1001ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
A05E3F519D89E105A140B887 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
A0804FA567BA563088B8F1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
A0A17D0546958E5428D46022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
BF1D2F31EFE400A6DCAB8596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; };
BF6EA9101F25F8058F083E53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdtrans.c"; sourceTree = "SOURCE_ROOT"; };
BF837DA7E78077E6BF21AF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
+ BF9388AFE8A12DB39756403B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
BFC0BB07575856E51D86BCC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; };
BFF3AE3A9F6BB64BE5616A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
C01A55BA9329E4EF3C1EA9F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; };
C12A4B017FACBA4EC31EA7CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
C1719CE1BA73519723E11902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
C1994F6906975E2337549F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; };
- C1B1CD3695D2E9AB7E0E6EE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
C1D757F71096002EA476DBC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
C25DBA75B27D857652748702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
C2CED429B672EB6A5D299F68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; };
C4F2C0004FBF55A51C7E421C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; };
C4F8FC1F6A6212470D6F4EEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
C54484F67D536E24BF7FC8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
- C5D519CB43C72FB9313DC9A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
C61C59FC15608FD1C65107F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
C6A2E5AE96FB8DE7F76D10E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
C704CA2145896AAB100E6D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
D30B210335C1D7126A1A78E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
D33A70241E8C2D22B6409385 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
D39E4EA15D8933D05802B88E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ D40BBE68BFB38FD231B99097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
D41AD73241EA4B8843A39FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
D42CBEE7365F30EF15294894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
D4C3B2CECDA6BE1056EB21E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
D6757C5ABE80386BEA1DB2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; };
D73B9B0649119D3BEC204139 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
D7423C164AF5168754CFCDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
+ D75484680A009F6983AA2C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D760C86183D59FED3E3008B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
D784894B4F162B3576815364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
D7EF1A8F35C7DA552BC9AD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
D8D135DCCC6EF939F0CD2A26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; };
D8EB90535879E3AF3FE0A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
D90126A3E2B027C248C91016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
- D92E5CDC95DA238F6C250C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D93CBFE9E05B4DC324582F20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
D98B4710CA9D9EEA80D3850C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
D9ACF6590CE093AE1B687493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
DB9ADD80EF2DCECC21876922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
DB9BF231B5007FC6051A639E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
DBC3334D0BE4DE348E479B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
+ DBC3B1BC0E895E46A569C155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
DBE644AB8DD7935E701F364A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
DBEB99D494A9620FE06F48B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
DBF39E057C900A4ADC624E8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; };
DFB53C51F58D5F2CC3B488C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
E0223132DBB8B309FE9741F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
E04EBB578FEA27D7F991CD8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
+ E07CE231F286911260E1480D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
E09D3480D6B6B3C01844FB10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = uncompr.c; path = "../../../../modules/juce_core/zip/zlib/uncompr.c"; sourceTree = "SOURCE_ROOT"; };
E112F8849FCF66DD34FD61A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
E13F0F8F7F6F633D94F8852E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
EA4E07555263482179C7F6B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; };
EA4E8E6FDF3A151074F821EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; };
EA7B437CA63EDE546A390088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ EAB490AE4BEDC7F13AE355B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
EB3D111F4DAFB2768889A744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; };
EB452E3DF6494293D9AE9F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
EBE0A72F14E52F8350607C3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
AEB39FD252263E85F2FFE6BC = {isa = PBXGroup; children = (
418C92E17E99E2DA47AAFC04, ); name = MidiTest; sourceTree = "<group>"; };
B5CDD98F416875D88E0F003C = {isa = PBXGroup; children = (
+ 33104422BC9CDD317B7B5AAE,
+ DBC3B1BC0E895E46A569C155,
B998A89F9F963F8DAA82AE1D,
EF29543541EAA4ADFF5D8733,
DD45E70E19FB20AA19459C2F,
D7423C164AF5168754CFCDB9,
06251F5E80644992958A3B61,
D7423C164AF5168754CFCDB9, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- F5669118702A484FF328581D = {isa = PBXGroup; children = (
- C1B1CD3695D2E9AB7E0E6EE1,
- 79A3983C899D364ADCAEAA80,
- 28568BBF30F1DB6038A18401, ); name = "audio_cd"; sourceTree = "<group>"; };
- 8D5B377541CA7EF473149176 = {isa = PBXGroup; children = (
+ 45F57726E1B6CBAC050A81FA = {isa = PBXGroup; children = (
6B0C6075941C9912A095E582,
4F74069552CD0B8306159E3F,
6FDD6A7F82D671CAF2B1EEB8,
19CC5553744E7E198B3043F4,
33E57CC37341A05F0115E359,
C1D757F71096002EA476DBC0, ); name = "audio_io"; sourceTree = "<group>"; };
- F8C013435E756C40EE057047 = {isa = PBXGroup; children = (
+ 209897ED54C89AD836B9D169 = {isa = PBXGroup; children = (
90D02D7896DC67E6A5AA7465,
7124C55033AA878E30CE4E7D,
74AD7815C4FE6E500B9DCA10,
50835B89AEF3E18AE107A63B,
3B14F255BA42DDF1D3E88474,
369F33DB5CB81F96AB857B90,
- D92E5CDC95DA238F6C250C99,
0D09B1F17B1E52F3DC674E74,
E5E6F01851E06CF96D17357D,
- 9D113DD2FB3121F8AB55F1F2,
- 455301B4814BBF4C9EC1B4B9,
C4947E82321AA68E066FE63F,
CD5BCB9C1385C9DFE561C639,
E6E5F1032BA5258B0D26DBF0,
518F3F3EBE3BCB07BE44A605,
- A0318E5733F0BDA8D1001ACB,
- C5D519CB43C72FB9313DC9A4,
8171E819672599C2594371EB,
63F06F3A718D0C1313A78321,
37E63175C424B7005BED7899, ); name = native; sourceTree = "<group>"; };
- E1D78C26B3577E54D46AC672 = {isa = PBXGroup; children = (
+ B4CEA3F930E3CB84F44A7813 = {isa = PBXGroup; children = (
7FA4E3D2ACE64C064B0BFC11,
A4AF80059F74FF502CAB1655,
16B6619A5A552495ADC91C2E,
3003B712285C45FB9A9C5824, ); name = sources; sourceTree = "<group>"; };
DBC38E2F8B6D4D0E1E4084E2 = {isa = PBXGroup; children = (
- F5669118702A484FF328581D,
- 8D5B377541CA7EF473149176,
- F8C013435E756C40EE057047,
+ 45F57726E1B6CBAC050A81FA,
+ 209897ED54C89AD836B9D169,
03731DD887E39866E64BF538,
- E1D78C26B3577E54D46AC672,
+ B4CEA3F930E3CB84F44A7813,
97B0C158C22662A6485AB92E,
2235F2008813426E4E917B2E,
AE002D113A5E494C827E27FE,
D55687B02DF776608D011DE6,
CE3FB8659C598AA9C97F8387,
D55687B02DF776608D011DE6, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- D8B84D217D23060C303AD58E = {isa = PBXGroup; children = (
+ F0B134236ABA2415C1869E21 = {isa = PBXGroup; children = (
F016087BCC0EC5E166B45215,
AAB742E00619AE4A2CA4A222,
BAD4511258CEEAD73C748782,
AC10CC6D18D4F05E307BA85C, ); name = format; sourceTree = "<group>"; };
- 2DE9597FD0BB24130ADDF87F = {isa = PBXGroup; children = (
+ 1CDAB35995655C2BB1EFB46E = {isa = PBXGroup; children = (
+ E07CE231F286911260E1480D,
612FC77FBD64CC1F6ABEC287,
D86E055DC747CF4917E4981C,
A0A17D0546958E5428D46022,
68CAC12255032C9598B836DF,
004A7D1BC57F2136FF31D767,
3AC1657491C449D35317D152,
+ BF9388AFE8A12DB39756403B,
15CD600731386519A6F59ABF,
0C7A1C47389DD6A1DE34D831,
8781C749016774125396B268,
B6F1399CBD41DC2FF546CA8C, ); name = "format_types"; sourceTree = "<group>"; };
- 8F1397FC23B4E2D7EBE89C39 = {isa = PBXGroup; children = (
- 4BDA1EF1F7CF9256A68D333B,
- 469C174FFE7BE215B1B7EA9E,
+ 1AD92B063FEE69C686F8EE7D = {isa = PBXGroup; children = (
06156CF92A104236B6EDFD6E,
B0D01B3871AF10230066353C,
A356604B55EA59630DE40653,
829E26BF13D9D5728057226C,
C9441DECAB98635D65D32950, ); name = utilities; sourceTree = "<group>"; };
08208586E6517BD2DF67E1BB = {isa = PBXGroup; children = (
- D8B84D217D23060C303AD58E,
- 2DE9597FD0BB24130ADDF87F,
- 8F1397FC23B4E2D7EBE89C39,
+ F0B134236ABA2415C1869E21,
+ 1CDAB35995655C2BB1EFB46E,
+ 1AD92B063FEE69C686F8EE7D,
F44F0295F333972B21F8639F,
FEA13DA86CBA0709150CFACA,
6D2622C22212A1A6064B6D59,
53774BD198186D5292A6C79E,
67B176E3836E1CDE0701D21F,
53774BD198186D5292A6C79E, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ E4362749C56C6AC4B5CF6EEE = {isa = PBXGroup; children = (
+ D40BBE68BFB38FD231B99097,
+ D75484680A009F6983AA2C6A,
+ 80C9B4221D052A2DCFEE45D9, ); name = "audio_cd"; sourceTree = "<group>"; };
EF733A99D7C39C6D26EB5385 = {isa = PBXGroup; children = (
49F24776F527FD9F6D11F8D8,
8509A57DB41C806BD6825C89,
0F3A3BAEA6D2D3FEFE21FC80 = {isa = PBXGroup; children = (
414963BDCCA2040627721C78,
2158477C497C9435DC12DD65,
+ 30A2EDF3A883AAFC28BCECC1,
847E7E00243B8FC7BCCE69D7,
+ 4FDF6A190A29AE6AD6A298DB,
+ EAB490AE4BEDC7F13AE355B8,
BF1D2F31EFE400A6DCAB8596,
- 5001ED9DCB2695E7C7FB575D, ); name = native; sourceTree = "<group>"; };
- 31391E217ED9A93DBE93059F = {isa = PBXGroup; children = (
+ 5001ED9DCB2695E7C7FB575D,
+ 820FA50E4D2DA612DA60BE2B,
+ 69590714D8DD24D85F9AF43D, ); name = native; sourceTree = "<group>"; };
+ F68537BFEACF2924C0574DAF = {isa = PBXGroup; children = (
10F8E2A5426A365F3193B251,
- 70C902F9BB9ABFEE77FECEA1, ); name = players; sourceTree = "<group>"; };
+ 70C902F9BB9ABFEE77FECEA1,
+ 79168A44A2C96C5D45A41803,
+ 4B7A781842F9216B76592F8F, ); name = players; sourceTree = "<group>"; };
481DB3EC1543DF78D91EEE0B = {isa = PBXGroup; children = (
+ E4362749C56C6AC4B5CF6EEE,
EF733A99D7C39C6D26EB5385,
0F3A3BAEA6D2D3FEFE21FC80,
- 31391E217ED9A93DBE93059F,
+ F68537BFEACF2924C0574DAF,
5C05025316455E4D0B941951,
5FD667A17A029680D6D2F986,
0D1C2E36AC03421206996124,
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
<JUCERPROJECT id="wHE0ay" name="MidiTest" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.MidiTest" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="s3xxCh" name="MidiTest">\r
<GROUP id="{7D29F5BC-1B05-AE8F-9202-5CF152AB1103}" name="Source">\r
<FILE id="kpmJ3T" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>\r
001CA7EAF68DA335025FF01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
008187B05C0B633EE28ABE56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; };
00B6967A854897C9D379AAF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
+ 0131E0400ACEAE9A43EB7410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
015F1D2D5F78A62C40AD1B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
01641AA0EEDDC5059FC28EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; };
0186D1FA79D760C30575B900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; };
07EA9462917C02F0805971A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; };
0833B2844B74E56A7F375B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
084DC67E578B4943704DF6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; };
- 085FC01079EE77D52D1ED893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
08AF4D7E9DE1F55B2D45C8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
08CCA1B6C1824CE73281A769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
08EF9C1A184B049FA45DF95F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
0CFDFC8B0EE4F67F3140A95E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
0D166F0A45739D0B47E30998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; };
0DA4C3278F6482DB3E59D9BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
- 0DB078E2523AD3ABE77A95F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
0DBCEADB9A04439E66BE176E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; };
0DD52BE61E4DCA9575F5649F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
0DE14A1FA22B83FEA8DA8AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
0FD691EB4DE6A5517085781E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
101637AD0747ECC48982FDAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
10170D04538387CCCDC7C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
+ 104FB72946023A2BCD7CDA68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
1070CD5C289E13B829661610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
10D5F9D8D44A252288D19F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; };
10E1C3C331DF35D35508268B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; };
15FB19A9D4DE60608E5E123A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
1666AE6ED73DD0DD85574640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
16A3BFE2C5679BDD49A4F424 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ 172AC543059511E973AC26DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
174350B11E9207B7038E2BFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
174E22634C4ADC7062948B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; };
17CBE6045D10290C77948F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; };
18134B1B0216D1307B929E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
+ 18195CD57544ED4FD38FBBB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
181C1A360C01EFF44A3BB18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; };
18874E042E7799AE612BA77B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; };
18CE8447EE68998F8B8A73A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; };
1D58402ABF05B2EF162769C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
1D68D7036540404EFB82B35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
1D9299636D0100B772E26000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
- 1DE2689A8FBB19007E892906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
1DE819F8D407705C57EACD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
1E206D97A7B91545FE0D27CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
1E56FD9A78DFADF577A7254E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; };
23F3CBC829C0363C6C760957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; };
24711D9742CB31F36F71A36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
24FD7D015B6C46BDFC98E2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 251914B31DC251BAC6F7FEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
251F11F4407E34F0F88AA1A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
25B024942AF178A196E7C978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
25DEDA8C9F94A6C8DFC8E53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SharedCanvas.h; path = ../../Source/SharedCanvas.h; sourceTree = "SOURCE_ROOT"; };
48A798B2097EF59A8A53F1F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; };
48C10DE9B2C0B0B6D874D2D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
48EBF61EDF71322807F5AF4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 499799C9CE8BAC0FA107CD88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
49EEE3FAA41505E20A1587BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
4A0C286E6CB8D31A8C048A88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
4A167D0C24B56DA19E2B0722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; };
4BBD6A0FAD396B6C5DCE01B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
4BE9A59D703E4CA4661252C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
4C0B3826ABACE371F8681E61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; };
+ 4C695109411FC3A003FD4B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
4C816FF16C50AA5C87C8F7D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
4CAA4581DD7C06B9C83C5D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
4CC3F911E2539DE7F36A932D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; };
4D5112F69E06189A9318A69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
4D823926C18ED8ABD95035DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
4E0A623AEE60F18C081F1C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; };
- 4E1AFB1AF80B103D7392B44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
4E1C2B9C5692A96700C1A898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
4E451FB3A0D657682324CEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
4E8939ACD0CB224ABD3B3C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
4F742E04B5AD194395A593C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; };
- 4FEBD56CB96D3AE8E963098C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
4FF648D72D6F1A78956CDA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Demos.h; path = ../../Source/Demos.h; sourceTree = "SOURCE_ROOT"; };
5016A40C1850BBD55197D30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; };
50385CBC88D67EF57CBAF9F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
648610AB6A110B1ACD64CDAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; };
648E0A0D55BE1D012C1D89B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
649BBA6C8D29853266E8D2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
+ 6524CBDBD6DCA7275B0BB009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
65285D35AA75D110D0A95851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
65746338AF0FDE118A3D02C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
665FF99D0D1BF3755FE7B803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; };
7E79FB8A1C88684D9961874F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; };
7E7E7B2174155F2FA49E3E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; };
7E97D82B3BAD4487DDA963ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
- 7E9DE536E504F1EDDF5532C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
7F23EFF727A93D53C8654687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
7F313C042BD6C3DD38A63B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
7F64D580AA191FBC2A74E943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
806774C77EBD99266FE68583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
80B9B913DD55B0BD215AEC86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
80D63910D7196D7DF849A239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 81299F3A379565F712A8EC01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
814EF15FC580DB2A5F426071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
81B6BAADB8841B72ABDCEF5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
81D44AFD0558021B3028A3FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
8396C2624822FA5705134669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
839E82BEDF149242C2A71F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; };
83E38E7D0548FCDF7B150F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
- 84BD8495CE3D747852CB0463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
84DFB13BE79A86FC987A63C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
84E425B4918D8B9D5F312551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; };
84E76068048CB52123545F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; };
8FD227DE98DB156FBBC8DD1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
9002A3D1CD5740D9C50A834C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
902C20CD7DEB18B69F0E1BE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 902C76B35DDC3098CA446E84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
90348A625874E8DD3DCBF583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; };
904D7BEE6279D62983E57DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; };
905451CEDBDE4649B1DFB267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; };
95139F961E2C7FB6421D04A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
956F789B3DDD41EB09972AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
95738AF2EAF17A2FA9B8E069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 95F7AF8BEA8D9118DC65429F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
95F94292250AF5E2964A6498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; };
965402AAAAF0A0D920DC7C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
96664A31FD92DEA43D231D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; };
A0FA5EDB7F91219859E4DBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
A118AD624CE30228686D51F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; };
A119D66FC1AD1E7BA31EFA46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
- A127A78E54490885EA61239C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
A146C5D4033808713BAC0F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
A15770CD33E47FF114451904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; };
A198E2290B15C62F68D21050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
A39FC18F44E512E5047DBB15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
A42479D8A3AE579891E8741A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; };
A42F8BC3DE25F1CC15D383E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A48FF146F20C06E828B7B7CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
A4A507E78D1082DF5EDA723E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
A4C7C1D626E8F444FE84674C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
A5360675341F06F73AF96D1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
A94C6EB19B9BF24D83054D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; };
A9FE7AE10A02329F18BAF8BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
AA5DEFC178005AF6703DD8C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; };
+ AA5DF3668A6FFE484E7E5952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
AABBDC405E85A02000A3991B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
AB0C82D0A432008DA9B02B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
AB26977EA68E27838B54A8E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
AB6D9BF527527D3143CAC2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
AB7E120B33CE6C4EA5AE1C03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
AB8F2253604F5601588684E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ ABF21F9300CE09EB4B0BD490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
AC0B8C4CC494CB234A84D39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; };
AC2F6510662AD5D52E367FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
AC5460D2875AEE783D2A2AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; };
E74DA5EF2C208608AF676212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; };
E75749124D1F2FD391C01787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
E78FFEA6B1BE4AD1EE43C60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
- E8649B16BA011770D16BF051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
E89452B0110096760B06397C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
E8B02F47799FC984D3FE1083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
E8DE188896E5791E338D4EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
EBBE1B4A14FDE4B940B77FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
EBE7848E2D10517EBFD6BC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
EC794872987FEA2E129C589A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
- EC97D7ABC489A5E1BD7BAF41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
ECB67354113361CDADA77BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
ECD46DBA26680A8F86569C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
ED256A12202BBE4615053DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCReceiver.h"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.h"; sourceTree = "SOURCE_ROOT"; };
5A58AF0A052C539F0E342A88,
0ADF0DECFCB1DB4D3A847EB5, ); name = "JUCE Network Graphics Demo"; sourceTree = "<group>"; };
7131FE80B7BEC472AD0037EC = {isa = PBXGroup; children = (
+ 4C695109411FC3A003FD4B41,
+ 6524CBDBD6DCA7275B0BB009,
C6BDBA40F172EF384F005E8B,
3E313B4096468DD5EE551616,
096BB22B9363BAC781C4668D,
A23791E205B22F21521DF9F4,
39BADA2042495195394900F3,
A23791E205B22F21521DF9F4, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- BE6823E1E5DDA4B811662E58 = {isa = PBXGroup; children = (
- A127A78E54490885EA61239C,
- 7E9DE536E504F1EDDF5532C3,
- EC97D7ABC489A5E1BD7BAF41, ); name = "audio_cd"; sourceTree = "<group>"; };
- 02E9AEB3C82618AB04A34A93 = {isa = PBXGroup; children = (
+ 4B8054F8A6FFB64003B1B787 = {isa = PBXGroup; children = (
A64B09FC5A333C71F069C890,
0566C8771A3278C82D183A98,
50E3DBC3F2D136A9A59ED1D8,
5C82D0E8AB39B155A987109A,
0EAE4A004CEB66D275142FCA,
3913A6C3147F55D7390405B5, ); name = "audio_io"; sourceTree = "<group>"; };
- D869BB398906A514EB15DC8C = {isa = PBXGroup; children = (
+ 234DCFD380D9A674846A9269 = {isa = PBXGroup; children = (
DC9C7030E63CDD457DE54498,
9E2535830FEEC2462D0A01C0,
C8C33E8254DF7A03B953FF91,
EFD1CE8574994B5B6D078FD9,
1DE819F8D407705C57EACD26,
008187B05C0B633EE28ABE56,
- 4E1AFB1AF80B103D7392B44A,
251F11F4407E34F0F88AA1A2,
71894D722D549F75275D3D53,
- 4FEBD56CB96D3AE8E963098C,
- 1DE2689A8FBB19007E892906,
CB46FEDCD501D06F0B024134,
99F278EFA35A61B6E2AE1A61,
F6F314A674A9535D6425F794,
C2018A1CDB83486F8EC3CD32,
- 085FC01079EE77D52D1ED893,
- 84BD8495CE3D747852CB0463,
5614CF8ACD28587D8E9FC249,
2B14736595E3FFC604AFBD7C,
1E206D97A7B91545FE0D27CD, ); name = native; sourceTree = "<group>"; };
- 8CE42841B41DE8C3EC52DD9E = {isa = PBXGroup; children = (
+ 5675CF1F72A9C582ED739EE2 = {isa = PBXGroup; children = (
7F64D580AA191FBC2A74E943,
8F2FACABB024833B7F932BC5,
03F0E358E328911FE44415CC,
666F7A0F487C9974AF12E8A9, ); name = sources; sourceTree = "<group>"; };
05C8723D6B99C1C95FA1860E = {isa = PBXGroup; children = (
- BE6823E1E5DDA4B811662E58,
- 02E9AEB3C82618AB04A34A93,
- D869BB398906A514EB15DC8C,
+ 4B8054F8A6FFB64003B1B787,
+ 234DCFD380D9A674846A9269,
BD899F7E3ACBDD8F953B0048,
- 8CE42841B41DE8C3EC52DD9E,
+ 5675CF1F72A9C582ED739EE2,
8D7919836FD116E4D151376A,
B8072A5DFFD892216550F18B,
44301EEC47F5688D9BC0582E,
1ED0FAAEFF9D4A6426E76E89,
F756FBC7A6836696BCADD2B4,
1ED0FAAEFF9D4A6426E76E89, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 380295244851F958856B8E6D = {isa = PBXGroup; children = (
+ 59B9BA9101204585305599F4 = {isa = PBXGroup; children = (
6E27EBF864367EBA8B44DFA9,
E45C1684DCDBFD3B76F0B209,
DC50301B6C3FDAE98E224E76,
9671131059C459A1E119535E, ); name = format; sourceTree = "<group>"; };
- 216078898103A118C58B7B65 = {isa = PBXGroup; children = (
+ 100A41698C09B708391E08C4 = {isa = PBXGroup; children = (
+ 0131E0400ACEAE9A43EB7410,
3F6BE2A8CAF1C23380D884F5,
1D153366F6EA459B397CA356,
E44B8F906461AB6AC47B374A,
7A41A9C37A8BA7EFB6D1F518,
264B51063F7AA584D23B426E,
545C5A5F29523968A387FD91,
+ 18195CD57544ED4FD38FBBB6,
53105889A1FAACE8908856FD,
CE06CB9CD28DE31FA1528DE5,
F906FBF064A716C5EADF5708,
5B8CE8EC0CEDF800AD5B71E1, ); name = "format_types"; sourceTree = "<group>"; };
- 7A3339B826CDDE52B5710713 = {isa = PBXGroup; children = (
- E8649B16BA011770D16BF051,
- 0DB078E2523AD3ABE77A95F6,
+ BF14826742FE8470E68E2CDB = {isa = PBXGroup; children = (
47C8219AACA73B2EBE302A35,
904D7BEE6279D62983E57DCA,
3193E205AA627C635FF236E0,
5ED809701F235D958635DACA,
877FC50B817B57928FD4395C, ); name = utilities; sourceTree = "<group>"; };
5102C5BFB76FB218BB512EC7 = {isa = PBXGroup; children = (
- 380295244851F958856B8E6D,
- 216078898103A118C58B7B65,
- 7A3339B826CDDE52B5710713,
+ 59B9BA9101204585305599F4,
+ 100A41698C09B708391E08C4,
+ BF14826742FE8470E68E2CDB,
DE8DDC1A6A1A5E70018B45B7,
CF3502266720B326C5ED5310,
EA78C0B608211D0AD6B45A51,
A94C6EB19B9BF24D83054D60,
814EF15FC580DB2A5F426071,
A94C6EB19B9BF24D83054D60, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ E596F7FD4245D9B042EDCB41 = {isa = PBXGroup; children = (
+ 251914B31DC251BAC6F7FEEC,
+ 499799C9CE8BAC0FA107CD88,
+ AA5DF3668A6FFE484E7E5952, ); name = "audio_cd"; sourceTree = "<group>"; };
DE24F63112273826E7C9CDDC = {isa = PBXGroup; children = (
26DDCC5B563483D67D645398,
6FDDB32B35EF2BC6C4E353C0,
E2459ED14BA147A589FF714A = {isa = PBXGroup; children = (
E78FFEA6B1BE4AD1EE43C60D,
7B0648C17B0C62706424B080,
+ A48FF146F20C06E828B7B7CA,
7F23EFF727A93D53C8654687,
+ 902C76B35DDC3098CA446E84,
+ 81299F3A379565F712A8EC01,
B0DD6412314A0666002F9CB5,
- 1B9BCCBA7BA4D87454EC8710, ); name = native; sourceTree = "<group>"; };
- 596D19FB9A57A8F833ACD362 = {isa = PBXGroup; children = (
+ 1B9BCCBA7BA4D87454EC8710,
+ 95F7AF8BEA8D9118DC65429F,
+ 104FB72946023A2BCD7CDA68, ); name = native; sourceTree = "<group>"; };
+ 4548FA2FE417384C7DD2EE84 = {isa = PBXGroup; children = (
E75749124D1F2FD391C01787,
- 97188A2D8CC4C0DACC6A4D2F, ); name = players; sourceTree = "<group>"; };
+ 97188A2D8CC4C0DACC6A4D2F,
+ ABF21F9300CE09EB4B0BD490,
+ 172AC543059511E973AC26DE, ); name = players; sourceTree = "<group>"; };
738E94C7871EC777AE05CA28 = {isa = PBXGroup; children = (
+ E596F7FD4245D9B042EDCB41,
DE24F63112273826E7C9CDDC,
E2459ED14BA147A589FF714A,
- 596D19FB9A57A8F833ACD362,
+ 4548FA2FE417384C7DD2EE84,
8C09A72F2633270FD10E4DF6,
0C573FF1309CE106DA2D2CF9,
CAD2BDFE8443FE5648EF5A9C,
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\MasterComponent.h"/>\r
<ClInclude Include="..\..\Source\SlaveComponent.h"/>\r
<ClInclude Include="..\..\Source\SharedCanvas.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>JUCE Network Graphics Demo\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\SharedCanvas.h">\r
<Filter>JUCE Network Graphics Demo\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
001CA7EAF68DA335025FF01E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
008187B05C0B633EE28ABE56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; };
00B6967A854897C9D379AAF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
+ 0131E0400ACEAE9A43EB7410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
015F1D2D5F78A62C40AD1B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
01641AA0EEDDC5059FC28EF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; };
0186D1FA79D760C30575B900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; };
080961C54C58ECF2346B4C23 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
0833B2844B74E56A7F375B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
084DC67E578B4943704DF6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; };
- 085FC01079EE77D52D1ED893 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
08AF4D7E9DE1F55B2D45C8AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
08CCA1B6C1824CE73281A769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
08EF9C1A184B049FA45DF95F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
0CFDFC8B0EE4F67F3140A95E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
0D166F0A45739D0B47E30998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = psy.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.c"; sourceTree = "SOURCE_ROOT"; };
0DA4C3278F6482DB3E59D9BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
- 0DB078E2523AD3ABE77A95F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
0DBCEADB9A04439E66BE176E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; };
0DD52BE61E4DCA9575F5649F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; };
0DE14A1FA22B83FEA8DA8AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
0FD691EB4DE6A5517085781E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
101637AD0747ECC48982FDAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
10170D04538387CCCDC7C02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
+ 104FB72946023A2BCD7CDA68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
1070CD5C289E13B829661610 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
10D5F9D8D44A252288D19F42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; };
10E1C3C331DF35D35508268B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; };
15FB19A9D4DE60608E5E123A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
1666AE6ED73DD0DD85574640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
16A3BFE2C5679BDD49A4F424 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
+ 172AC543059511E973AC26DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
174350B11E9207B7038E2BFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
174E22634C4ADC7062948B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; };
17CBE6045D10290C77948F0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; };
18134B1B0216D1307B929E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jinclude.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jinclude.h"; sourceTree = "SOURCE_ROOT"; };
+ 18195CD57544ED4FD38FBBB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
181C1A360C01EFF44A3BB18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; };
18874E042E7799AE612BA77B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; };
18CE8447EE68998F8B8A73A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; };
1D58402ABF05B2EF162769C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
1D68D7036540404EFB82B35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
1D9299636D0100B772E26000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../JuceLibraryCode/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
- 1DE2689A8FBB19007E892906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
1DE819F8D407705C57EACD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
1E206D97A7B91545FE0D27CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
1E56FD9A78DFADF577A7254E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; };
23F3CBC829C0363C6C760957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; };
24711D9742CB31F36F71A36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
24FD7D015B6C46BDFC98E2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; };
+ 251914B31DC251BAC6F7FEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
251F11F4407E34F0F88AA1A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
25B024942AF178A196E7C978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
25DEDA8C9F94A6C8DFC8E53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SharedCanvas.h; path = ../../Source/SharedCanvas.h; sourceTree = "SOURCE_ROOT"; };
48A798B2097EF59A8A53F1F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; };
48C10DE9B2C0B0B6D874D2D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
48EBF61EDF71322807F5AF4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 499799C9CE8BAC0FA107CD88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
49EEE3FAA41505E20A1587BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
4A0C286E6CB8D31A8C048A88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
4A167D0C24B56DA19E2B0722 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; };
4BBD6A0FAD396B6C5DCE01B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
4BE9A59D703E4CA4661252C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
4C0B3826ABACE371F8681E61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; };
+ 4C695109411FC3A003FD4B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
4C816FF16C50AA5C87C8F7D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
4CAA4581DD7C06B9C83C5D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
4CC3F911E2539DE7F36A932D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = vorbisenc.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/vorbisenc.c"; sourceTree = "SOURCE_ROOT"; };
4D5112F69E06189A9318A69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
4D823926C18ED8ABD95035DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
4E0A623AEE60F18C081F1C78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; };
- 4E1AFB1AF80B103D7392B44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
4E1C2B9C5692A96700C1A898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
4E451FB3A0D657682324CEED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
4E8939ACD0CB224ABD3B3C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
4F742E04B5AD194395A593C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; };
- 4FEBD56CB96D3AE8E963098C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
4FF648D72D6F1A78956CDA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Demos.h; path = ../../Source/Demos.h; sourceTree = "SOURCE_ROOT"; };
5016A40C1850BBD55197D30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; };
50385CBC88D67EF57CBAF9F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
648610AB6A110B1ACD64CDAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; };
648E0A0D55BE1D012C1D89B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
649BBA6C8D29853266E8D2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
+ 6524CBDBD6DCA7275B0BB009 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
65285D35AA75D110D0A95851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
65746338AF0FDE118A3D02C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
665FF99D0D1BF3755FE7B803 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; };
7E79FB8A1C88684D9961874F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; };
7E7E7B2174155F2FA49E3E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; };
7E97D82B3BAD4487DDA963ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
- 7E9DE536E504F1EDDF5532C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
7F23EFF727A93D53C8654687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
7F313C042BD6C3DD38A63B5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
7F64D580AA191FBC2A74E943 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
806774C77EBD99266FE68583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
80B9B913DD55B0BD215AEC86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
80D63910D7196D7DF849A239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 81299F3A379565F712A8EC01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
814EF15FC580DB2A5F426071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
81B6BAADB8841B72ABDCEF5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
81D44AFD0558021B3028A3FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcdctmgr.c"; sourceTree = "SOURCE_ROOT"; };
8396C2624822FA5705134669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
839E82BEDF149242C2A71F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; };
83E38E7D0548FCDF7B150F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
- 84BD8495CE3D747852CB0463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
84DFB13BE79A86FC987A63C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
84E425B4918D8B9D5F312551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; };
84E76068048CB52123545F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; };
8FD227DE98DB156FBBC8DD1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
9002A3D1CD5740D9C50A834C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
902C20CD7DEB18B69F0E1BE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 902C76B35DDC3098CA446E84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
90348A625874E8DD3DCBF583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; };
904D7BEE6279D62983E57DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; };
905451CEDBDE4649B1DFB267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; };
95139F961E2C7FB6421D04A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
956F789B3DDD41EB09972AF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
95738AF2EAF17A2FA9B8E069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 95F7AF8BEA8D9118DC65429F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
95F94292250AF5E2964A6498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; };
965402AAAAF0A0D920DC7C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; };
96664A31FD92DEA43D231D23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; };
A0FA5EDB7F91219859E4DBC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
A118AD624CE30228686D51F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; };
A119D66FC1AD1E7BA31EFA46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
- A127A78E54490885EA61239C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
A146C5D4033808713BAC0F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
A15770CD33E47FF114451904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; };
A198E2290B15C62F68D21050 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
A39FC18F44E512E5047DBB15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
A42479D8A3AE579891E8741A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; };
A42F8BC3DE25F1CC15D383E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A48FF146F20C06E828B7B7CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
A4A507E78D1082DF5EDA723E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
A4C7C1D626E8F444FE84674C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
A5360675341F06F73AF96D1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
A94C6EB19B9BF24D83054D60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; };
A9FE7AE10A02329F18BAF8BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
AA5DEFC178005AF6703DD8C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; };
+ AA5DF3668A6FFE484E7E5952 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
AABBDC405E85A02000A3991B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; };
AB0C82D0A432008DA9B02B67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
AB26977EA68E27838B54A8E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
AB6D9BF527527D3143CAC2A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
AB7E120B33CE6C4EA5AE1C03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
AB8F2253604F5601588684E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = metadata.h; path = "../../../../modules/juce_audio_formats/codecs/flac/metadata.h"; sourceTree = "SOURCE_ROOT"; };
+ ABF21F9300CE09EB4B0BD490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
AC0B8C4CC494CB234A84D39C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc32.h; path = "../../../../modules/juce_core/zip/zlib/crc32.h"; sourceTree = "SOURCE_ROOT"; };
AC2F6510662AD5D52E367FB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
AC5460D2875AEE783D2A2AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; };
E74DA5EF2C208608AF676212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; };
E75749124D1F2FD391C01787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
E78FFEA6B1BE4AD1EE43C60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
- E8649B16BA011770D16BF051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
E89452B0110096760B06397C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
E8B02F47799FC984D3FE1083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
E8DE188896E5791E338D4EE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
EB990950081504EBD067FF9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; };
EBBE1B4A14FDE4B940B77FE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
EBE7848E2D10517EBFD6BC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
- EC97D7ABC489A5E1BD7BAF41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
ECB67354113361CDADA77BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
ECD46DBA26680A8F86569C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
ED256A12202BBE4615053DD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OSCReceiver.h"; path = "../../../../modules/juce_osc/osc/juce_OSCReceiver.h"; sourceTree = "SOURCE_ROOT"; };
5A58AF0A052C539F0E342A88,
0ADF0DECFCB1DB4D3A847EB5, ); name = "JUCE Network Graphics Demo"; sourceTree = "<group>"; };
7131FE80B7BEC472AD0037EC = {isa = PBXGroup; children = (
+ 4C695109411FC3A003FD4B41,
+ 6524CBDBD6DCA7275B0BB009,
C6BDBA40F172EF384F005E8B,
3E313B4096468DD5EE551616,
096BB22B9363BAC781C4668D,
A23791E205B22F21521DF9F4,
39BADA2042495195394900F3,
A23791E205B22F21521DF9F4, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- BE6823E1E5DDA4B811662E58 = {isa = PBXGroup; children = (
- A127A78E54490885EA61239C,
- 7E9DE536E504F1EDDF5532C3,
- EC97D7ABC489A5E1BD7BAF41, ); name = "audio_cd"; sourceTree = "<group>"; };
- 02E9AEB3C82618AB04A34A93 = {isa = PBXGroup; children = (
+ 4B8054F8A6FFB64003B1B787 = {isa = PBXGroup; children = (
A64B09FC5A333C71F069C890,
0566C8771A3278C82D183A98,
50E3DBC3F2D136A9A59ED1D8,
5C82D0E8AB39B155A987109A,
0EAE4A004CEB66D275142FCA,
3913A6C3147F55D7390405B5, ); name = "audio_io"; sourceTree = "<group>"; };
- D869BB398906A514EB15DC8C = {isa = PBXGroup; children = (
+ 234DCFD380D9A674846A9269 = {isa = PBXGroup; children = (
DC9C7030E63CDD457DE54498,
9E2535830FEEC2462D0A01C0,
C8C33E8254DF7A03B953FF91,
EFD1CE8574994B5B6D078FD9,
1DE819F8D407705C57EACD26,
008187B05C0B633EE28ABE56,
- 4E1AFB1AF80B103D7392B44A,
251F11F4407E34F0F88AA1A2,
71894D722D549F75275D3D53,
- 4FEBD56CB96D3AE8E963098C,
- 1DE2689A8FBB19007E892906,
CB46FEDCD501D06F0B024134,
99F278EFA35A61B6E2AE1A61,
F6F314A674A9535D6425F794,
C2018A1CDB83486F8EC3CD32,
- 085FC01079EE77D52D1ED893,
- 84BD8495CE3D747852CB0463,
5614CF8ACD28587D8E9FC249,
2B14736595E3FFC604AFBD7C,
1E206D97A7B91545FE0D27CD, ); name = native; sourceTree = "<group>"; };
- 8CE42841B41DE8C3EC52DD9E = {isa = PBXGroup; children = (
+ 5675CF1F72A9C582ED739EE2 = {isa = PBXGroup; children = (
7F64D580AA191FBC2A74E943,
8F2FACABB024833B7F932BC5,
03F0E358E328911FE44415CC,
666F7A0F487C9974AF12E8A9, ); name = sources; sourceTree = "<group>"; };
05C8723D6B99C1C95FA1860E = {isa = PBXGroup; children = (
- BE6823E1E5DDA4B811662E58,
- 02E9AEB3C82618AB04A34A93,
- D869BB398906A514EB15DC8C,
+ 4B8054F8A6FFB64003B1B787,
+ 234DCFD380D9A674846A9269,
BD899F7E3ACBDD8F953B0048,
- 8CE42841B41DE8C3EC52DD9E,
+ 5675CF1F72A9C582ED739EE2,
8D7919836FD116E4D151376A,
B8072A5DFFD892216550F18B,
44301EEC47F5688D9BC0582E,
1ED0FAAEFF9D4A6426E76E89,
F756FBC7A6836696BCADD2B4,
1ED0FAAEFF9D4A6426E76E89, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 380295244851F958856B8E6D = {isa = PBXGroup; children = (
+ 59B9BA9101204585305599F4 = {isa = PBXGroup; children = (
6E27EBF864367EBA8B44DFA9,
E45C1684DCDBFD3B76F0B209,
DC50301B6C3FDAE98E224E76,
9671131059C459A1E119535E, ); name = format; sourceTree = "<group>"; };
- 216078898103A118C58B7B65 = {isa = PBXGroup; children = (
+ 100A41698C09B708391E08C4 = {isa = PBXGroup; children = (
+ 0131E0400ACEAE9A43EB7410,
3F6BE2A8CAF1C23380D884F5,
1D153366F6EA459B397CA356,
E44B8F906461AB6AC47B374A,
7A41A9C37A8BA7EFB6D1F518,
264B51063F7AA584D23B426E,
545C5A5F29523968A387FD91,
+ 18195CD57544ED4FD38FBBB6,
53105889A1FAACE8908856FD,
CE06CB9CD28DE31FA1528DE5,
F906FBF064A716C5EADF5708,
5B8CE8EC0CEDF800AD5B71E1, ); name = "format_types"; sourceTree = "<group>"; };
- 7A3339B826CDDE52B5710713 = {isa = PBXGroup; children = (
- E8649B16BA011770D16BF051,
- 0DB078E2523AD3ABE77A95F6,
+ BF14826742FE8470E68E2CDB = {isa = PBXGroup; children = (
47C8219AACA73B2EBE302A35,
904D7BEE6279D62983E57DCA,
3193E205AA627C635FF236E0,
5ED809701F235D958635DACA,
877FC50B817B57928FD4395C, ); name = utilities; sourceTree = "<group>"; };
5102C5BFB76FB218BB512EC7 = {isa = PBXGroup; children = (
- 380295244851F958856B8E6D,
- 216078898103A118C58B7B65,
- 7A3339B826CDDE52B5710713,
+ 59B9BA9101204585305599F4,
+ 100A41698C09B708391E08C4,
+ BF14826742FE8470E68E2CDB,
DE8DDC1A6A1A5E70018B45B7,
CF3502266720B326C5ED5310,
EA78C0B608211D0AD6B45A51,
A94C6EB19B9BF24D83054D60,
814EF15FC580DB2A5F426071,
A94C6EB19B9BF24D83054D60, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ E596F7FD4245D9B042EDCB41 = {isa = PBXGroup; children = (
+ 251914B31DC251BAC6F7FEEC,
+ 499799C9CE8BAC0FA107CD88,
+ AA5DF3668A6FFE484E7E5952, ); name = "audio_cd"; sourceTree = "<group>"; };
DE24F63112273826E7C9CDDC = {isa = PBXGroup; children = (
26DDCC5B563483D67D645398,
6FDDB32B35EF2BC6C4E353C0,
E2459ED14BA147A589FF714A = {isa = PBXGroup; children = (
E78FFEA6B1BE4AD1EE43C60D,
7B0648C17B0C62706424B080,
+ A48FF146F20C06E828B7B7CA,
7F23EFF727A93D53C8654687,
+ 902C76B35DDC3098CA446E84,
+ 81299F3A379565F712A8EC01,
B0DD6412314A0666002F9CB5,
- 1B9BCCBA7BA4D87454EC8710, ); name = native; sourceTree = "<group>"; };
- 596D19FB9A57A8F833ACD362 = {isa = PBXGroup; children = (
+ 1B9BCCBA7BA4D87454EC8710,
+ 95F7AF8BEA8D9118DC65429F,
+ 104FB72946023A2BCD7CDA68, ); name = native; sourceTree = "<group>"; };
+ 4548FA2FE417384C7DD2EE84 = {isa = PBXGroup; children = (
E75749124D1F2FD391C01787,
- 97188A2D8CC4C0DACC6A4D2F, ); name = players; sourceTree = "<group>"; };
+ 97188A2D8CC4C0DACC6A4D2F,
+ ABF21F9300CE09EB4B0BD490,
+ 172AC543059511E973AC26DE, ); name = players; sourceTree = "<group>"; };
738E94C7871EC777AE05CA28 = {isa = PBXGroup; children = (
+ E596F7FD4245D9B042EDCB41,
DE24F63112273826E7C9CDDC,
E2459ED14BA147A589FF714A,
- 596D19FB9A57A8F833ACD362,
+ 4548FA2FE417384C7DD2EE84,
8C09A72F2633270FD10E4DF6,
0C573FF1309CE106DA2D2CF9,
CAD2BDFE8443FE5648EF5A9C,
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
<JUCERPROJECT id="gWI5Ir" name="JUCE Network Graphics Demo" projectType="guiapp"\r
version="1.0.0" bundleIdentifier="com.juce.NetworkGraphicsDemo"\r
- includeBinaryInAppConfig="1" jucerVersion="4.2.4">\r
+ includeBinaryInAppConfig="1" jucerVersion="4.3.0">\r
<MAINGROUP id="OT9rJ2" name="JUCE Network Graphics Demo">\r
<GROUP id="{48D54E6E-37F4-B20A-E038-C63E4EDFD4D9}" name="Source">\r
<FILE id="BfclEZ" name="Demos.h" compile="0" resource="0" file="Source/Demos.h"/>\r
AFAF70AFAE4EB2218010021D = {isa = PBXBuildFile; fileRef = 88DE251DF6AE9B26738AE499; };
3E7F8C668A6B9D59129DB060 = {isa = PBXBuildFile; fileRef = 92BF599DA326087F0C148FCD; };
0854B7C01A2E8BDC0E9F9EDE = {isa = PBXBuildFile; fileRef = 724C59399A89D9490419D7E7; };
- FC5333B3714B28E77AA802A8 = {isa = PBXBuildFile; fileRef = 18E270003975EC1D65BF82A8; };
2EC1F79415874810B04901FB = {isa = PBXBuildFile; fileRef = 2F66E4233B555D2540EC85B6; };
F8A1E19249BB66C2A05D670C = {isa = PBXBuildFile; fileRef = 773C5672A3C84C3378DFF981; };
46E027F87CF433FCD13D6F4C = {isa = PBXBuildFile; fileRef = CE015BBF7DDBF902EE0BB037; };
077D14BDF440711227A88652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisfile.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisfile.h"; sourceTree = "SOURCE_ROOT"; };
07D9756CD40A2257CE645AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
07E22F69D1BD5DBC61EB6B57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
+ 080F7E52F71A2A8FCFFC729E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
0834DCEB2DC13BDD835B441A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
0871563B8BDFAC16F5251093 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
08F133FB8B5DB6987C98CC09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
157DD96EB1DD4D98C3F156FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; };
15838577621F565985121DB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
15B5781A1282801339DA76E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
- 15FA0D0EEA50529921168B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
1616C413975FA0B82DC147EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
1633D377612A0BE68DE61769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
164F70E2E821DAB11E9CF8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
17385E08CF13E8A648C449E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; };
175C70C20B5074616F3FC422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
175FF8F74000A6143EB009B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
- 179F013F410ABCEB7D90C596 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
17CBC430274E9E3AFB522A3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = alloc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/alloc.h"; sourceTree = "SOURCE_ROOT"; };
17D1AE835BB6F69441F039C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; };
17F88B6945BC396BBE2196A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
18B177F15EE47BE1AC851939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; };
18BC7C0BAD0A7E1B16B9B866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
18CC1A6ADE609D201246E73A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
- 18E270003975EC1D65BF82A8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
1997CE41947A0FA3AE6FD84C = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSCMonitor.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
19C4CDE07CD0E4BDC7C692CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; };
19CB55D9BA33A4DFBB8A1E1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
45DF47F918E119829B97D35B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
45EC230E69B0801C93615256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
45F0BC9FD5A2D8A50C09E463 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 45FA7E994DBE455AA5A893ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
46175DD8DD8511DA50CEA9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
462D423963B1B96FA13F4CCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; };
46609082F0807F204974298F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
6963B4F5E804A6D8CFAF00DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
6973C70B3664F6D63CD86D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; };
6979C786438B387A708F998C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
- 69967F6CD19884EDCCDAED59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
69FDD439374E74C6FD65DD89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; };
6A6A0C8CACC5C5EE6C95D2DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
6A9B2C2EBCB45F4BA1D54D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; };
7827A32DCF19A27ABD2EDD33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
78528FE6D711A3BBB927573B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; };
78696C016F20378383635650 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
- 78846FAD89A8024C2DF4A5B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
79A578B4E39C1F03DA98123E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
79E82330B4E03EDBAE7B02FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; };
79F4B049934ABF6CE6469758 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
7A338E34E563DCC1379EFD57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
7A412996BF0FAC2277DE0103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; };
7A6E65ABAE14B7BA74AA0312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
- 7A701FE93EC4054A887A0229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
7A8F1905710789B01FE1A14D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
7AB7C52E9663FFAC21F1EA8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; };
7AE5E470BD361C4329C2D2F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
9CA63D9C931562E60AA43F65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
9CA8D3775F4482E63D79918C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
9CA97E0C94F1ADAB09C98C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; };
- 9CB3E10539EEED748DB3C7BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
9CDBAA8791C9A854ABC57746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; };
9CE5EC31F66339C217049ABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; };
9D8E9752A5C153E08024FC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
AC1D689111ED9AAA1F237725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
AC6C0541D84539578CD41683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
ACE47FBC8BA954531F30B7E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ AD1F1A548361C7380528F1B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
AD3390E5060FADCAC11F68B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; };
AD4CF4796566AFD03820DE23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; };
AD61AA97BEAA9C7C8F7E575D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; };
B7EDE5E99C9546634D789AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; };
B7EEE94FF7D01308A5C0C919 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
B8373530702DE647A882D6D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = sharedbook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/sharedbook.c"; sourceTree = "SOURCE_ROOT"; };
- B83962292A82CC209B4E28B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
B85116C34AC3CB6A0305ACBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; };
B87279BB08766512ECF1C31A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
B90BFDC91636E77EDB4FA432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; };
B94E840D38EE5717DA2CE143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B9599618D7841E6929BE3281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
B978975E52F0BEAE7B9EFFFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; };
B9AFD1D82A8CD4C118FDDBF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; };
BA25DC3EA5013698B5DD6C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; };
DD424F8EA63B33E90F19A137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
DDE417C268A7F07384AE598C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; };
DDF58F993D5C3FDC1BCC3F2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
- DE7EB6D4AA1377B537E5DA61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
DF2724BB83DA60B2CA70A95F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; };
DFA95E296DD42D1A5279204E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
DFC5E42390AE2D4E416B43F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
EE59138563FAA3589C79DD12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
EE6019C661F94FD122BBA913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
EE67E866F155BCCA323AF400 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
- EE6BF47F086686D7FFDC66BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
EE8BAB9A2B017754997FA6EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
EEABF9C7265E9B1B6767B2A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; };
EED6252B8E88159841FFAB1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
F4EB797898FBCE771679190A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
F59581D8631D6A684736D6FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
F5D08B3F42677B34F472A33D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; };
- F602B7C59298D4C2E97F1B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
F61D480253AF8F68D427401D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; };
F6225C8B7CC1B813ED258485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; };
F631816532F24F531A68C53B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
1C8FA7F39C7073AF87993BFB = {isa = PBXGroup; children = (
89A7E3ABB1B5A12BE261B889, ); name = OSCMonitor; sourceTree = "<group>"; };
A9C2B78C482A46837A454782 = {isa = PBXGroup; children = (
+ AD1F1A548361C7380528F1B7,
+ 080F7E52F71A2A8FCFFC729E,
EC1F4760AA4F4543060C094C,
9F632EA6F5EA390C46075248,
74DF1E83B08CAB5A9A5E5946,
BC999BF11EAB7650B8287BCE,
2FD05BF82591C31E51A38F00,
BC999BF11EAB7650B8287BCE, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- ECB49B52B776C2537352980F = {isa = PBXGroup; children = (
- 15FA0D0EEA50529921168B25,
- F602B7C59298D4C2E97F1B8E,
- 78846FAD89A8024C2DF4A5B6, ); name = "audio_cd"; sourceTree = "<group>"; };
- EA9FC61FEDB3F0C3D18CF2EF = {isa = PBXGroup; children = (
+ 8E92D50551A2ADB2D210C493 = {isa = PBXGroup; children = (
B290C41D6E05CBBA547F1E66,
A86BA293740A836D28E4227D,
637F50C2A71D1F082EF59D2B,
7D89CB30EB93482F4129DCB3,
65C6416A76A5AAC3CED238A7,
4F4C2EF98147FF8D605E6D96, ); name = "audio_io"; sourceTree = "<group>"; };
- 11CE5A9899AA873121314FFB = {isa = PBXGroup; children = (
+ BD4D2BD49E5195301B7E0604 = {isa = PBXGroup; children = (
18B177F15EE47BE1AC851939,
A408267C8C1A891DB7E1FA96,
A1577236843E6EDE602A891E,
881A06BE765B73B152D535C9,
D877558BC9981742EF52706B,
79E82330B4E03EDBAE7B02FD,
- 69967F6CD19884EDCCDAED59,
55295170729634D819EBE035,
F24615BD7E4A3AFAA3C0D03A,
- EE6BF47F086686D7FFDC66BE,
- 9CB3E10539EEED748DB3C7BB,
D8CFDE2AF9C97CD2DB63019C,
210D71F83AC8AA19B8348253,
B258265E931798E1769938E6,
EE67E866F155BCCA323AF400,
- B83962292A82CC209B4E28B7,
- 7A701FE93EC4054A887A0229,
50CF4C6188B65866FCB2F4BE,
78696C016F20378383635650,
47D3A79943D449E43F412A21, ); name = native; sourceTree = "<group>"; };
- 342F2D753342291337E66D7C = {isa = PBXGroup; children = (
+ 77BAB98EB86A59EB819A9BCA = {isa = PBXGroup; children = (
F992CDC031E3207C1FA3D434,
8779BA1B52DB30945634F123,
C91F9DCA97F600ABCBAE6D7F,
0F811AEF01714D0718673F96, ); name = sources; sourceTree = "<group>"; };
63A93E1A6FD3FB74FE6DC5C7 = {isa = PBXGroup; children = (
- ECB49B52B776C2537352980F,
- EA9FC61FEDB3F0C3D18CF2EF,
- 11CE5A9899AA873121314FFB,
+ 8E92D50551A2ADB2D210C493,
+ BD4D2BD49E5195301B7E0604,
06C4DBFAF3461AAA400B66A3,
- 342F2D753342291337E66D7C,
+ 77BAB98EB86A59EB819A9BCA,
8388C6BAC9D75DF8B1A364EB,
4DB71D5516FB189AAB65F5C3,
773E3BE403111A26BBE44585,
9FFE49CBCD039E37C002D62E,
A8AF947903C0976A1D45F0B2,
9FFE49CBCD039E37C002D62E, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 901B8839D683020AF6D6E1BC = {isa = PBXGroup; children = (
+ B0B3BC6A97AB090589FA0DDA = {isa = PBXGroup; children = (
EC67081B5745049B6BF7CBB0,
CD66E549F25814B7ADCBDB29,
56AE9A2DF810FBD48B3BA9C6,
329E82CA3BCB5AE3EC94E0E7, ); name = format; sourceTree = "<group>"; };
- 216D3907DF7DA3A5F355D7D1 = {isa = PBXGroup; children = (
+ FA85013C418278F7BF6B3288 = {isa = PBXGroup; children = (
+ 45FA7E994DBE455AA5A893ED,
1F249E983E9D32170A294720,
349D17DB66E9B32A98CC3C18,
E36F4E6658950E867ECF189B,
6D88A3624F51E4B8C4386378,
C629913291BE1608B58ABF38,
88964E03F3F86CDCA280D3CC,
+ B9599618D7841E6929BE3281,
0743372F26489CD53C1BDB91,
442D9B72ECE154D5D4E7C72F,
1010FD77F32B1F7F525FC184,
2F13071B3F288C3AA6842EF2, ); name = "format_types"; sourceTree = "<group>"; };
- 194D6EEB3476DE2C9AF5EF41 = {isa = PBXGroup; children = (
- 179F013F410ABCEB7D90C596,
- DE7EB6D4AA1377B537E5DA61,
+ 017A104FC4591C2810AEAF76 = {isa = PBXGroup; children = (
5708133B2F0805351AC43D89,
B85116C34AC3CB6A0305ACBA,
77675F0CF9463BE424DC6483,
0B7274E64537FF84DDB983BB,
B285E664E174164A6988AFAE, ); name = utilities; sourceTree = "<group>"; };
E212DC5AEF2D3B995C1F590B = {isa = PBXGroup; children = (
- 901B8839D683020AF6D6E1BC,
- 216D3907DF7DA3A5F355D7D1,
- 194D6EEB3476DE2C9AF5EF41,
+ B0B3BC6A97AB090589FA0DDA,
+ FA85013C418278F7BF6B3288,
+ 017A104FC4591C2810AEAF76,
7D104F1FB8F403DCC7CF75A7,
6E26057A2CF8C7301A74A913,
1E7182C9B2AD1C849B25A723,
88DE251DF6AE9B26738AE499,
92BF599DA326087F0C148FCD,
724C59399A89D9490419D7E7,
- 18E270003975EC1D65BF82A8,
2F66E4233B555D2540EC85B6,
773C5672A3C84C3378DFF981,
CE015BBF7DDBF902EE0BB037,
AFAF70AFAE4EB2218010021D,
3E7F8C668A6B9D59129DB060,
0854B7C01A2E8BDC0E9F9EDE,
- FC5333B3714B28E77AA802A8,
2EC1F79415874810B04901FB,
F8A1E19249BB66C2A05D670C,
46E027F87CF433FCD13D6F4C,
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\OSCLogListBox.h"/>\r
<ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>OSCMonitor\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\MainComponent.h">\r
<Filter>OSCMonitor\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
\r
<JUCERPROJECT id="IhmIkj" name="OSCMonitor" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.rawmaterialsoftware.OSCMonitor" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="N9NMMk" name="OSCMonitor">\r
<GROUP id="{2B92546C-6B49-72D9-ACD0-0F2FCE9AD0D5}" name="Source">\r
<FILE id="fqVB21" name="OSCLogListBox.h" compile="0" resource="0" file="Source/OSCLogListBox.h"/>\r
\r
<JUCERPROJECT id="pdocPt" name="OSCReceiver" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.OSCReceiver" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="Y6Q0O9" name="OSCReceiver">\r
<GROUP id="{9F303ECD-83DE-CA91-97B4-C083DA897F49}" name="Source">\r
<FILE id="HHuoMc" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>\r
\r
<JUCERPROJECT id="rysVAr" name="OSCSender" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.OSCSender" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="knnZZJ" name="OSCSender">\r
<GROUP id="{F2A0007A-4D24-4DD6-DEC8-6428F36CE45D}" name="Source">\r
<FILE id="ORaBHU" name="MainComponent.h" compile="0" resource="0" file="Source/MainComponent.h"/>\r
8A6D37A2A20E92532DE4CDE6 = {isa = PBXBuildFile; fileRef = A2A8888BB2A9B1BF61955BEA; };
2A954B85CEC7CB6CDDE645AF = {isa = PBXBuildFile; fileRef = 8E5DB762FF5447085518EB85; };
3BFCAE441B663BD739FBCCB4 = {isa = PBXBuildFile; fileRef = 6CDDF198D9632DA763449E05; };
- BEC90605659632469EAEFED9 = {isa = PBXBuildFile; fileRef = 20425A69967DA67634118166; };
B592CCDBC97987937D3E1990 = {isa = PBXBuildFile; fileRef = 84E689978B0D7D84B1A39C77; };
86349C45A45EB863AAFB24AD = {isa = PBXBuildFile; fileRef = 88B4E2B52BB5B6B622243FDC; };
EA339F19B6848D97F15D2691 = {isa = PBXBuildFile; fileRef = 7C2C344C1697462278777A3C; };
0917DAAA83C16F4D430A4961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
0950F9F7698F791C6BC7626A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; };
097B8DA5C29B16C544CEA626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
- 09B659F4A61EA3BDC6521FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
0A2608950EEA0BB719B538D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
- 0B26EC9D2A47B858246A76EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
0BB6230BB8EFC6D0CF7BFADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
0C2B705429E7587EB29AAD6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
0C5D36923235127BEC48777C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
1F6C3ACBB74CDDEBCBFCCA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
1F8ED827C6DF9E92BB82E05F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffast.h; path = "../../../../modules/juce_core/zip/zlib/inffast.h"; sourceTree = "SOURCE_ROOT"; };
201259150E2168D8B93D9C87 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
- 20425A69967DA67634118166 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
20A48C39E51031BF57458A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; };
20F2CFC88281301E30E08682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
20FD3BF2E58B0BF9B0C57939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
2DA8BDECC570B976D34D9263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
2DBFFAB8701557418A4C7CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
2DD71C2E25546E180B21DF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
- 2E1213ABCA6E339D156C6825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
2E355DED51A6E9DFBFDA84CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
2E62B2A1D5FE20D7E675DC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
2E707F1CF18BFA0580429FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
406587D828CD424333E55C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
40ACA092AB6B933E39268DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
40E971224B83783243521871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
- 410C72660348DFD81F81386C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
4142E8BA365FE77662B11891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
41459B47F41FB1C145E533FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
41509E8D4AF461C1B23CF71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
5D998A4BC436D82C3A6E8606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; };
5E20BD0A199999DBE2E9A497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
5EEADEEAD5DF68A030DDA0ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
- 5F43D23FA8A72E66792AE5C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
5F49099628EF3662332FDB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
5F6BDD2491C4086940AAE045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 60283D945E6E23648B74C670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
60359F3EE85F679C1D118136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; };
60B2BAA3043C667FE98E94CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
60F110007A8248E4318D9B0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; };
61448959C09144CC093AA715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
61596F68A47C4BEA8F9A4D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; };
- 619377E030188B909977D85B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
61C1B6B3336D774EAE4994F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
61DEAC06F8C115B1DE078559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
61EFB1120837C4B54493568E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; };
7156B58188258F7EBE617E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
718E39433D13021F56FCA2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
71F494877324567960FC3F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 7204C6A7EFEF25B1A2FD34BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
7207669F41206DC961E08FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
7246A65F3B8646D764F3A355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
7264370AC60580E5E9B414E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; };
7619A4CD6A10ABCF4F03F735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
76372445FC076FB8D26CEEC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
766B95D45D4D17B3E2D3B226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
- 7703A0B63AFF2C5FE9587CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
7712C8260E9F4A7C2BD9FD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
773BD1E9176FB073B71705A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
774B3CFCF0748FE9E5EA4597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
AF3842A1DE465344A84FDDBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
AF5C2B3C5CF657FA722F9A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
AF6001FA947F3A7DF15CBF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
- AF80D629DF6AF8EEB11DE598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
AFB6F48AC541B5510EFDB61C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
AFBCB46AC109F4982F012C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
AFD230E1151B486A2F25D968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
BE635BACA572437D8DFDEEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
BEA260469BBB48EB998AA4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
BEAB03E92089D87D7D6A2353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
+ BEC603E981665029272775AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
BEFB2034FC381E2DD019E372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
C007BC3372F44746BD6E98C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
C02F8C844FAD835F09408406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; };
C04188D62834AAE749694751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
C05E16AAF0CF0676135C0C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
- C0A37CB25E8C40792454E820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
C0AC297D17FA68BBAB417A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; };
C0C66A94FBDE992AAD71C698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
C159C35E078C5B5B9BFEFB52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
DC3E9EDCD85270B2E9D33BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
DC9D4AE01FB7CF8D2877B198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; };
DCB52EFF8A9F5D9F6CF3D3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DD4BAA40B619A941A61CEA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
DD542B6F61E6C27A0D5A5F2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
DDE0FBFAC8D2239A971F3C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
DDF7D7828813BEC0173FD43A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
EF0061905AEAC90A86145D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
EF073EC891B2731068542C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
EF70C0EA201D702D22D06396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
- EF7A3AF54294E08EB489D9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
EFDD05E3C006BA460761594C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
F0074D8C86D3265AF7889CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
F0260E36C06C76C1BE1F7D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
853E25E8F0EA391EE8D4A3B8 = {isa = PBXGroup; children = (
3FD01CA071C629C30000EC75, ); name = OpenGLAppExample; sourceTree = "<group>"; };
BD8BD7AD59B318355DEFDCD5 = {isa = PBXGroup; children = (
+ DD4BAA40B619A941A61CEA8F,
+ 60283D945E6E23648B74C670,
11614D602849B43F5ED92934,
6B5D185CB49DC6746B357183,
47E94C2476E8A7171A484CF0,
66634B351B20F6B1F16ED9D2,
C62300B9478B60BCBE254256,
66634B351B20F6B1F16ED9D2, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 2BC4B91BB4B41CD17CB88DD1 = {isa = PBXGroup; children = (
- 7703A0B63AFF2C5FE9587CBF,
- 2E1213ABCA6E339D156C6825,
- 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = "<group>"; };
- E53BD1793DF9DAA4B246EB3E = {isa = PBXGroup; children = (
+ 51F7CD026A85888E063180BA = {isa = PBXGroup; children = (
D276367530731B2C732C50CB,
A07D0C5C60BE446FD41ADE51,
70687CABD6ABBC69E717B73D,
9A67CA8503FB1E02090F5FAD,
CE5CDD52C447D5DCC7DE1259,
D4CA818D9DA2269EBCE376DE, ); name = "audio_io"; sourceTree = "<group>"; };
- 2A1B0A91633F41C14123DB41 = {isa = PBXGroup; children = (
+ F686D82AF54F1B695904B8BE = {isa = PBXGroup; children = (
A8A190EDD8CED5ACF3AEE2C9,
0411B541BEDEC5A67ECEAA31,
36C81D39EEE59DF7D8AB0E0B,
1542F586268CE982EE1C9607,
BDBC99D827A9F6C5B1B0ED5E,
BB7442FBD89AFCE6AE14E0AD,
- 5F43D23FA8A72E66792AE5C7,
7B751B8BF3344D7C0980DAD0,
40ACA092AB6B933E39268DAF,
- 0B26EC9D2A47B858246A76EF,
- AF80D629DF6AF8EEB11DE598,
5CF8CAB948FAAB9164F206B0,
880A65D7F29BF8701826BF81,
66B35673D58EF4ABC6C50824,
EE49ECC80B5D7D0DEFA0EF7A,
- 410C72660348DFD81F81386C,
- C0A37CB25E8C40792454E820,
DD542B6F61E6C27A0D5A5F2A,
2951B1B0EE3CE714426016F1,
E488221DF5AFED73C4518AE7, ); name = native; sourceTree = "<group>"; };
- 1FDC05B7D979479AC8DACA69 = {isa = PBXGroup; children = (
+ B8C742545369D70CA75F68B9 = {isa = PBXGroup; children = (
CD27B64646C58118052C3459,
51C3B7D6330C765ADFB672FF,
AABFFB2D2D9F9BB39C95BA25,
45693266645F0549AD1FEA88, ); name = sources; sourceTree = "<group>"; };
EFBCC9AA9132896CF439C9BD = {isa = PBXGroup; children = (
- 2BC4B91BB4B41CD17CB88DD1,
- E53BD1793DF9DAA4B246EB3E,
- 2A1B0A91633F41C14123DB41,
+ 51F7CD026A85888E063180BA,
+ F686D82AF54F1B695904B8BE,
99CCC399FF2CA7D69394B0D0,
- 1FDC05B7D979479AC8DACA69,
+ B8C742545369D70CA75F68B9,
F3E243F3B379E587B2724BFB,
EBABE678E857A993B3753B83,
D4A815675983D742D87E37A5,
0737A415932C93579574CE2D,
FBDBBE33AEF062A1457DAA42,
0737A415932C93579574CE2D, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 006D02511CFE26C2F9C2FB0E = {isa = PBXGroup; children = (
+ A33A96CB09D5729EA880B97A = {isa = PBXGroup; children = (
9FE8D5E52AC84BCDEE8B414B,
266A60D0C3095B8F7F16751E,
1A366C1E8FF34F708C0AF994,
20F2CFC88281301E30E08682, ); name = format; sourceTree = "<group>"; };
- 1EF68EEF952C0E97F8366154 = {isa = PBXGroup; children = (
+ 4C869058A5235AFEB424065F = {isa = PBXGroup; children = (
+ BEC603E981665029272775AE,
23EA0178C7150CBA80E79215,
1CC05551F14FFC0161D8E12A,
966F24941F855EA74A2A8914,
B7612EA3B34C6AC48079A447,
58C9B8F93CF63036CA33A6C3,
AD0DBF0531130EAD4DF2A8FA,
+ 7204C6A7EFEF25B1A2FD34BC,
6C32663096AA8DFE514E6F70,
8E0D42B79853ED7FC60F931B,
D8F75466ADD0287144087C5B,
794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = "<group>"; };
- 9D1668FDF155A70D5F26AA72 = {isa = PBXGroup; children = (
- 09B659F4A61EA3BDC6521FEC,
- EF7A3AF54294E08EB489D9AF,
+ C48BED114519383CD4437DAF = {isa = PBXGroup; children = (
52057B317B0FC98209D5BEC9,
A4E723D11ADD694C4A3D318C,
B97C816F9CBDE00E567E3144,
8684BC420922F40BD629C51C,
49EE14EEEF6EADB9F20306E4, ); name = utilities; sourceTree = "<group>"; };
B0A8A78F56D39E5C52AB1C76 = {isa = PBXGroup; children = (
- 006D02511CFE26C2F9C2FB0E,
- 1EF68EEF952C0E97F8366154,
- 9D1668FDF155A70D5F26AA72,
+ A33A96CB09D5729EA880B97A,
+ 4C869058A5235AFEB424065F,
+ C48BED114519383CD4437DAF,
F3B6A6258B3BDBEC1CD06FA1,
1B61782F94F534A6144C3496,
5531660E59F73238C0AC3B7F,
A2A8888BB2A9B1BF61955BEA,
8E5DB762FF5447085518EB85,
6CDDF198D9632DA763449E05,
- 20425A69967DA67634118166,
84E689978B0D7D84B1A39C77,
88B4E2B52BB5B6B622243FDC,
7C2C344C1697462278777A3C,
8A6D37A2A20E92532DE4CDE6,
2A954B85CEC7CB6CDDE645AF,
3BFCAE441B663BD739FBCCB4,
- BEC90605659632469EAEFED9,
B592CCDBC97987937D3E1990,
86349C45A45EB863AAFB24AD,
EA339F19B6848D97F15D2691,
<ItemGroup>\r
<ClCompile Include="..\..\Source\MainComponent.cpp"/>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\Resources\WavefrontObjParser.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>OpenGLAppExample\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\Resources\WavefrontObjParser.h">\r
<Filter>OpenGLAppExample\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
0917DAAA83C16F4D430A4961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
0950F9F7698F791C6BC7626A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; };
097B8DA5C29B16C544CEA626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
- 09B659F4A61EA3BDC6521FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
0A2608950EEA0BB719B538D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
- 0B26EC9D2A47B858246A76EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
0BB6230BB8EFC6D0CF7BFADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
0C2B705429E7587EB29AAD6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
0C5D36923235127BEC48777C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
2DA8BDECC570B976D34D9263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
2DBFFAB8701557418A4C7CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
2DD71C2E25546E180B21DF6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
- 2E1213ABCA6E339D156C6825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
2E355DED51A6E9DFBFDA84CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
2E62B2A1D5FE20D7E675DC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
2E707F1CF18BFA0580429FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
406587D828CD424333E55C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
40ACA092AB6B933E39268DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
40E971224B83783243521871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
- 410C72660348DFD81F81386C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
4142E8BA365FE77662B11891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
41459B47F41FB1C145E533FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
41509E8D4AF461C1B23CF71F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserVoice.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.cpp"; sourceTree = "SOURCE_ROOT"; };
5D998A4BC436D82C3A6E8606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; };
5E20BD0A199999DBE2E9A497 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
5EEADEEAD5DF68A030DDA0ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
- 5F43D23FA8A72E66792AE5C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
5F49099628EF3662332FDB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
5F6BDD2491C4086940AAE045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 60283D945E6E23648B74C670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
60359F3EE85F679C1D118136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; };
60B2BAA3043C667FE98E94CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
60F110007A8248E4318D9B0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; };
61448959C09144CC093AA715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; };
61596F68A47C4BEA8F9A4D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; };
- 619377E030188B909977D85B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
61C1B6B3336D774EAE4994F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
61DEAC06F8C115B1DE078559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
61EFB1120837C4B54493568E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; };
7156B58188258F7EBE617E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
718E39433D13021F56FCA2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
71F494877324567960FC3F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 7204C6A7EFEF25B1A2FD34BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
7207669F41206DC961E08FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
7246A65F3B8646D764F3A355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
7264370AC60580E5E9B414E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; };
7619A4CD6A10ABCF4F03F735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
76372445FC076FB8D26CEEC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; };
766B95D45D4D17B3E2D3B226 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inftrees.c; path = "../../../../modules/juce_core/zip/zlib/inftrees.c"; sourceTree = "SOURCE_ROOT"; };
- 7703A0B63AFF2C5FE9587CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
7712C8260E9F4A7C2BD9FD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
773BD1E9176FB073B71705A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
774B3CFCF0748FE9E5EA4597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
AF3842A1DE465344A84FDDBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
AF5C2B3C5CF657FA722F9A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
AF6001FA947F3A7DF15CBF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
- AF80D629DF6AF8EEB11DE598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
AFB6F48AC541B5510EFDB61C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
AFBCB46AC109F4982F012C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
AFD230E1151B486A2F25D968 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
BE635BACA572437D8DFDEEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
BEA260469BBB48EB998AA4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
BEAB03E92089D87D7D6A2353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
+ BEC603E981665029272775AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
BEFB2034FC381E2DD019E372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
C007BC3372F44746BD6E98C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
C02F8C844FAD835F09408406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; };
C04188D62834AAE749694751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
C05E16AAF0CF0676135C0C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
- C0A37CB25E8C40792454E820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
C0AC297D17FA68BBAB417A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; };
C0C66A94FBDE992AAD71C698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
C159C35E078C5B5B9BFEFB52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
DC3E9EDCD85270B2E9D33BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
DC9D4AE01FB7CF8D2877B198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; };
DCB52EFF8A9F5D9F6CF3D3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
+ DD4BAA40B619A941A61CEA8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
DD542B6F61E6C27A0D5A5F2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
DDE0FBFAC8D2239A971F3C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
DDF7D7828813BEC0173FD43A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
EF0061905AEAC90A86145D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
EF073EC891B2731068542C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
EF70C0EA201D702D22D06396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
- EF7A3AF54294E08EB489D9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
EFDD05E3C006BA460761594C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
F0074D8C86D3265AF7889CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
F0260E36C06C76C1BE1F7D8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
853E25E8F0EA391EE8D4A3B8 = {isa = PBXGroup; children = (
3FD01CA071C629C30000EC75, ); name = OpenGLAppExample; sourceTree = "<group>"; };
BD8BD7AD59B318355DEFDCD5 = {isa = PBXGroup; children = (
+ DD4BAA40B619A941A61CEA8F,
+ 60283D945E6E23648B74C670,
11614D602849B43F5ED92934,
6B5D185CB49DC6746B357183,
47E94C2476E8A7171A484CF0,
66634B351B20F6B1F16ED9D2,
C62300B9478B60BCBE254256,
66634B351B20F6B1F16ED9D2, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 2BC4B91BB4B41CD17CB88DD1 = {isa = PBXGroup; children = (
- 7703A0B63AFF2C5FE9587CBF,
- 2E1213ABCA6E339D156C6825,
- 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = "<group>"; };
- E53BD1793DF9DAA4B246EB3E = {isa = PBXGroup; children = (
+ 51F7CD026A85888E063180BA = {isa = PBXGroup; children = (
D276367530731B2C732C50CB,
A07D0C5C60BE446FD41ADE51,
70687CABD6ABBC69E717B73D,
9A67CA8503FB1E02090F5FAD,
CE5CDD52C447D5DCC7DE1259,
D4CA818D9DA2269EBCE376DE, ); name = "audio_io"; sourceTree = "<group>"; };
- 2A1B0A91633F41C14123DB41 = {isa = PBXGroup; children = (
+ F686D82AF54F1B695904B8BE = {isa = PBXGroup; children = (
A8A190EDD8CED5ACF3AEE2C9,
0411B541BEDEC5A67ECEAA31,
36C81D39EEE59DF7D8AB0E0B,
1542F586268CE982EE1C9607,
BDBC99D827A9F6C5B1B0ED5E,
BB7442FBD89AFCE6AE14E0AD,
- 5F43D23FA8A72E66792AE5C7,
7B751B8BF3344D7C0980DAD0,
40ACA092AB6B933E39268DAF,
- 0B26EC9D2A47B858246A76EF,
- AF80D629DF6AF8EEB11DE598,
5CF8CAB948FAAB9164F206B0,
880A65D7F29BF8701826BF81,
66B35673D58EF4ABC6C50824,
EE49ECC80B5D7D0DEFA0EF7A,
- 410C72660348DFD81F81386C,
- C0A37CB25E8C40792454E820,
DD542B6F61E6C27A0D5A5F2A,
2951B1B0EE3CE714426016F1,
E488221DF5AFED73C4518AE7, ); name = native; sourceTree = "<group>"; };
- 1FDC05B7D979479AC8DACA69 = {isa = PBXGroup; children = (
+ B8C742545369D70CA75F68B9 = {isa = PBXGroup; children = (
CD27B64646C58118052C3459,
51C3B7D6330C765ADFB672FF,
AABFFB2D2D9F9BB39C95BA25,
45693266645F0549AD1FEA88, ); name = sources; sourceTree = "<group>"; };
EFBCC9AA9132896CF439C9BD = {isa = PBXGroup; children = (
- 2BC4B91BB4B41CD17CB88DD1,
- E53BD1793DF9DAA4B246EB3E,
- 2A1B0A91633F41C14123DB41,
+ 51F7CD026A85888E063180BA,
+ F686D82AF54F1B695904B8BE,
99CCC399FF2CA7D69394B0D0,
- 1FDC05B7D979479AC8DACA69,
+ B8C742545369D70CA75F68B9,
F3E243F3B379E587B2724BFB,
EBABE678E857A993B3753B83,
D4A815675983D742D87E37A5,
0737A415932C93579574CE2D,
FBDBBE33AEF062A1457DAA42,
0737A415932C93579574CE2D, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 006D02511CFE26C2F9C2FB0E = {isa = PBXGroup; children = (
+ A33A96CB09D5729EA880B97A = {isa = PBXGroup; children = (
9FE8D5E52AC84BCDEE8B414B,
266A60D0C3095B8F7F16751E,
1A366C1E8FF34F708C0AF994,
20F2CFC88281301E30E08682, ); name = format; sourceTree = "<group>"; };
- 1EF68EEF952C0E97F8366154 = {isa = PBXGroup; children = (
+ 4C869058A5235AFEB424065F = {isa = PBXGroup; children = (
+ BEC603E981665029272775AE,
23EA0178C7150CBA80E79215,
1CC05551F14FFC0161D8E12A,
966F24941F855EA74A2A8914,
B7612EA3B34C6AC48079A447,
58C9B8F93CF63036CA33A6C3,
AD0DBF0531130EAD4DF2A8FA,
+ 7204C6A7EFEF25B1A2FD34BC,
6C32663096AA8DFE514E6F70,
8E0D42B79853ED7FC60F931B,
D8F75466ADD0287144087C5B,
794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = "<group>"; };
- 9D1668FDF155A70D5F26AA72 = {isa = PBXGroup; children = (
- 09B659F4A61EA3BDC6521FEC,
- EF7A3AF54294E08EB489D9AF,
+ C48BED114519383CD4437DAF = {isa = PBXGroup; children = (
52057B317B0FC98209D5BEC9,
A4E723D11ADD694C4A3D318C,
B97C816F9CBDE00E567E3144,
8684BC420922F40BD629C51C,
49EE14EEEF6EADB9F20306E4, ); name = utilities; sourceTree = "<group>"; };
B0A8A78F56D39E5C52AB1C76 = {isa = PBXGroup; children = (
- 006D02511CFE26C2F9C2FB0E,
- 1EF68EEF952C0E97F8366154,
- 9D1668FDF155A70D5F26AA72,
+ A33A96CB09D5729EA880B97A,
+ 4C869058A5235AFEB424065F,
+ C48BED114519383CD4437DAF,
F3B6A6258B3BDBEC1CD06FA1,
1B61782F94F534A6144C3496,
5531660E59F73238C0AC3B7F,
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
\r
<JUCERPROJECT id="c3KrlE" name="OpenGLAppExample" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.OpenGLAppExample" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="amjEXL" name="OpenGLAppExample">\r
<GROUP id="{28FE2D12-A88D-07E2-72CF-CD04014CF225}" name="Source">\r
<GROUP id="{666960E2-D311-806A-1FE7-A27057939840}" name="Resources">\r
0CF1B842613B7CB1AD870EB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
0D08BF66C70D2B4AB1A9E0AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; };
0D603AD75714B7CC474A45D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0D783BDD9AD6ED789A21A26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
0D9BD2274AA6F9081E60A196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
0DA09911CF116E73799CA0B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
0DBF97D9FD71F7BDCAB7F7A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexBox.h"; path = "../../../../modules/juce_gui_basics/layout/juce_FlexBox.h"; sourceTree = "SOURCE_ROOT"; };
0E27E32E44CDE4F786209EA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
0E2F963D8586DCC6CC882F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; };
0EA5903594EF4DADFF6812DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
+ 0EBD611932725BD0D9F9E9A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
0F8897FBD797A8C287075808 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
0FE7C873F21FB9963F55E0FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
10797BCF6AB6944C7FB2E608 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
28C5D30A359C5676262E96C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; };
2967AB09D392074A228EA204 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
2997C443B652C787BEFCDB6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; };
- 2A35E6780C5647502C24E29F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
2A69350FC76206ADA980DDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
- 2A896A4242C9F93BFF338CE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
2AF638E5536951A3607DE1EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
2AF8713E48B13A10419703B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
2B3565E95DD1CBC88D61C655 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-App.plist"; path = "Info-App.plist"; sourceTree = "SOURCE_ROOT"; };
356F3858F9A4DE6055FAA59F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
3582770C043EBB6E67DBCE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inflate.h; path = "../../../../modules/juce_core/zip/zlib/inflate.h"; sourceTree = "SOURCE_ROOT"; };
35C65A78610026BAA448D956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3610BCE8F9B56531CFC35E07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
365EC6C15E12BCBDD0657D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
366EF1FAB22EAE0059C61C20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
36854C5E554CFF0CDE0CE3C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
37F975CD7B37083A508065D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; };
3803DF879F943052A088A2ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; };
384F9F0B2B2DF491C8265025 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
- 38D001655D30BC38B4DE4C6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
38FA44918179696A2DB14FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
390A8762C627F40E99D7118C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
391ACB947CB2D4F529FDABE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
392555C3ACC301829471BB99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; };
3926616EC56E25F66F6CD790 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
3972CE07B664956A2998CFB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
+ 39951617D26B13773E60BFC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
3A13DA48EBDD0DCD7C18FE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
3A17A2128C147903DAF8C7B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
3A607B65328748D6F1D742FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; };
41048C2B19AE4E33265A968C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; };
410CF1DF89133411F1434CAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
411C432CB74EE05BCBFCD97A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
+ 415201F8B7E6B3EDA71F8A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
416641AB5B352AB9753B4B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
41CEFEFA33AC6D0EBEF73CBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; };
422C7D87DB73615294A716F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; };
464D52BF0E9E0D7221042DBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; };
4680925B001761374318240B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
471E8FEFACCD33F64D19D993 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioVisualiserComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 47778A0DA3CB1729B8565520 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
47CE98BF6BFC1E13F9DED70C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; };
47E2C79D26C2A7EDAC5FEA91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
47EB6051728718682263AF34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
55831A995D0E77B2BBD2575C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
5672F39F7E0BE7C0404DFF3F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
56DBD10356F84A4BA04CDC91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 56FE1A1AB5B544D52A15282E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
5705584FED86AFC880D29636 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
5801750CF0519C43BF6F450A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scales.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/scales.h"; sourceTree = "SOURCE_ROOT"; };
581C4C0B98C23C3DB668CEB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; };
582FBB461EE1EB7CB6523F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
584B4CCDAF7106E99AC52813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
584E5E26ACA7AD527A7C6751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdpostct.c"; sourceTree = "SOURCE_ROOT"; };
+ 585A8231D1CB7C47FA6421E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
5895CBDE3C1717110102E430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
58FC211C847065896BF74E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; };
5906AD70A7E2AA3CEB98F5FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
638A1C1044639BDBC6BBDEA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; };
6397580998352AB0A523EC40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; };
63F1FAD7C8EFE4EA8C3B0C8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; };
- 6448850AC54F75454D955D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
64663FA1B06165CB8FBB3517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; };
64721C1223D0AC624D4163F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; };
648B531019DAD4981D0BDF87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; };
6D7DCC497AC08CAC2AAD88FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
6D8BED36A671F9D041E97DDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; };
6DD569C2FEB6B74B781B81C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; };
+ 6DD842BB019FB41F6D91B3EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
6E3A962ECB84FC510953CB30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
6E611A3F6A21F38D28BB3F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
6E77389AF95D5755785BCB22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; };
7168F7090C9FF9823767CD08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
71B26FC46CC356F68522156A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; };
71B9CF373B6D94E72463BB98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; };
- 7250AA25548636949FF5B68B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
7268E8DF4FB06FC006A066BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; };
729C925A39C2E4171B1F83D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
72FF837400C45FE952F21A02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; };
7737BA38A3BFF94A4F81E8B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
77836DBF108AD82E4F3A0E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
77BF4B744E58BAC43F0CD683 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 77C0D86740F0723B8B7DCF3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
77F018DAFB95EE7FC4A84116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; };
77F7FECFDC8995D85BB0A886 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
7845673FB30C66664AF41B4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = callback.h; path = "../../../../modules/juce_audio_formats/codecs/flac/callback.h"; sourceTree = "SOURCE_ROOT"; };
7941F601CD5179239D8913A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
7974BA21A9D5056987B14251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
7A39255EE30193D7E4FF47BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A7AFC4018B52B77D9B6A3B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
7A7B0FFC73DF9275AF4AF1F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctfst.c"; sourceTree = "SOURCE_ROOT"; };
7AB5F29264AD8BF9BA656062 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
7ACF47AD08EDD9B5F8D11864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
8832699DA05AF3E69754D928 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
8835E7FFB9417A1832512418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
885F12469DA0E9463F844B3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_decoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_decoder.c"; sourceTree = "SOURCE_ROOT"; };
- 88702ED578A756109C44DDDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
8870F99E05F806275E16F368 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
889D2181A4C5B56CC7DA3C3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
88D7320B84F829FB04601EBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
8CC335AE8A93FEB0D9C0A7A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
8CC92225795CF7A358E68CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; };
8CDAF20C1B1E1C3CF5E144D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CatmullRomInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
+ 8CF955E8F2C07186CADF2772 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
8D1F3A7055EB7077ECFA5655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/all.h"; sourceTree = "SOURCE_ROOT"; };
8D7FA2A37603079FDE443AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
8D8FE20F9365F60BBDB0CDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; };
99327B105A339EF73AA9B1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
997B3B4AAC07DE55F0BAD60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
9987C8227A4C405F8102D7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; };
- 998C433660B4C566B579046D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
99A5AD422178B3A018FDEB83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
9A4FCAF90402686244787CE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; };
9A57575E631655CCA06424FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
9AFA9168356B94F7B6383514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
9AFF4A0F14B8749DC0E0D4C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; };
9B6A795A588B873B421EA141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
+ 9BF8D673836B293D70FB2A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
9C0EA946F5233DCA6D462CC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; };
9C66FAB8BEB89C9F359235AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
9C8F8E92078570992957DF89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
D1114D6AD8DBEE47C9833B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; };
D12B4A83D656755E9C9BAC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; };
D12E1C4617AD0ADACF7957E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; };
+ D1443D14017AF0C8B0911212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
D146BB260657F5F63B360B2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
D1E3E5AD73DF3F85868BBA58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
D1E505C7493819DB1D8A26BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
DFDD9D9DE030E708970FA503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
DFE372DB89F74CFFF38F79F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
E05D127A813EEEB7D3EA3FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E11EA9CDFF591CA384E0A632 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
E11ED6D69A7AF196FC02B4DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
E13EA07F317B5CABDA7C28D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
E1ABC9E6B24B3D7CDF0CA22A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; };
E69D60F04BCEA7B1F039F157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
E6B57B097825330545DE5F94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
E6D261C9F51AF0BE729403BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmerge.c"; sourceTree = "SOURCE_ROOT"; };
- E70E79938BA521CADD5969F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
E711C9ED44AC78BC687F2DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
E73D11EE1A91B746E05B594A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
E748AF5DD3ECF3F3B38BE624 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; };
F67696A86B9EF81E1B47AC15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
F6901BEB2A9068B45FAF02AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
F6AEBB945D6263EC19184122 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ F73C93AD63B663EDB45CEDBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
F74768E6FDB668CFC1AB57ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
F74DA30CDA5ED0BF3BA71AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
F74FF7CF42A07161AFF7710D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
BBDA2DD68415C10F0E4A2E7F = {isa = PBXGroup; children = (
AC4A50CFED2BAA67D69B4304, ); name = PluckedStringsDemo; sourceTree = "<group>"; };
FFC8A7E00AB7793664792318 = {isa = PBXGroup; children = (
+ 39951617D26B13773E60BFC8,
+ 9BF8D673836B293D70FB2A40,
6C925C01C9CE27D48B8D4F23,
D0B644D77B9391EE809D5729,
1A338ED27F04799A114753A9,
E4EAF1E1D83261CA8E4C9DA2,
A761485A8D6D7DAA5F331CEF,
E4EAF1E1D83261CA8E4C9DA2, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 8B201D8B45C6D0E3A3375E87 = {isa = PBXGroup; children = (
- 7250AA25548636949FF5B68B,
- 2A896A4242C9F93BFF338CE3,
- 38D001655D30BC38B4DE4C6B, ); name = "audio_cd"; sourceTree = "<group>"; };
- E7D08CF3FD943A49982D2370 = {isa = PBXGroup; children = (
+ C29535DF4D3F4AFFA9337E9C = {isa = PBXGroup; children = (
D1114D6AD8DBEE47C9833B78,
CA647FA729CD4CB3AEB1C3B4,
804EEAC995CAB8564151AB19,
243D35409669FD6B5D1040F9,
B6EF2D221B2FBEE591ECF465,
FBF6E07CE4C8DD2CC43CE0C1, ); name = "audio_io"; sourceTree = "<group>"; };
- 14C859E7D7CEB9A1F819FEB2 = {isa = PBXGroup; children = (
+ 737F623788438074544A590B = {isa = PBXGroup; children = (
0218289D0D8F7785C7F504EE,
80930811C3C2D1F258F426AE,
8C8FEDE65D4CBECC38D2BB62,
FA1C3482A549B7173000DDAB,
77836DBF108AD82E4F3A0E83,
E7E1BAB6D2A6DCFE5ACB3609,
- 6448850AC54F75454D955D13,
99327B105A339EF73AA9B1F4,
09A2BC7290878D59D9991ED3,
- 47778A0DA3CB1729B8565520,
- 2A35E6780C5647502C24E29F,
E69D60F04BCEA7B1F039F157,
19A4832E8EDE878AF294FE4A,
53D5930EC511AD10959D2179,
77BF4B744E58BAC43F0CD683,
- 998C433660B4C566B579046D,
- 88702ED578A756109C44DDDA,
217581A16B821915FDAAA6B1,
890ADCDB18D11CF064499EBA,
5506210306B34612B94A4F73, ); name = native; sourceTree = "<group>"; };
- 04A6CB44E83D0C80599F08B6 = {isa = PBXGroup; children = (
+ 33ED15F32EBC818DE2717F62 = {isa = PBXGroup; children = (
5E60BCC59FCD7A7C4BFC12C0,
4D2A30F16BB38A1D63CD289E,
9AFF4A0F14B8749DC0E0D4C5,
443708F62791FF0D4F639D51, ); name = sources; sourceTree = "<group>"; };
CB43F53DE66A3B8476A26B14 = {isa = PBXGroup; children = (
- 8B201D8B45C6D0E3A3375E87,
- E7D08CF3FD943A49982D2370,
- 14C859E7D7CEB9A1F819FEB2,
+ C29535DF4D3F4AFFA9337E9C,
+ 737F623788438074544A590B,
4D836F2269439F3253736662,
- 04A6CB44E83D0C80599F08B6,
+ 33ED15F32EBC818DE2717F62,
69E2A692515096D73E89AEE3,
02E0359692B001FDD7991015,
F9F345826E9AB0968CC27C06,
00DE16C7A681D2B27139271C,
E2B2428CBB8BF06CD4A23DF7,
00DE16C7A681D2B27139271C, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- E64F9ED00CCF57B0567DD01D = {isa = PBXGroup; children = (
+ 3CF68E13D284BC7C2B4F9CC1 = {isa = PBXGroup; children = (
9639A177FA54F29024B9144A,
DFE372DB89F74CFFF38F79F1,
EABEAA187BB08079ADF9C71F,
E2A0935487433A10A8839CCB, ); name = format; sourceTree = "<group>"; };
- E62137DEFB52FA82239F8155 = {isa = PBXGroup; children = (
+ EF040D89E07B355EB724FA58 = {isa = PBXGroup; children = (
+ 0EBD611932725BD0D9F9E9A1,
9FE22FA506D161BA152CE6E4,
3EE734341645DBB78BA4A05B,
B8DC9E6368B53B15909A65C7,
54420A7FCB25BAEEEB0FEEA0,
B3CD2EAF0DAB67CFA880BF8A,
826E3E424F0A7BDF5FECE7F0,
+ 585A8231D1CB7C47FA6421E3,
09CF8D79F80BB15318B260CC,
237404D7EAAD696962C85B05,
92E9E50DCD5CC8113296C700,
6B5E4C82FF829907B7AAD9E3, ); name = "format_types"; sourceTree = "<group>"; };
- F83C6BFC736E431166EE423B = {isa = PBXGroup; children = (
- 3610BCE8F9B56531CFC35E07,
- E70E79938BA521CADD5969F1,
+ F77D98290F22A1FA9AC85F2C = {isa = PBXGroup; children = (
3A607B65328748D6F1D742FD,
091FA27535E993FACA7E0FF9,
A32EE20C70F0CF71D1C20A7C,
549EB2D372E93DD52A2B530C,
BF8E69AF5C7E25E40C5EE291, ); name = utilities; sourceTree = "<group>"; };
9C7B8FD05619E353C4F00D95 = {isa = PBXGroup; children = (
- E64F9ED00CCF57B0567DD01D,
- E62137DEFB52FA82239F8155,
- F83C6BFC736E431166EE423B,
+ 3CF68E13D284BC7C2B4F9CC1,
+ EF040D89E07B355EB724FA58,
+ F77D98290F22A1FA9AC85F2C,
7B6728B0005B8FB7BA3EF3A3,
212F4ABE69E383D3A19B2CED,
4A448CCDA3A5973D256FA6AD,
61697E991AD1E66C0C594B94,
F1F815174417773FAA117E9C,
61697E991AD1E66C0C594B94, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ C8E423659C2D145D53D9BF14 = {isa = PBXGroup; children = (
+ 8CF955E8F2C07186CADF2772,
+ D1443D14017AF0C8B0911212,
+ 415201F8B7E6B3EDA71F8A84, ); name = "audio_cd"; sourceTree = "<group>"; };
59E298AED20858BFD72B9BEC = {isa = PBXGroup; children = (
2DCC9E193676CF4A46D3B0C2,
61DA015236CFD7B12845962A,
33E34A97688ED142FEFE7104 = {isa = PBXGroup; children = (
EE30D384E567AE7F475E348F,
6DD569C2FEB6B74B781B81C9,
+ E11EA9CDFF591CA384E0A632,
10797BCF6AB6944C7FB2E608,
+ 77C0D86740F0723B8B7DCF3F,
+ 7A7AFC4018B52B77D9B6A3B5,
F7B35B431ED74EE1B2E16EE9,
- DF8F22B2BA37D04EAFCEE4B5, ); name = native; sourceTree = "<group>"; };
- 0BD0353ECBB439C7AE06F67F = {isa = PBXGroup; children = (
+ DF8F22B2BA37D04EAFCEE4B5,
+ 56FE1A1AB5B544D52A15282E,
+ F73C93AD63B663EDB45CEDBF, ); name = native; sourceTree = "<group>"; };
+ F31B4E02CEC37ECB643C88BA = {isa = PBXGroup; children = (
EBFBECF955B0489E81BA44E3,
- 409A8214F15A0388D24ABC5F, ); name = players; sourceTree = "<group>"; };
+ 409A8214F15A0388D24ABC5F,
+ 0D783BDD9AD6ED789A21A26A,
+ 6DD842BB019FB41F6D91B3EC, ); name = players; sourceTree = "<group>"; };
43B3766A05E88BFC2AD2D322 = {isa = PBXGroup; children = (
+ C8E423659C2D145D53D9BF14,
59E298AED20858BFD72B9BEC,
33E34A97688ED142FEFE7104,
- 0BD0353ECBB439C7AE06F67F,
+ F31B4E02CEC37ECB643C88BA,
3799DDA17A51A8FFEE35F033,
BA4FAB8D8AE2625409DC5422,
34777773F3AA232A567F897D,
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\StringSynthesiser.h"/>\r
<ClInclude Include="..\..\Source\StringComponent.h"/>\r
<ClInclude Include="..\..\Source\StringDemoComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>PluckedStringsDemo\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\StringDemoComponent.h">\r
<Filter>PluckedStringsDemo\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
<JUCERPROJECT id="jKHEJM" name="PluckedStringsDemo" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.timurdoumler.PluckedStringsDemo" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="IWdVf7" name="PluckedStringsDemo">\r
<GROUP id="{8800CD50-6741-8B75-0305-FAF13427EF5D}" name="Source">\r
<FILE id="Z7hWe1" name="StringSynthesiser.h" compile="0" resource="0"\r
\r
<JUCERPROJECT id="NXaszK" name="Arpeggiator" projectType="audioplug" version="1.0.0"\r
bundleIdentifier="com.ROLI.Arpeggiator" includeBinaryInAppConfig="1"\r
- buildVST="1" buildVST3="1" buildAU="1" buildRTAS="0" buildAAX="1"\r
+ buildVST="1" buildVST3="0" buildAU="1" buildRTAS="0" buildAAX="0"\r
pluginName="Arpeggiator" pluginDesc="Arpeggiator" pluginManufacturer="ROLI Ltd."\r
pluginManufacturerCode="ROLI" pluginCode="Arpg" pluginChannelConfigs=""\r
pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0"\r
pluginIsMidiEffectPlugin="1" pluginSilenceInIsSilenceOut="0"\r
pluginEditorRequiresKeys="0" pluginAUExportPrefix="ArpeggiatorAU"\r
pluginRTASCategory="" aaxIdentifier="com.ROLI.Arpeggiator" pluginAAXCategory="AAX_EPlugInCategory_Effect"\r
- jucerVersion="4.2.4" companyName="ROLI Ltd." companyWebsite="www.juce.com"\r
+ jucerVersion="4.3.0" companyName="ROLI Ltd." companyWebsite="www.juce.com"\r
companyEmail="info@juce.com" buildAUv3="0">\r
<MAINGROUP id="l0H2am" name="Arpeggiator">\r
<GROUP id="{E91162B3-479D-3630-4B5F-0E76EE995FB8}" name="Source">\r
objects = {
9ADBCE19EA833AC4AF2E70F8 = {isa = PBXBuildFile; fileRef = B7A2991D3F6CDC78EE921F1D; };
- FC2E54A3E7703D3815DF4A43 = {isa = PBXBuildFile; fileRef = 9B925B22A539EFE048C4F2D0; };
4DD23843607E8EA8A90CE524 = {isa = PBXBuildFile; fileRef = 40D80A7071E7DF99EF20511D; };
- 18765C2A6C2876621317D7A5 = {isa = PBXBuildFile; fileRef = 14CD0689B0BFC8758FA6C408; };
4006ECEA053125B2706BB403 = {isa = PBXBuildFile; fileRef = 6C612817F52B969A5F16CE94; };
E1EAF7A85355978D529D0FAA = {isa = PBXBuildFile; fileRef = C3F6222E9059F8CCD9674AD0; };
D0DA0BDE4746B7B12FD847CF = {isa = PBXBuildFile; fileRef = AC840D910B076A8D6E11D0E3; };
8A0C4A63928476A51A5ABA85 = {isa = PBXBuildFile; fileRef = 56D6FCED08A719CBB031E441; };
A6957B3A25A520C504229736 = {isa = PBXBuildFile; fileRef = 7150191620777B001103827C; };
42249366F95C3CE5A3FB0B27 = {isa = PBXBuildFile; fileRef = 2B44B90F3CEDD45A731586AD; };
- 3077B2084E87797DD942DD7A = {isa = PBXBuildFile; fileRef = C25F6446C7B798B834916598; };
9F2B4549218AC0A51FB01877 = {isa = PBXBuildFile; fileRef = F175178B06C128804FE8B2DD; };
568F6C3382967F18B3398DC4 = {isa = PBXBuildFile; fileRef = 427916B14A13C9592134DE85; };
82DB33B4356E013942B2B130 = {isa = PBXBuildFile; fileRef = 0DE771499C57EF171A4B80C2; };
CD51ABAA6EF40CBA996A4E90 = {isa = PBXBuildFile; fileRef = 2E94A5BF0507304C7FBE7DAC; };
F9286BDCED2819E0411D290B = {isa = PBXBuildFile; fileRef = 2F4E8F666770D3FE1819841C; };
E121C97227FD69E95BC0B848 = {isa = PBXBuildFile; fileRef = B88670F8C43CDC4E1C93F040; };
- 0C147FBEF5B1A66FBFBB01F4 = {isa = PBXBuildFile; fileRef = 5AB6B81BA52870C0AD33341E; };
7FD723582B7BF1775729023D = {isa = PBXBuildFile; fileRef = 530EF6F2E307D0652B974CF4; };
1935BD4130D5954448BC9B9D = {isa = PBXBuildFile; fileRef = F3329DC874973DF520276066; };
6CFEA843342A89A46A3F087C = {isa = PBXBuildFile; fileRef = EC519AF44CCE0881235FB4EB; };
3B76B94843D8BC7B2AA45CBC = {isa = PBXBuildFile; fileRef = 5087D4BAAE6FE9828E8B8ED3; };
3F4774290CDA1A5712701353 = {isa = PBXBuildFile; fileRef = 8998F48F783F40A3C08AFD0E; };
- 087F53B6CB2E5291253A1662 = {isa = PBXBuildFile; fileRef = 09A11E2B06C9254B90D33931; };
0AA3C7D7D4C3474EEF28118C = {isa = PBXBuildFile; fileRef = E2F7D83F51D8257B263771B6; };
6673243E0C47DB46A54386A7 = {isa = PBXBuildFile; fileRef = EF01A1FC7C85F759038CC4D1; };
42406DF00F2BEBF9EF31CB14 = {isa = PBXBuildFile; fileRef = 8D256AABEE9F2E8B11736E86; };
2D9494700DCDA6E524726943 = {isa = PBXBuildFile; fileRef = D8F52EB57878B5762C0FD866; };
9E93B5D7B33591139054C54E = {isa = PBXBuildFile; fileRef = BED8FCD9183EF5E54F0E03BC; };
000482712FB943049ADA488E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- 0006D862EC3A374B150CC1FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
00364B9ACDDE1061B0F8B6A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; };
008905A65B6DD3A48DF09AA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; };
009F880F1C927129D79457CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; };
08DE9AECCB957725B8CF2939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; };
091A10CFA01394E26C54AFB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
0976BFC1400DB1F6254192FC = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; };
- 09A11E2B06C9254B90D33931 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; };
09C0A2226E87D56321B8319E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
09E390AA7B1FE6AD560030B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; };
09E8A551CD342D08E0FCFC7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode3.cpp"; sourceTree = "SOURCE_ROOT"; };
2A7EED1861BF3B69BF30B895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; };
2B00D9E27D910E13DE0C221A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
2B27A10CE5AE76648A90D11B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2B44B90F3CEDD45A731586AD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
2B74FE1DB5690776640A424A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctfst.c"; sourceTree = "SOURCE_ROOT"; };
2B934F373C03D2E722D651A7 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
2BFEB8B6D2202970E1EDA7E2 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_audio_plugin_client_RTAS.r"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS.r"; sourceTree = "SOURCE_ROOT"; };
2C5EC74F7F59FB4D2EDBF48A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
+ 2C88000D1FD0FF38CE9A45DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_RTAS_MacUtilities.mm"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm"; sourceTree = "SOURCE_ROOT"; };
2C96D1EF867911A0E68FFBFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
2CCEDD6E4D5033AC85568494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
2CFC098BABAF6F3A9DFA615A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2D0FF4338F332D5D2EF467BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; };
2DB885170C23EF6315B01E07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
2DBEA9C65CE70C0A16C832F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 2DD523352F6EE4FCFCE9A6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; };
2DE0D81D1002AACD733312D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; };
2DF4931504468BD9E20AE3E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.cpp"; sourceTree = "SOURCE_ROOT"; };
2E05B3795F27137B74532DCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
2E886B4634424C6F38673E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcapimin.c"; sourceTree = "SOURCE_ROOT"; };
2E94A5BF0507304C7FBE7DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
2EC53AB4DD0E835D9B23844C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.h"; sourceTree = "SOURCE_ROOT"; };
+ 2F12CFEB1E95BC54E1CD3C7D = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
+ 2F4E8F666770D3FE1819841C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
2F9B863B3208F7FDC2DFB5C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; };
2FFF28CCC21983E2097F661E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
3076EC4F52A19CE9017D3F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 30C6744AD7589406A556BB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; };
315792D7850F26654F7F799A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
316054DECCF2C8CA1375419C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; sourceTree = "SOURCE_ROOT"; };
31C6340CFAED51F9297A247B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
- 32A851BECAA8CB552DA0C92B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
- 32AAD6851954F58C57AAF699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
- 33FA636BC069C12099595FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
- 35A89273665F75DDA18CDC47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
- 35D50824AD807A721FA1ED0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
- 3676883386C9710B77E2A882 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
- 36D859F26BF7EC636B1E9F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; };
- 36E62B359C62BCD4DEC8715B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
- 375309A679FB0737182D6268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
- 377125E7F99E475F08A365DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
- 3BEDADA1310ADC048CDA2C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
- 3DF64E77DF55D4CFF0445C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3F2ECB4984ED66DFE2FBC8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
- 46B133D823CE97AF7F5C8F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
- B7A2991D3F6CDC78EE921F1D = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.vst; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 9B925B22A539EFE048C4F2D0 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 40D80A7071E7DF99EF20511D = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 14CD0689B0BFC8758FA6C408 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 2B44B90F3CEDD45A731586AD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
- 2C88000D1FD0FF38CE9A45DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_RTAS_MacUtilities.mm"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm"; sourceTree = "SOURCE_ROOT"; };
- 2D0FF4338F332D5D2EF467BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; };
- 2DD523352F6EE4FCFCE9A6F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; };
- 2F12CFEB1E95BC54E1CD3C7D = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
- 2F4E8F666770D3FE1819841C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
- 30C6744AD7589406A556BB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; };
31EA1DBEF38B6612DCF697ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
326380A033B511A7D6C908B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 32A851BECAA8CB552DA0C92B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 32AAD6851954F58C57AAF699 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
333B1B17AC6BBF4E5330BA2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
3393B8D4E413710805AAD1FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; };
+ 33FA636BC069C12099595FF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
341FDAB807E3998D5B7D7293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
3447AC4248751CBF85190EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
34A5198B33BE63C226542043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
34D919EE29BFF65E7B058F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
34E23BC027A8B05CC5F418FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; };
34F7EF8094F8E02C29C9851B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 35A89273665F75DDA18CDC47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
35BC4E6396C07229A7B57058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; };
364C3095D20CCE47471C4DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3676883386C9710B77E2A882 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
36B5D78633D30EBA28D70796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 36D859F26BF7EC636B1E9F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; };
+ 36E62B359C62BCD4DEC8715B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
36F4463D0DA964D24DD6709C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; };
37416E825B1A181FE5FCB0A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
37506BAF1DE7956F29B94FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; };
+ 375309A679FB0737182D6268 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
+ 377125E7F99E475F08A365DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
37CB0A4D4B303E50117CE937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; };
37CC572A9EBB11B044700DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
38286B4A32B4D3C255E0A871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AAX_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; };
3AD79BA42B077E0A5F529E32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUMIDIBase.cpp"; sourceTree = "SOURCE_ROOT"; };
3B0069CA40EDC9EE6EEA241B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; };
3BE81A29DE9DE7360D59EC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; };
+ 3BEDADA1310ADC048CDA2C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
3BEF840C88D9862A0FC85942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
3C0D2625AD214352B7082954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
- 3C5308C4C1F27A3EDA01A6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
3CACDEB9F2E644F9454E83AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; };
3CAD7C934D530D6DF84726FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; };
3CC3CCB36E5E08DCA857C796 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
3D81F640FA89136773847667 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
3DCE839D5754A0B85895A055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
3DD0FD0BC2F231862DB27C0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 3DF64E77DF55D4CFF0445C51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
3E529E187845C0FDDD75B26E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
3E6F506A01B3C306158AC0D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
3E7DC1C7BF61898D2B652DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; };
3F08C9123F1F4581E558A5BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
3F21EE81799D044AAA159766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
3F2D394B1097D68F76A8F6D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F2ECB4984ED66DFE2FBC8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
3FAE00C6F53873793905F666 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
3FDFA20C48FCE702C316D86D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
403A941E43D6A93F973478CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; };
4242930DB36B116AF72C417F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; };
425CE8E9D6EE24F5E6D9FCC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
427916B14A13C9592134DE85 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ 4280E82C7B26C423A43E1177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
42A4B8FE13CEA81021C02892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
42B3AF98E940C8680326C0CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexBox.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.h"; sourceTree = "SOURCE_ROOT"; };
42CC4A0B344E62ED93EC74D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
4622F41461A9F5CC78026CAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; };
466A9F12236DE37BACE09B42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; };
467F97EEE2817C95C33C1545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; sourceTree = "SOURCE_ROOT"; };
+ 46B133D823CE97AF7F5C8F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
46BAFEBCC9B0D6AB83F6610E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
475E1E61DFAC2CDC4DBC14B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; };
4769340688C2F6A5594A47C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
47828A582B8937C8132488D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
479F14675EE3210B9DA3D0CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; };
47C8734E53B5CB91EC39C589 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
+ 4866FD57227106E809153EFC = {isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = "../../../../../modules/juce_audio_plugin_client/AUResources.r"; sourceTree = "SOURCE_ROOT"; };
48DC6D245DC16AB60370E612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorParameters.cpp"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameters.cpp"; sourceTree = "SOURCE_ROOT"; };
49358E09D03BE80AC5FC6DFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
49420D1F1ACCC8B9AF38E071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
4F8BCC380708025B3AF3A853 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; };
4F933C9EC68532064A2A6862 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
4FD1EFAA5AE123C1FDDAAD07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
- 5039A250AF06AEC38C4E2944 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
5072E56AE9C8929877715CAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jctrans.c"; sourceTree = "SOURCE_ROOT"; };
5087D4BAAE6FE9828E8B8ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; };
509EAB8A04273892F0DFB9AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
530EF6F2E307D0652B974CF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; };
532FE7BF349A5D3282B11350 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lsp.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.h"; sourceTree = "SOURCE_ROOT"; };
5359007FF58F0E446ACBE348 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
- 539A2442CB743B6A01BF0852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
53DA9754D2E65BD5FC519D02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
53FEB0057B8A76A0788A9EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; };
53FEDB9F7251B436B650A686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; };
547202DD90BBC6D73BE43A63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
54A9C4FC2DE90BDE60BF0519 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; };
54D0650AB941EB713FEA6CEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
- 54E85A2DF0544BA87D3F18FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; };
- 54EA9C0C18CB389F84E6A069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; };
54ED3AEF6A560DA2A2C9A6A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; };
54FF73BE742C8C07481C342E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; };
557BEDA7DC8BEE34642B1BDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; };
5683A400FAE637D656FC92F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; };
5697A592703327116AA50ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
56C909DFA885FF7924FE9B52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
- 56D6FCED08A719CBB031E441 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
5720A8E61C5C69F1FBF2FF19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; };
57982076F48853C239423EE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; };
5876C4A9AC4C7AD71F7D3935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
5877BE718733FF657697AE4A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
- 58B1B0BEC04AE000CF944BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
58E0845792538E8040E1B765 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
58E85EC374D9BB7DF4554DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; };
5923676B966C61C3DF80F2F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; };
592E0308E11DC1BBA1A47ACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdct.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdct.h"; sourceTree = "SOURCE_ROOT"; };
5971D2F5F06AE6D9ED210336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; };
- 598EBD3B89A10DFBCD14314C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
599A927491E80A43506A4331 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; };
59BCCAFE2BAAF12D52C2E4D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; };
59D1F379F1100BA563ABC14B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
- 59F5C035A5C5B91F3DEEE4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
5AB395691D12BE1A2733D6A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwutil.c"; sourceTree = "SOURCE_ROOT"; };
- 5AB6B81BA52870C0AD33341E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; };
- 5AD0D3D9D071EF79F4D2CEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
5B0B8A3938CE0F3DAB33C27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; };
5B391F3E3B16BFFA2E2E022F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; };
- 5B53101DF03F661003E571D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
5B5EBF0AFFC53BD74E32F66B = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; };
5BA0CCAD38D8808C52D14257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdmaster.c"; sourceTree = "SOURCE_ROOT"; };
5BF7B1BF887DF27308F5F8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; };
5C045A60C690BEA1949F0058 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
5C19214F0B69A3870A60BB57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 5CF362F3F89B2CA00EF86107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; };
+ 5DB5A30479144B1BDC7EFB2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5DC404F2965686DECF6BF259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E6F9C107ED44AD3A6C38F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
+ 5E7D4EE3F4AF0E8F5178E18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5FA106E6F7385516B5B015E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5FE9B5BC7B02FE080E9587BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
+ 61E35FDB62BAAE1F600E2BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 6231453F80A55511B2CE63D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 62D9065A3F6E63BBBA28804A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
+ 63EADF1FD0F657A9526EFC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 6568C39813A01F8292C43180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 661DB266D328140AD6FCC15B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 689997DCF29C4EA0BBE54FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; };
+ 697EF2A14DCAE2E85C3C5A53 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_audio_plugin_client_AU.r"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r"; sourceTree = "SOURCE_ROOT"; };
+ B7A2991D3F6CDC78EE921F1D = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.vst; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 40D80A7071E7DF99EF20511D = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Arpeggiator.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 4F64864B8C89AC8CE0C7AE55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; };
+ 54E85A2DF0544BA87D3F18FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codec.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/codec.h"; sourceTree = "SOURCE_ROOT"; };
+ 54EA9C0C18CB389F84E6A069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; };
+ 56D6FCED08A719CBB031E441 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+ 58B1B0BEC04AE000CF944BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 598EBD3B89A10DFBCD14314C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 59F5C035A5C5B91F3DEEE4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5AD0D3D9D071EF79F4D2CEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 5B53101DF03F661003E571D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
5C26F49D71004A08E3A0CF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; };
5CE7F367D76371C1FFF3C664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 5CF362F3F89B2CA00EF86107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; };
5D772B2770B73BDA1AF8B815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; };
5DA8F03F5C8C1191011DF4C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
- 5DB5A30479144B1BDC7EFB2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; };
5DC3F807B9FD5319F2A3651A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; };
- 5DC404F2965686DECF6BF259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
5DDC06B78943DE8EE8019F93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; };
5E13D21827E76C6ACCFA7358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
5E141F12062283522B42D8EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; };
- 5E6F9C107ED44AD3A6C38F25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
5E787FADAFF518FF48945E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdcolor.c"; sourceTree = "SOURCE_ROOT"; };
- 5E7D4EE3F4AF0E8F5178E18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; };
5E7F940669620DB0130FCD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; };
5EBABFCFC48AAC97FFCBCFD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; };
5F6D44158DFFDE893C0193EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
- 5FA106E6F7385516B5B015E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUPlugInDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.cpp"; sourceTree = "SOURCE_ROOT"; };
- 5FE9B5BC7B02FE080E9587BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; };
60056464347F5AB0DB5C7392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; };
6066327446579AEB6131550F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
60887069093B99EFB6343769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RTAS_DigiCode_Header.h"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode_Header.h"; sourceTree = "SOURCE_ROOT"; };
61480007134774205D35BE86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; };
6156454DCC08491EA30C909B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
616A14F72BE19655866F9808 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
- 61E35FDB62BAAE1F600E2BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
- 6231453F80A55511B2CE63D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
6249FDB026DDB5231AE6F257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; };
627AE95AF5CC80C1BC70A525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; };
62AFFF4A280B4DDB8D99D41C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant1.c"; sourceTree = "SOURCE_ROOT"; };
- 62D9065A3F6E63BBBA28804A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
62F2C4DD34181441E8ED1421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; };
6308CF3170DD547793663148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
63380E44C2675A83CD92AC22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
6349D4A49819CB2128783EF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
635548BBD744D420AF8C746E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
63C5FC2DA4CBD065C780D768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
- 63EADF1FD0F657A9526EFC14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
63F7E4F969AB0EE18F937A1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; };
64C7F5482B135482355F6207 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
6563AF5EFD9D577D4FBEF3CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; };
- 6568C39813A01F8292C43180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
656B561C18024F666338110D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
65CD5793B45D2D33CA74646E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
6660E40C2EC1B034F2ADF4D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; };
687995530430D554DF0B20D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
688DF902DE3574DE95EDBC75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; };
688F6AD0D4CB5064530296FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; };
- 689997DCF29C4EA0BBE54FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; };
68B285955D0CA37D80B32C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
68E85D93B68E7305E6ABF8B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
68F30439B989BF5B744531DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; };
6965419522A8F4EE3C0E2F45 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
6966F44BE8B15F279DD220B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; };
697C69452850D5C1756C89AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; };
- 697EF2A14DCAE2E85C3C5A53 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_audio_plugin_client_AU.r"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r"; sourceTree = "SOURCE_ROOT"; };
69B162683CA492C8029257F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; };
69B2E6C4996E538FBA2F0DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputBase.cpp"; sourceTree = "SOURCE_ROOT"; };
69B37CF1CC379A84387B0334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; };
814F03A5FDB4C571DC56365A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
8184301C69D7AD1CCD0151F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
81A0EC8B461909A7B421DA64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
- 81D8A366649648469D2DC760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
81DC784A3153D5792D55F59E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; };
81DCA1CF090A56300D6B78F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; };
8279F272A781F072C109DC98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
A919CA5B7254BB3FF60A5DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; };
A953F58A86E4C7C7B52383A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; };
A9743DB20BE0DD01D992C078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
- A9932B1CCB7BBBF4FF0D028C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
A9E3EBF2A274EE7708731BA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
AA2046B960AE7E90EC5CC4DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.h"; sourceTree = "SOURCE_ROOT"; };
AA5141D5A81D7BA0CB51A010 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; };
ACFA74CA6251F33071CC9264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
AD08E5A07F073FAD0B4CCF1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdsample.c"; sourceTree = "SOURCE_ROOT"; };
AD1AEEB00CBF438071CF297F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; };
- AD33FF34F267508546D24E26 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; };
AD8DBE26092C4C360126280D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
ADBF3351E3236DA3B0FA831C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.h"; sourceTree = "SOURCE_ROOT"; };
AE29D4EFF513314D9F20C937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
B89394626E9F23C27025D7B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; };
B8C3F774ED9A0C46A43C71CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
B8C6E4497BD264030302F083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
- B95706632A2A83A2CE7C5E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
B984F32EE03514B90E16F4D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
B9A84C8F4A70B6008D93D334 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
B9E52633F786F583D1581184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
C1AF9163089C64C157ADC646 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
C207B42DBD931192FED30C23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; };
C245903E71EADDF063AB60C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputElement.h"; sourceTree = "SOURCE_ROOT"; };
- C25F6446C7B798B834916598 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
C2B80E174578A7BD91FA76CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
C2E269880B104D1E2FEFF081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; };
C2F36C167B1F82716B343E1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; };
C4E013FC175AB6FFBC231FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
C4E46FDFF5CD5B497101877D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; };
C4F0538F70B2DBF4EEBAAFB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.c"; sourceTree = "SOURCE_ROOT"; };
- C4F2A6A5404F90E623230AAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; };
C50A7F0F1E44D056BA6A94A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; };
C5A9992B474C05D8CEF6799F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
C5AF6FAC02DCF0BB43E512F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; };
CA69F6BC994936C8B14DB9DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
CA770EA7951A4A06312B74D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; };
CA8C48A949B083AAB56CFAC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; };
- CA993FA3EB1F4457AE3FDD4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
CAA37E216AE23C66143090E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; };
CAAB995B6AF9B3BD4AF0F2FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; };
CAD3AC17AF42E2BED68AB0B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
DD9043EC83BFC1DC8EF57868 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
DDD3A80CE6EADF7C19B52C00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
DDEA3CEADBF3709684D7E2C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; sourceTree = "SOURCE_ROOT"; };
- DE0DBA6DFFF3F7B3024D78AF = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AAX.plist"; path = "Info-AAX.plist"; sourceTree = "SOURCE_ROOT"; };
DE3E2E49819D521BB2714F3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
DF297548426FD2E74B1A011E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
DF6B4903F41F115C8CB35F1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; };
E0EEB28887FDC0430938C40B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
E146A36475C5861BFC2DAC7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
E19EED16694ACA3701319473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
+ E1F43C744E827247D6DF7648 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
E21B47053F279BEB6E77ABBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
E240FFDCD94FAB72D3B39BB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = md5.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/md5.h"; sourceTree = "SOURCE_ROOT"; };
E2F0975B40FA0AC1A88F897A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
F25B3C734D1776CF6E87EE8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
F2ECE1178FFC1E48742FE6A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
F3329DC874973DF520276066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; };
- F3462C3C4D10ED70A8EADC77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
F3863870BC90E557B58BFF64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
F3932F10F0BB15FDC4B3FCCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
F3ACB6DE3915DDD06925799D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
F3D37D0FDD2772946FF5DCFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
- F3E4495446E5E75F3AFAB466 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
F3F66A53F2EEAED105A83E5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
F415203E0CC2B7E32FCBECDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
F4451645A03CFFD1D8C8BF58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
F84DA9CCCAC51DDD4D8258D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
F87343C6F5ADDD9DB66521FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
F8D4A3C9D7D42C938A9A1B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; };
+ F8E601E4E6EEC36B5DBB553B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
F8EC2EB5F339D51BD491E8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
F97C03E9DF14C226EF400C73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
F994AC2474618A75DD677972 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; };
911865057C71D7643E1F513A = {isa = PBXGroup; children = (
659909AEEC19DE58F4EB4430, ); name = Arpeggiator; sourceTree = "<group>"; };
394DA0374FB09A133A715856 = {isa = PBXGroup; children = (
+ E1F43C744E827247D6DF7648,
+ 661DB266D328140AD6FCC15B,
FE67ABF81D529712F7669724,
53FEB0057B8A76A0788A9EC4,
0A01B8D1B8BB92ECAA5DB753,
1AEDC787DD547DD40727B3AD,
BCA4C93B24E774413746F944,
1AEDC787DD547DD40727B3AD, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 3D360027A00D6E6CA4AF3B88 = {isa = PBXGroup; children = (
- 35D50824AD807A721FA1ED0D,
- 0006D862EC3A374B150CC1FD,
- 81D8A366649648469D2DC760, ); name = "audio_cd"; sourceTree = "<group>"; };
- 3AD3F6FAD77312BB4F347053 = {isa = PBXGroup; children = (
+ CFD2773ED3E4AA152C358F70 = {isa = PBXGroup; children = (
7FE8F6BCC7156AD27860D6E4,
1AA75C2ACEBBC88A9690CA64,
29BF1F5D248E3ECC4C3D187C,
867C3B1BCE6F830734F490B0,
8A64535D698A878E8431C0D8,
A192DA6FDD08662E55DE912F, ); name = "audio_io"; sourceTree = "<group>"; };
- CA3F400DDCB2D456634E6D3E = {isa = PBXGroup; children = (
+ EF718B5670DEEF35C61AA47B = {isa = PBXGroup; children = (
EBFE7ACD399E7C7F30762156,
7BC8E6DF436B44F55237F9A6,
D6637E63530A6CA5A1E34E7C,
7ABF23E7BCFA4CDB0544DC8B,
4239E67EB3885D23F4E180FD,
C308951E47677BDBD013591B,
- A9932B1CCB7BBBF4FF0D028C,
0DDC6D734C63843B090425CB,
EBED719E6FDBBE3473CD8FFA,
- B95706632A2A83A2CE7C5E13,
- 539A2442CB743B6A01BF0852,
08CE424649F64407EB759932,
4D67E97CC213CBD5BD61C7B6,
D76C96902FA3B6C201EBE272,
17B8CB9D94CA67C4CF214B1A,
- F3462C3C4D10ED70A8EADC77,
- F3E4495446E5E75F3AFAB466,
39E39B9AFF88B9F835F957D0,
F6E7047A4B14DF67FC06B116,
50F39057CB7BDC9068D7F3E4, ); name = native; sourceTree = "<group>"; };
- 5208F184DC9BE418248E9E8D = {isa = PBXGroup; children = (
+ AC00D7680581B3EB0C11D455 = {isa = PBXGroup; children = (
6A379B0CAB0C93AB550076F4,
08C67D8F898198038E7B55B1,
2A7EED1861BF3B69BF30B895,
0A6F3D20A53C3556D04EBFF9, ); name = sources; sourceTree = "<group>"; };
9B4021595672E4CE56049355 = {isa = PBXGroup; children = (
- 3D360027A00D6E6CA4AF3B88,
- 3AD3F6FAD77312BB4F347053,
- CA3F400DDCB2D456634E6D3E,
+ CFD2773ED3E4AA152C358F70,
+ EF718B5670DEEF35C61AA47B,
ADCFCE0C9BEAC3674C72793A,
- 5208F184DC9BE418248E9E8D,
+ AC00D7680581B3EB0C11D455,
70AB4EFF693E1AE1EEBFA903,
4F64864B8C89AC8CE0C7AE55,
AED6A0E57D5F1CB9CEB1DECB,
DAF907ABF4DE87F35748F3D6,
C0EDB3E56321B663CEA2E600,
DAF907ABF4DE87F35748F3D6, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- A761179035DC171AE3CC1361 = {isa = PBXGroup; children = (
+ FD9A24ADFEA849981EBBA96B = {isa = PBXGroup; children = (
14ADC9B94C2E4CD0D6E0AEC1,
38286B4A32B4D3C255E0A871, ); name = AAX; sourceTree = "<group>"; };
2950965D1962FA815C4D2EED = {isa = PBXGroup; children = (
905886A5158A96197F3B794D, ); name = CoreAudioUtilityClasses; sourceTree = "<group>"; };
BA137B835216E7860F255BD8 = {isa = PBXGroup; children = (
2950965D1962FA815C4D2EED,
- 3C5308C4C1F27A3EDA01A6AE,
7E48708D1F7B5C675C2317FA,
5B391F3E3B16BFFA2E2E022F, ); name = AU; sourceTree = "<group>"; };
- 0F72F8E63055FBB979899A29 = {isa = PBXGroup; children = (
+ CC2027FE40B2EDFA6A811FC1 = {isa = PBXGroup; children = (
60887069093B99EFB6343769,
26EFE7738F4209B87E675B48,
8495D4AC707047B56331794B,
2C88000D1FD0FF38CE9A45DC,
85762464FE37AFE1886FEC22,
EBC20070F34FA195234BE6DF, ); name = RTAS; sourceTree = "<group>"; };
- 745D75DA8B561FCA6860047F = {isa = PBXGroup; children = (
+ 786DD8C019895C90030F73AA = {isa = PBXGroup; children = (
4383F22A2A80A06AD2CC494A,
12351FF0F32DCFFD8F9B753E, ); name = Standalone; sourceTree = "<group>"; };
- B6C772C0440D8D8DBE7632CB = {isa = PBXGroup; children = (
+ 4BD7052F22B47C4B2748A606 = {isa = PBXGroup; children = (
391348A415637487C38D51AF,
689997DCF29C4EA0BBE54FB3,
F04DF2587A3735FD7CBD29C0,
B9FD8B0E11BC5821854BCBA5,
E8F1F564D31ECDB765484D35,
- C4F2A6A5404F90E623230AAB,
4C2521E196D9F39AEE5A9A3C,
54ED3AEF6A560DA2A2C9A6A1,
73967B10B92F7FAB36839F0C, ); name = utility; sourceTree = "<group>"; };
- 6CA0C21AAEF945AA59C2EB8C = {isa = PBXGroup; children = (
+ 57CE03EAF9F3BB51255FB521 = {isa = PBXGroup; children = (
0462FCF4041854C357138EB2,
C18A26D290AB9B1B16DDF330, ); name = VST; sourceTree = "<group>"; };
- 8A9835029A0E7FDB7F930A00 = {isa = PBXGroup; children = (
+ 7A2646AE9CE8B5503A4C1183 = {isa = PBXGroup; children = (
EAAA5DE166254FF08BBF56C4, ); name = VST3; sourceTree = "<group>"; };
7FF931018B659697B544BFF0 = {isa = PBXGroup; children = (
- A761179035DC171AE3CC1361,
+ FD9A24ADFEA849981EBBA96B,
BA137B835216E7860F255BD8,
- 0F72F8E63055FBB979899A29,
- 745D75DA8B561FCA6860047F,
- B6C772C0440D8D8DBE7632CB,
- 6CA0C21AAEF945AA59C2EB8C,
- 8A9835029A0E7FDB7F930A00,
+ CC2027FE40B2EDFA6A811FC1,
+ 786DD8C019895C90030F73AA,
+ 4BD7052F22B47C4B2748A606,
+ 57CE03EAF9F3BB51255FB521,
+ 7A2646AE9CE8B5503A4C1183,
735F5B2D82B337DC3E3F2B4C,
951CE97A5CF4D268F6F8F450,
F9BB54AE65B0CB1C8D3A6484,
887F23C28C20951DB7BE06BA,
3CD35644319298B5B3AF2FC2,
735F5B2D82B337DC3E3F2B4C, ); name = "juce_audio_plugin_client"; sourceTree = "<group>"; };
- 0921F0FBC0C2AC94018FEA08 = {isa = PBXGroup; children = (
+ 80BCDCD715482F55D74C678A = {isa = PBXGroup; children = (
9FDB51EECD49FDCCA59044D8,
45D5492FCA78D56493818316,
6CA1EB19C6F36C21C419221B,
82A9C5375121FE33CC7F40BC, ); name = format; sourceTree = "<group>"; };
- B0BB2447CD4F30C990B30C37 = {isa = PBXGroup; children = (
+ 353037F90D60D2E131BD1AB4 = {isa = PBXGroup; children = (
+ F8E601E4E6EEC36B5DBB553B,
6AE260B5C5FB523C9FD4640D,
6FCC51A0993766D53206A13B,
979712708B1E25F1C971B73B,
984BE3EEB980581B9CF1BD1C,
B4F21FE2C6382633783FF727,
AEC2C3E4D6FD3687B337E2B2,
+ 4280E82C7B26C423A43E1177,
01A03043BD956D0A30DC5B41,
9ECB42E31DD6B72D21BC4195,
738D739A17DA063893459D74,
59D1F379F1100BA563ABC14B, ); name = "format_types"; sourceTree = "<group>"; };
- 9E5D6B703B4A0FC3F310EB96 = {isa = PBXGroup; children = (
- CA993FA3EB1F4457AE3FDD4B,
- 5039A250AF06AEC38C4E2944,
+ 426E3FAF3039A5525CA00D2C = {isa = PBXGroup; children = (
8C04D8DABC2942913A910430,
FF2264E0203C999E87AC20F1,
81357EB3F1E156A75DE87AEE,
4538E0CC75638572E0AB6F5D,
9ADD1D5D091D77E36ED23DC5, ); name = utilities; sourceTree = "<group>"; };
18257A0DC7986102E9271656 = {isa = PBXGroup; children = (
- 0921F0FBC0C2AC94018FEA08,
- B0BB2447CD4F30C990B30C37,
- 9E5D6B703B4A0FC3F310EB96,
+ 80BCDCD715482F55D74C678A,
+ 353037F90D60D2E131BD1AB4,
+ 426E3FAF3039A5525CA00D2C,
9310B8D8D8674CC7ABE7D0C3,
B83F565F3FBADBBB4B9281ED,
DB7068A6434DFA68ACCF9C73,
2E94A5BF0507304C7FBE7DAC,
2F4E8F666770D3FE1819841C,
B88670F8C43CDC4E1C93F040,
- 5AB6B81BA52870C0AD33341E,
530EF6F2E307D0652B974CF4,
F3329DC874973DF520276066,
EC519AF44CCE0881235FB4EB,
5087D4BAAE6FE9828E8B8ED3,
8998F48F783F40A3C08AFD0E,
- 09A11E2B06C9254B90D33931,
E2F7D83F51D8257B263771B6,
EF01A1FC7C85F759038CC4D1,
8D256AABEE9F2E8B11736E86,
F4AFD4E9AEACE1644C6E9A38, ); name = "Juce Library Code"; sourceTree = "<group>"; };
467A24411BA7A185B2C53178 = {isa = PBXGroup; children = (
0976BFC1400DB1F6254192FC,
- AD33FF34F267508546D24E26,
E39E8398B8A26F3F99A37341,
- DE0DBA6DFFF3F7B3024D78AF,
2F12CFEB1E95BC54E1CD3C7D, ); name = Resources; sourceTree = "<group>"; };
61D8F5CF64FE3EC528B85D1B = {isa = PBXGroup; children = (
C3F6222E9059F8CCD9674AD0,
56D6FCED08A719CBB031E441,
7150191620777B001103827C,
2B44B90F3CEDD45A731586AD,
- C25F6446C7B798B834916598,
F175178B06C128804FE8B2DD,
427916B14A13C9592134DE85,
0DE771499C57EF171A4B80C2,
970820EDE1527139F0A21632, ); name = Frameworks; sourceTree = "<group>"; };
34E9DBEC61D3C0809DAF1AB4 = {isa = PBXGroup; children = (
B7A2991D3F6CDC78EE921F1D,
- 9B925B22A539EFE048C4F2D0,
40D80A7071E7DF99EF20511D,
- 14CD0689B0BFC8758FA6C408,
6C612817F52B969A5F16CE94, ); name = Products; sourceTree = "<group>"; };
7678EFC533FC99BEEF151913 = {isa = PBXGroup; children = (
ACE47F30020C3E4144BD108A,
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-VST.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/";
LIBRARY_STYLE = Bundle;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-VST.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/";
LIBRARY_STYLE = Bundle;
PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator;
SDKROOT_ppc = macosx10.5;
WRAPPER_EXTENSION = vst; }; name = Release; };
- D42A639827E2709B5AF668D8 = {isa = XCBuildConfiguration; buildSettings = {
- CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
- CLANG_LINK_OBJC_RUNTIME = NO;
- COMBINE_HIDPI_IMAGES = YES;
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
- COPY_PHASE_STRIP = NO;
- DEPLOYMENT_LOCATION = YES;
- DSTROOT = /;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "_DEBUG=1",
- "DEBUG=1",
- "JucePlugin_Build_VST=0",
- "JucePlugin_Build_VST3=1",
- "JucePlugin_Build_AU=0",
- "JucePlugin_Build_AUv3=0",
- "JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=0",
- "JucePlugin_Build_Standalone=0",
- "JUCER_XCODE_MAC_F6D2F4CF=1",
- "JUCE_APP_VERSION=1.0.0",
- "JUCE_APP_VERSION_HEX=0x10000", );
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
- INFOPLIST_FILE = Info-VST3.plist;
- INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/";
- LIBRARY_STYLE = Bundle;
- MACOSX_DEPLOYMENT_TARGET = 10.10;
- MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
- OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion";
- OTHER_LDFLAGS = "-bundle -lArpeggiator";
- PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator;
- SDKROOT_ppc = macosx10.5;
- WRAPPER_EXTENSION = vst3; }; name = Debug; };
- 07B9E8F70529950A47F22BA0 = {isa = XCBuildConfiguration; buildSettings = {
- CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
- CLANG_LINK_OBJC_RUNTIME = NO;
- COMBINE_HIDPI_IMAGES = YES;
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
- DEAD_CODE_STRIPPING = YES;
- DEPLOYMENT_LOCATION = YES;
- DSTROOT = /;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_OPTIMIZATION_LEVEL = 3;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "_NDEBUG=1",
- "NDEBUG=1",
- "JucePlugin_Build_VST=0",
- "JucePlugin_Build_VST3=1",
- "JucePlugin_Build_AU=0",
- "JucePlugin_Build_AUv3=0",
- "JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=0",
- "JucePlugin_Build_Standalone=0",
- "JUCER_XCODE_MAC_F6D2F4CF=1",
- "JUCE_APP_VERSION=1.0.0",
- "JUCE_APP_VERSION_HEX=0x10000", );
- GCC_SYMBOLS_PRIVATE_EXTERN = YES;
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
- INFOPLIST_FILE = Info-VST3.plist;
- INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/";
- LIBRARY_STYLE = Bundle;
- MACOSX_DEPLOYMENT_TARGET = 10.10;
- MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
- OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion";
- OTHER_LDFLAGS = "-bundle -lArpeggiator";
- PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator;
- SDKROOT_ppc = macosx10.5;
- WRAPPER_EXTENSION = vst3; }; name = Release; };
575D0AC8DD9926D1C8349BE2 = {isa = XCBuildConfiguration; buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_LINK_OBJC_RUNTIME = NO;
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-AU.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
LIBRARY_STYLE = Bundle;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-AU.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
LIBRARY_STYLE = Bundle;
PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator;
SDKROOT_ppc = macosx10.5;
WRAPPER_EXTENSION = component; }; name = Release; };
- 515B9E5E69F486633922E731 = {isa = XCBuildConfiguration; buildSettings = {
- CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
- CLANG_LINK_OBJC_RUNTIME = NO;
- COMBINE_HIDPI_IMAGES = YES;
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
- COPY_PHASE_STRIP = NO;
- DEPLOYMENT_LOCATION = YES;
- DSTROOT = /;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "_DEBUG=1",
- "DEBUG=1",
- "JucePlugin_Build_VST=0",
- "JucePlugin_Build_VST3=0",
- "JucePlugin_Build_AU=0",
- "JucePlugin_Build_AUv3=0",
- "JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=1",
- "JucePlugin_Build_Standalone=0",
- "JUCER_XCODE_MAC_F6D2F4CF=1",
- "JUCE_APP_VERSION=1.0.0",
- "JUCE_APP_VERSION_HEX=0x10000", );
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
- INFOPLIST_FILE = Info-AAX.plist;
- INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/";
- LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\"");
- LIBRARY_STYLE = Bundle;
- MACOSX_DEPLOYMENT_TARGET = 10.10;
- MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
- OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion";
- OTHER_LDFLAGS = "-bundle -lAAXLibrary -lArpeggiator";
- PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator;
- SDKROOT_ppc = macosx10.5;
- WRAPPER_EXTENSION = aaxplugin; }; name = Debug; };
- 3F21DFC5AA6C44E97BE3588C = {isa = XCBuildConfiguration; buildSettings = {
- CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
- CLANG_LINK_OBJC_RUNTIME = NO;
- COMBINE_HIDPI_IMAGES = YES;
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
- DEAD_CODE_STRIPPING = YES;
- DEPLOYMENT_LOCATION = YES;
- DSTROOT = /;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_OPTIMIZATION_LEVEL = 3;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "_NDEBUG=1",
- "NDEBUG=1",
- "JucePlugin_Build_VST=0",
- "JucePlugin_Build_VST3=0",
- "JucePlugin_Build_AU=0",
- "JucePlugin_Build_AUv3=0",
- "JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=1",
- "JucePlugin_Build_Standalone=0",
- "JUCER_XCODE_MAC_F6D2F4CF=1",
- "JUCE_APP_VERSION=1.0.0",
- "JUCE_APP_VERSION_HEX=0x10000", );
- GCC_SYMBOLS_PRIVATE_EXTERN = YES;
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
- INFOPLIST_FILE = Info-AAX.plist;
- INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/";
- LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\"");
- LIBRARY_STYLE = Bundle;
- MACOSX_DEPLOYMENT_TARGET = 10.10;
- MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
- OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion";
- OTHER_LDFLAGS = "-bundle -lAAXLibrary -lArpeggiator";
- PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.Arpeggiator;
- SDKROOT_ppc = macosx10.5;
- WRAPPER_EXTENSION = aaxplugin; }; name = Release; };
47B6BE82623EE30A5AA944A2 = {isa = XCBuildConfiguration; buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_LINK_OBJC_RUNTIME = NO;
"DEBUG=1",
"JUCE_SHARED_CODE=1",
"JucePlugin_Build_VST=1",
- "JucePlugin_Build_VST3=1",
+ "JucePlugin_Build_VST3=0",
"JucePlugin_Build_AU=1",
"JucePlugin_Build_AUv3=0",
"JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=1",
+ "JucePlugin_Build_AAX=0",
"JucePlugin_Build_Standalone=0",
"JUCER_XCODE_MAC_F6D2F4CF=1",
"JUCE_APP_VERSION=1.0.0",
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INSTALL_PATH = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
"NDEBUG=1",
"JUCE_SHARED_CODE=1",
"JucePlugin_Build_VST=1",
- "JucePlugin_Build_VST3=1",
+ "JucePlugin_Build_VST3=0",
"JucePlugin_Build_AU=1",
"JucePlugin_Build_AUv3=0",
"JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=1",
+ "JucePlugin_Build_AAX=0",
"JucePlugin_Build_Standalone=0",
"JUCER_XCODE_MAC_F6D2F4CF=1",
"JUCE_APP_VERSION=1.0.0",
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INSTALL_PATH = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
WARNING_CFLAGS = -Wreorder;
ZERO_LINK = NO; }; name = Release; };
D65F24B83710D0DAEB515331 = {isa = PBXTargetDependency; target = 892A28E616D56F05C8C11049; };
- FB5FCA02BA29016482B2C525 = {isa = PBXTargetDependency; target = 805B0B33D0A41CE1F7297E21; };
78D7AF4AA023DEF36CFB4694 = {isa = PBXTargetDependency; target = 07D9D33E3466A8A497086BEE; };
- 32DBB1DF9706638992667EDB = {isa = PBXTargetDependency; target = 68FD79ED9C88703C522C7995; };
E096AE1D1B8906A691BBBE6F = {isa = PBXTargetDependency; target = 319717B733C323BE76160BD4; };
B601BADC34558F9AD61C80D7 = {isa = XCConfigurationList; buildConfigurations = (
A6E581C14CB7121F9770B6E8,
024F8B1B5C243015CA8FEF35, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
08D74DB290FCD09A8D4810BB = {isa = PBXAggregateTarget; buildConfigurationList = 3C2FB38C546E3A4CBD11DD08; buildPhases = ( ); buildRules = ( ); dependencies = (
D65F24B83710D0DAEB515331,
- FB5FCA02BA29016482B2C525,
78D7AF4AA023DEF36CFB4694,
- 32DBB1DF9706638992667EDB,
E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (All)"; productName = Arpeggiator; };
8743CAE2B16AA12050DFC703 = {isa = XCConfigurationList; buildConfigurations = (
D83A1735FBD5B491316453B8,
35F81D0026609F1B1F03C592,
8A0C4A63928476A51A5ABA85,
42249366F95C3CE5A3FB0B27,
- 3077B2084E87797DD942DD7A,
9F2B4549218AC0A51FB01877,
568F6C3382967F18B3398DC4,
82DB33B4356E013942B2B130,
374615B793201971BEB6ACD7,
C536519964353A302E775B31, ); buildRules = ( ); dependencies = (
E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (VST)"; productName = Arpeggiator; productReference = B7A2991D3F6CDC78EE921F1D; productType = "com.apple.product-type.bundle"; };
- D6CB2F705702254FEDACDA4D = {isa = XCConfigurationList; buildConfigurations = (
- D42A639827E2709B5AF668D8,
- 07B9E8F70529950A47F22BA0, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
- 6E5217D875151ACA03487C5F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (
- EFD318C0120FF5F53BE57A95, ); runOnlyForDeploymentPostprocessing = 0; };
- D6A7B6CC63294E7F4E4C2669 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
- 087F53B6CB2E5291253A1662, ); runOnlyForDeploymentPostprocessing = 0; };
- FD25AA0E45A27BC734181E25 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
- E1EAF7A85355978D529D0FAA,
- D0DA0BDE4746B7B12FD847CF,
- 6AAE082359758785B89D3620,
- 35F81D0026609F1B1F03C592,
- 8A0C4A63928476A51A5ABA85,
- 42249366F95C3CE5A3FB0B27,
- 3077B2084E87797DD942DD7A,
- 9F2B4549218AC0A51FB01877,
- 568F6C3382967F18B3398DC4,
- 82DB33B4356E013942B2B130,
- 2652F9F9C3F4DBC1C5D34974,
- 6056E4708065C48B5DBEC734, ); runOnlyForDeploymentPostprocessing = 0; };
- 805B0B33D0A41CE1F7297E21 = {isa = PBXNativeTarget; buildConfigurationList = D6CB2F705702254FEDACDA4D; buildPhases = (
- 6E5217D875151ACA03487C5F,
- D6A7B6CC63294E7F4E4C2669,
- FD25AA0E45A27BC734181E25, ); buildRules = ( ); dependencies = (
- E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (VST3)"; productName = Arpeggiator; productReference = 9B925B22A539EFE048C4F2D0; productType = "com.apple.product-type.bundle"; };
6E29A49617F400783841C529 = {isa = XCConfigurationList; buildConfigurations = (
575D0AC8DD9926D1C8349BE2,
6B6E02F5844A057FE3738154, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
8A0C4A63928476A51A5ABA85,
A6957B3A25A520C504229736,
42249366F95C3CE5A3FB0B27,
- 3077B2084E87797DD942DD7A,
9F2B4549218AC0A51FB01877,
568F6C3382967F18B3398DC4,
82DB33B4356E013942B2B130,
CE1F70D63BB05DCAD3BA3110,
040001CD4E8585137BF43942, ); buildRules = ( ); dependencies = (
E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (AU)"; productName = Arpeggiator; productReference = 40D80A7071E7DF99EF20511D; productType = "com.apple.product-type.bundle"; };
- 10C13AD68F0A4BADBD3E3A7E = {isa = XCConfigurationList; buildConfigurations = (
- 515B9E5E69F486633922E731,
- 3F21DFC5AA6C44E97BE3588C, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
- 56971B7CCCA861C76980BF5F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (
- EFD318C0120FF5F53BE57A95, ); runOnlyForDeploymentPostprocessing = 0; };
- A74DE6A1732099BA13F670AD = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
- 0C147FBEF5B1A66FBFBB01F4, ); runOnlyForDeploymentPostprocessing = 0; };
- B6D4E134F7DDBE5BEE94F2B0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
- E1EAF7A85355978D529D0FAA,
- D0DA0BDE4746B7B12FD847CF,
- 6AAE082359758785B89D3620,
- 35F81D0026609F1B1F03C592,
- 8A0C4A63928476A51A5ABA85,
- 42249366F95C3CE5A3FB0B27,
- 3077B2084E87797DD942DD7A,
- 9F2B4549218AC0A51FB01877,
- 568F6C3382967F18B3398DC4,
- 82DB33B4356E013942B2B130,
- 2652F9F9C3F4DBC1C5D34974,
- 6056E4708065C48B5DBEC734, ); runOnlyForDeploymentPostprocessing = 0; };
- 68FD79ED9C88703C522C7995 = {isa = PBXNativeTarget; buildConfigurationList = 10C13AD68F0A4BADBD3E3A7E; buildPhases = (
- 56971B7CCCA861C76980BF5F,
- A74DE6A1732099BA13F670AD,
- B6D4E134F7DDBE5BEE94F2B0, ); buildRules = ( ); dependencies = (
- E096AE1D1B8906A691BBBE6F, ); name = "Arpeggiator (AAX)"; productName = Arpeggiator; productReference = 14CD0689B0BFC8758FA6C408; productType = "com.apple.product-type.bundle"; };
AFF7B7B2889999928579D32F = {isa = XCConfigurationList; buildConfigurations = (
47B6BE82623EE30A5AA944A2,
3C43BDBC68E42CE3DAB2F269, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
9E93B5D7B33591139054C54E, ); runOnlyForDeploymentPostprocessing = 0; };
319717B733C323BE76160BD4 = {isa = PBXNativeTarget; buildConfigurationList = AFF7B7B2889999928579D32F; buildPhases = (
1CDAF3706AC2D6D164846859, ); buildRules = ( ); dependencies = ( ); name = "Arpeggiator (Shared Code)"; productName = Arpeggiator; productReference = 6C612817F52B969A5F16CE94; productType = "com.apple.product-type.library.static"; };
- 4A5323BE8842B95E4FCCD6ED = {isa = PBXProject; buildConfigurationList = B601BADC34558F9AD61C80D7; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 08D74DB290FCD09A8D4810BB = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };892A28E616D56F05C8C11049 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };805B0B33D0A41CE1F7297E21 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };07D9D33E3466A8A497086BEE = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };68FD79ED9C88703C522C7995 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };319717B733C323BE76160BD4 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 7678EFC533FC99BEEF151913; projectDirPath = ""; projectRoot = ""; targets = (08D74DB290FCD09A8D4810BB, 892A28E616D56F05C8C11049, 805B0B33D0A41CE1F7297E21, 07D9D33E3466A8A497086BEE, 68FD79ED9C88703C522C7995, 319717B733C323BE76160BD4); };
+ 4A5323BE8842B95E4FCCD6ED = {isa = PBXProject; buildConfigurationList = B601BADC34558F9AD61C80D7; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 08D74DB290FCD09A8D4810BB = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };892A28E616D56F05C8C11049 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };07D9D33E3466A8A497086BEE = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };319717B733C323BE76160BD4 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 7678EFC533FC99BEEF151913; projectDirPath = ""; projectRoot = ""; targets = (08D74DB290FCD09A8D4810BB, 892A28E616D56F05C8C11049, 07D9D33E3466A8A497086BEE, 319717B733C323BE76160BD4); };
};
rootObject = 4A5323BE8842B95E4FCCD6ED;
}
<ClCompile>\r
<Optimization>Disabled</Optimization>\r
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
- <AdditionalIncludeDirectories>c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
<RuntimeTypeInfo>true</RuntimeTypeInfo>\r
<PrecompiledHeader/>\r
<SuppressStartupBanner>true</SuppressStartupBanner>\r
<OutputFile>$(IntDir)\Arpeggiator.bsc</OutputFile>\r
</Bscmake>\r
- <PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
- </PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<Midl>\r
</Midl>\r
<ClCompile>\r
<Optimization>Full</Optimization>\r
- <AdditionalIncludeDirectories>c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
<RuntimeTypeInfo>true</RuntimeTypeInfo>\r
<PrecompiledHeader/>\r
<SuppressStartupBanner>true</SuppressStartupBanner>\r
<OutputFile>$(IntDir)\Arpeggiator.bsc</OutputFile>\r
</Bscmake>\r
- <PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
- </PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\Arpeggiator.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp"/>\r
- <ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_AAX.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_utils.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_VST2.cpp"/>\r
- <ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_VST3.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_processors.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_core.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_cryptography.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\CAXException.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\ComponentBase.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\Standalone\juce_StandaloneFilterWindow.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_CarbonVisibility.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_FakeMouseMoveGenerator.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeModuleHeaders.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_WindowsHooks.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_RTAS.r"/>\r
<None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Arpeggiator.cpp">\r
<Filter>Arpeggiator\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp">\r
<Filter>Juce Library Code</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_AAX.cpp">\r
- <Filter>Juce Library Code</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_utils.cpp">\r
<Filter>Juce Library Code</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_VST2.cpp">\r
<Filter>Juce Library Code</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_VST3.cpp">\r
- <Filter>Juce Library Code</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_processors.cpp">\r
<Filter>Juce Library Code</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\RTAS</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
</None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r">\r
+ <Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
+ </None>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r">\r
<Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
</None>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
#define JucePlugin_Build_VST 1\r
#endif\r
#ifndef JucePlugin_Build_VST3\r
- #define JucePlugin_Build_VST3 1\r
+ #define JucePlugin_Build_VST3 0\r
#endif\r
#ifndef JucePlugin_Build_AU\r
#define JucePlugin_Build_AU 1\r
#define JucePlugin_Build_RTAS 0\r
#endif\r
#ifndef JucePlugin_Build_AAX\r
- #define JucePlugin_Build_AAX 1\r
+ #define JucePlugin_Build_AAX 0\r
#endif\r
#ifndef JucePlugin_Build_STANDALONE\r
#define JucePlugin_Build_STANDALONE 0\r
\r
//==============================================================================\r
Arpeggiator()\r
+ : AudioProcessor (BusesProperties()) // add no audio buses at all\r
{\r
addParameter (speed = new AudioParameterFloat ("speed", "Arpeggiator Speed", 0.0, 1.0, 0.5));\r
}\r
\r
~Arpeggiator() {}\r
\r
- //==============================================================================\r
- bool setPreferredBusArrangement (bool isInputBus, int busIndex,\r
- const AudioChannelSet& preferred) override\r
- {\r
- ignoreUnused (isInputBus, busIndex, preferred);\r
-\r
- // we don't support any audio buses\r
- return false;\r
- }\r
-\r
//==============================================================================\r
void prepareToPlay (double sampleRate, int samplesPerBlock) override\r
{\r
time = (time + numSamples) % noteDuration;\r
}\r
\r
+ //==============================================================================\r
+ bool isMidiEffect() const override { return true; }\r
+\r
//==============================================================================\r
AudioProcessorEditor* createEditor() override { return new GenericEditor (*this); }\r
bool hasEditor() const override { return true; }\r
//==============================================================================\r
const String getName() const override { return "Arpeggiator"; }\r
\r
- bool acceptsMidi() const override { return false; }\r
- bool producesMidi() const override { return false; }\r
+ bool acceptsMidi() const override { return true; }\r
+ bool producesMidi() const override { return true; }\r
double getTailLengthSeconds() const override { return 0; }\r
\r
//==============================================================================\r
0F026B7B55C2BE2C84B2DAB4 = {isa = PBXBuildFile; fileRef = 169146CE0C9730602B3D31BD; };
AB55966A405A5A2262B2258C = {isa = PBXBuildFile; fileRef = E5C2175FF96CED1519F2B7D6; };
068A921912EBCF967623E359 = {isa = PBXBuildFile; fileRef = F8D93BA03DB14514E2F9D007; };
- CE5290A38E4167322311FE73 = {isa = PBXBuildFile; fileRef = C43A527A45129CF421296BD0; };
221F64B3B662038BA2BF5FC3 = {isa = PBXBuildFile; fileRef = 074F1E0FAFBD4B127B869BC2; };
FA171B2FEC24575B5157EB15 = {isa = PBXBuildFile; fileRef = 71B73129FAEF3B7CB3FF6993; };
46AB8BC7FA7E34563E5F005C = {isa = PBXBuildFile; fileRef = 9D6BD8DE6FC16E28FE2169F0; };
C4CDB09203A906EA7EAA2026 = {isa = PBXBuildFile; fileRef = A970D3F194D02E962DFBA282; };
E1571374E2C0537E368BD1E6 = {isa = PBXBuildFile; fileRef = 2B186C698E4525FF67DC068E; };
FBB6DF69B4E4774056CA59CE = {isa = PBXBuildFile; fileRef = 6CFCABC6B50C43F1D69A769D; };
- 428763007D4B4F27095FC927 = {isa = PBXBuildFile; fileRef = 2F17FACA233BB2C5119FC2FD; };
9A8029F7D3A5673112C6CD48 = {isa = PBXBuildFile; fileRef = FAD1FB98450C939FAB191F42; };
E35621718EE50BEA328E3CD9 = {isa = PBXBuildFile; fileRef = B19BE7CC7C48A092EF7BEB26; };
0F58D649AF5E12F772510165 = {isa = PBXBuildFile; fileRef = 749B5D7F2039C64EB76BF7DF; };
BE1CCB2BA25C1B9CC93BD180 = {isa = PBXBuildFile; fileRef = 2A42EB4E6808C916CD805B55; };
6A823DA60FD178B0AE4F7795 = {isa = PBXBuildFile; fileRef = 539D8FB917601AE0FEF2EDD0; };
6859170B30F156B4628F7476 = {isa = PBXBuildFile; fileRef = 3F62CC0D964ADA2C5FEE8780; };
- 920289CA43FF41424E0F0AE9 = {isa = PBXBuildFile; fileRef = 09EBA9B824955D1E0C3FFD47; };
27BAA78181CB9EA282A6AC64 = {isa = PBXBuildFile; fileRef = CD8FCD56FD26EAE31AC22952; };
7EFB529B9EA74539375A96E0 = {isa = PBXBuildFile; fileRef = 9F805238C9CE8C52469C6355; };
339CCDD31A03CAA2BD693844 = {isa = PBXBuildFile; fileRef = A0F05FB7BDBD3AFAA1004003; };
08D82B3EB51F3BD62279463D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
094D7AD9353A04229B7268D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
09AA3BA21CA8D651D23CDD20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
- 09EBA9B824955D1E0C3FFD47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; };
0A4DABB2172A1DA1F32B14F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
0A91FE71C03112448C0D92B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; };
0AA92ADED1984DA556BF1ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.h"; sourceTree = "SOURCE_ROOT"; };
0BF4500BB949003D8997640C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; };
0C2D7C6FB347CEA06CC25E41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
0C46760C35F7C80B22188D08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterInt.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterInt.h"; sourceTree = "SOURCE_ROOT"; };
- 0CF532889CC441CDFB9DCDCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
0CFA4CB74568DE690B65D1AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
0D2A7858B11DFF41AE0F0D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
0DD046EBFAD0AC88E36223BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; };
0E8F78D1A6A17F75E5DB869D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnit.h"; sourceTree = "SOURCE_ROOT"; };
0E9105C4A43935DFA8D996AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
0F2C5B8B5D3E3F95146BC78F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; };
- 0F2D50B4B1A29249BDC31571 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
0F34C1D3DEE90416576E69FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
0F5B8E9B1B49FFBB4C5617B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
0F855B8881DF396B1BD4592B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
2E604C5134A03FD04E2EC630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
2E7CCB6D177BD1D6435B7D96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
2ED4E996232874001B47293D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; };
- 2F17FACA233BB2C5119FC2FD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
2F3C06EC8BD4A73922E98F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
305ECBAB22C56C76FB9702D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
306307F24A708785FE1232ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; };
471D92ACB8B31557BCA3B255 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; };
4734CCD9EBBAD5455D4079BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
476A4BF63FB8E65B39CDC05F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
- 4796877B2EEF190AC4208F86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
47CCE519A2D6F8FBE8EC27DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
483DD8616572C4DBF80452B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
491A45F3C51EDD4852593D22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
64306EC75358EFF4DE60F9BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; };
6452C600806134C93DD25002 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
64B806A30A3221DA83EBB3BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
- 64DAFE765FF7BB6A0B64D7CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
6536B63E757FD1C4B764F45A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; };
654E096AB267157F9BCF808B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
66CC728AA541D35F256EA0DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; };
6FB08AE94E95CEAAC20AFB45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
6FC77559711769BE4ED8EA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; };
6FDBE97B5987335D1ACC3DB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; };
- 701C2B1410E366088FC0D8BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
702C5F57A4F85944F7B80CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
705F54F6DEEB05BD7C2A058E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
706E3D520DD80B051738227C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; };
7994DDE43DEA787F20F3F49A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
7A1318088B0D8CB9D9EA8C48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
7A493F619E3F23E831414EDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7A88A30488FC54BC991C2C02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
7AC84CB7C43F47FCE3CEC890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../JuceLibraryCode/juce_events.mm"; sourceTree = "SOURCE_ROOT"; };
7B33DF98BB4976C787FCA2A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/ComponentBase.h"; sourceTree = "SOURCE_ROOT"; };
7B4B931B90ADD3ACF741A4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
8C68CCB04F23709D332A85A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
8C6C84652D446F0FA1C71637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
8C96B65675D85EE1DC3E075C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
- 8CABBDFF3D48FA622F561D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
8CD7B01A646341ACCBB0A732 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
8CE9CC147B5ACCAFF12E599F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEInstrument.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.cpp"; sourceTree = "SOURCE_ROOT"; };
8CFA7D0D77CB2381C95ECDC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
950E2B80BD70E212D87E31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
9517F9EEE18C1038E1497FA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; };
9548631628595F1576CD7B73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; };
- 95567324C834BBE5D5215DE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
95C7AB7104F78ADD7CE55E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; };
95E2D4C4A02FA14CE26392EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; };
95F5B0723C24598C877C8DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 95F6031C35A1D094A2A2624F = {isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = "../../../../../modules/juce_audio_plugin_client/AUResources.r"; sourceTree = "SOURCE_ROOT"; };
95FC2D683A0E0F41FAD02E8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; };
96ABA944DF943A3CD8ED8F27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
9740A9390ECA80CAA92382D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
9AD03390BB5791C7C1A74655 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; };
9AD0E63EA728EFA10E465DA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pnginfo.h"; sourceTree = "SOURCE_ROOT"; };
9AEC23F3D59EE86B7C9BA366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
- 9B41DFBF585A9C722050767C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; };
9B5CE97BAC0AAD8EEAF75ABF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CarbonVisibility.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CarbonVisibility.h"; sourceTree = "SOURCE_ROOT"; };
9C0EC72DF39C49F84958CCE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; };
9C317F8D5362324F67C5C044 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; };
9C82E908622CB0CAC2B1469B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.h"; sourceTree = "SOURCE_ROOT"; };
9C8C01A4D3DD95FC110686B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
9D16C4F30F042930E0D9EFB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_RTAS_utils.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.mm"; sourceTree = "SOURCE_ROOT"; };
- 9D1C58BBAA0B7F70D6EB7724 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AAX.plist"; path = "Info-AAX.plist"; sourceTree = "SOURCE_ROOT"; };
9D34A2CF22F94CB8E1E3E93C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
9D5724D3AB9FE56E2AD0B93B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
9D6BD8DE6FC16E28FE2169F0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
9D75C7F0055E9976C989D769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; };
9DD46A24ECE14E75B1C158CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = smallft.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/smallft.h"; sourceTree = "SOURCE_ROOT"; };
9E0CDFA686934102489C5083 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9E16DD9C4AA8FD94DF161ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
9E2A17A739BE8605D8C13CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBaseHelper.h"; sourceTree = "SOURCE_ROOT"; };
9E4C67EE120E7FE1F994CFB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
9E8230460D5C4094B17679B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
B19BE7CC7C48A092EF7BEB26 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
B1A2C930457AC20DBF8E2654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
B1D2A0DC0B0B8F43AF0635C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; };
- B1D88569B0E48296BFB11BAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
B24F5C6EC49FA1CBE3E9F76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; };
B27A9D33D351006D133C2A4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; };
B28A17E23DF0DCDA94E53D24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; };
BB36CEA13A709AB5A9474E51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; };
BB577DFECBF45C9FA42A79A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; };
BB5F8B6F5F3E6AADB448DCB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BB6A39C9CA3BF196E20548BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
BB877598B32E54D42661CFF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
BB8C3D7D3297D944BF1D3378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; };
BB969E05025ABE5B3BFA9430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; };
D64812D922FF1D6C33CDC6DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; };
D6E7F3951FC4EA8338F2485C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
D70B910003F47D2B45347B66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; };
+ D70D19852F567CDC77C60258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
D783707AC81F40FE49620182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; };
D79AD5A507E39490F4C0DA79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
D7B5D9E6C0F17D46BF8FB23C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; };
E221C545F4A08B1422CC6708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
E22A8C6006C3BD972035B132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; };
E2C54EC051B9509356592AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
+ E32D756B2FBB748E6BA6F534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
E394CA84B664710B3771ACAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
E3958C99991C2CDD36DB609D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
E3B06A2E7B68EB444FF7D2CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_cryptography.cpp"; path = "../../../../../modules/juce_cryptography/juce_cryptography.cpp"; sourceTree = "SOURCE_ROOT"; };
E596F3CFF5E5EE762B97BB4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
E5A88163F3179D84C83BF562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAStreamBasicDescription.h"; sourceTree = "SOURCE_ROOT"; };
E5C2175FF96CED1519F2B7D6 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GainPlugIn.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
- E60B842A68174E08460E23F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
E62446DFC19EDB3E05FC0EBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
E67C5BB4F61D2E0379CCB9FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
E6A76FFDCD328792750B2018 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
F16850088BAC467F2DDF47B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/all.h"; sourceTree = "SOURCE_ROOT"; };
F18474D1FC76E023231638CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
F19532C9A9B834EF732E2C52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
- F1A0F0881D3C62C8E705120E = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; };
F1B4EC755365729CF9850E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
- F1B858A448D0BA6929408B97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
F1C1D72B4B911227DF608946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; };
F2317300350CF81B3EC383A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
F28941FBBB1C31040CDFEA67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
F2BA131A7254C150C15D9306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "lpc_flac.c"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/lpc_flac.c"; sourceTree = "SOURCE_ROOT"; };
F30FCD23E36D9A46A5A69AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
- F3500A2990DBE4DEBE4405B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
F3B8EEB02E5588D99021DD10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
F3BFC5ADFAD663890D658894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
F3FC0F1212CEA1EE597AF0DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_opengl.cpp"; path = "../../../../../modules/juce_opengl/juce_opengl.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F405F19EE310FBC6BB4A1472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.h"; sourceTree = "SOURCE_ROOT"; };
F4D0076B169A0FEB870639F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlexItem.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexItem.h"; sourceTree = "SOURCE_ROOT"; };
F507AE61AF55B2101383B1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; };
F527FEA0852AA21984AD9F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; };
F5A96B9783E559CB9FB56B93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
F5BA7AF6CEAD6AEB13F0FBA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
F5C623942E20C541382097E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
- F5EAFB838EC3E83930E9C8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
F6AC635E17C2745BA801256F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F6D0C31C49847196CB56EF7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
F6D61FC781A1532ACF955A56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; };
- F73E61CD3ACE30495293E399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
+ F6F268E5CE4AC0C5EFF2A414 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; sourceTree = "SOURCE_ROOT"; };
F758A3A014E70D7F75D889D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F76BAD45163B80F58A11FE42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; };
F7837342DC31305E98733379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F7FA3CA65C2B371C902CA9EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F828B3646CF270C460B90D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
F8D93BA03DB14514E2F9D007 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GainPlugIn.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
- C43A527A45129CF421296BD0 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GainPlugIn.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; };
074F1E0FAFBD4B127B869BC2 = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libGainPlugIn.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
- F405F19EE310FBC6BB4A1472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAXException.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAXException.h"; sourceTree = "SOURCE_ROOT"; };
- F6D0C31C49847196CB56EF7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
- F6F268E5CE4AC0C5EFF2A414 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUCarbonViewControl.h"; sourceTree = "SOURCE_ROOT"; };
- F76BAD45163B80F58A11FE42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F1A0F0881D3C62C8E705120E = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; };
+ F1B858A448D0BA6929408B97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
+ F3500A2990DBE4DEBE4405B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ F5EAFB838EC3E83930E9C8F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ F73E61CD3ACE30495293E399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
F79776F078375AA287A24AB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
F7BB750285C1A56C05A6B437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; };
- F7FA3CA65C2B371C902CA9EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
F807CBC9ECF854D2887F359F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; };
- F828B3646CF270C460B90D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
F86E0D4727FD2F22EABE6AF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; };
F882EE91C466D0BDE77C6CD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
F8E48C01C791BEFDDAA6A47C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
FA8D7F0CB75953BD21B37929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; };
FA905D2AD00F1A5ED9D55D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
FAD1FB98450C939FAB191F42 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
- FB543B91C7E0C32D35F9936B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
FB56059A51DF315A718B19D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
FB923D7CA027BA4C19CE393B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44.h"; sourceTree = "SOURCE_ROOT"; };
FB954DE9B8BEC80A9B7E33DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
A1FE33C49F2701A6520F72A4 = {isa = PBXGroup; children = (
C8F3DE8D004443AC01CDFCAE, ); name = GainPlugIn; sourceTree = "<group>"; };
FD9FC27F2AE903B815E9E0E8 = {isa = PBXGroup; children = (
+ BB6A39C9CA3BF196E20548BD,
+ D70D19852F567CDC77C60258,
E93AD18DA3D2B5074595F805,
B1D2A0DC0B0B8F43AF0635C1,
237733D1EA87B4C27665E50C,
5015777ECDDAC17D0C132F34,
BB9C40C7BE4EC37243B0FF5A,
5015777ECDDAC17D0C132F34, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 002AEBA17F1C8793DC99ADE1 = {isa = PBXGroup; children = (
- B1D88569B0E48296BFB11BAB,
- 701C2B1410E366088FC0D8BA,
- 95567324C834BBE5D5215DE7, ); name = "audio_cd"; sourceTree = "<group>"; };
- 484CCA27CD32F80EF3ADA93B = {isa = PBXGroup; children = (
+ 73B35CA9E0F14C7433C63FA9 = {isa = PBXGroup; children = (
4C1DDE053C0E6BAF542394F5,
8C2320DE66C95441D6270478,
C1844937AFECFF7929C91CBF,
1B17928327544C6808B05586,
EB32B97D1544A74457EEA3B4,
4F4B6F7986EE31F0D2B59182, ); name = "audio_io"; sourceTree = "<group>"; };
- 58285C46B83F0E3AF95A48E9 = {isa = PBXGroup; children = (
+ 4551DED14EF38B73B69E75D3 = {isa = PBXGroup; children = (
DA467D2628B8A2D73BCA00BB,
88276F23FC6769402CABDAF0,
569A4293CDC75A9164DF0913,
66F68C82E5E1526A5201A6C4,
6EB261E6A2BDCEE71D706225,
FA20C873EDCF671DD973E3F7,
- 4796877B2EEF190AC4208F86,
C41288A028A85D0C9DB2BBC6,
525D12C78477C23F2A8F461F,
- E60B842A68174E08460E23F5,
- 0F2D50B4B1A29249BDC31571,
C8EC8EF51D8B2C9718655C87,
DA33F0FAF0FE9C0E98B04608,
218E7DFF985197C095961EB5,
42D9B426361C16B471C49B95,
- 64DAFE765FF7BB6A0B64D7CB,
- 0CF532889CC441CDFB9DCDCF,
D1D8D5B5C6C026C45D74A5E2,
51314EF946587D18990D7B0F,
E596F3CFF5E5EE762B97BB4E, ); name = native; sourceTree = "<group>"; };
- 6B24A7A09AADFD7A9BDB7A3A = {isa = PBXGroup; children = (
+ 6386E3E02DC92A6564EBEBE4 = {isa = PBXGroup; children = (
57D9A02362712935FBB7A37A,
1EE3777A2BAD2E09AF829CBD,
7FDB2B0F674DAAF0090B7D8C,
590991BD50DE7582475B7661, ); name = sources; sourceTree = "<group>"; };
D1D0AA916A58377C675E5F24 = {isa = PBXGroup; children = (
- 002AEBA17F1C8793DC99ADE1,
- 484CCA27CD32F80EF3ADA93B,
- 58285C46B83F0E3AF95A48E9,
+ 73B35CA9E0F14C7433C63FA9,
+ 4551DED14EF38B73B69E75D3,
20FAE340236275C76CFDEBF3,
- 6B24A7A09AADFD7A9BDB7A3A,
+ 6386E3E02DC92A6564EBEBE4,
633D8368DF1EAD4DF5AB6CCD,
543870AAC11B131FB3F6F372,
2D62D02F2AA382CA14418324,
18B7B5B0C06A1C96ED45C9AB,
56FF5DCB746A2F7485406F63,
18B7B5B0C06A1C96ED45C9AB, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- F1C57B1BE7D3A85714FB7C7A = {isa = PBXGroup; children = (
+ 8B5E3655F615AAF2C29FC22A = {isa = PBXGroup; children = (
EEB2A8271DE160CC76165242,
B41DB1D9877BC61AB0558A69, ); name = AAX; sourceTree = "<group>"; };
AB9348DF000622E4B2C60AD4 = {isa = PBXGroup; children = (
5E148B6D2D4D3ACADBD369BA, ); name = CoreAudioUtilityClasses; sourceTree = "<group>"; };
F2D5F877258DB2BBF0433F23 = {isa = PBXGroup; children = (
AB9348DF000622E4B2C60AD4,
- 8CABBDFF3D48FA622F561D56,
B15D003DE2F4E963EC111711,
8782AADF74783EA3DD066529, ); name = AU; sourceTree = "<group>"; };
- 1DDAAEC5B6DB8099FC652515 = {isa = PBXGroup; children = (
+ F38605076B8BF4EBE8A9D71F = {isa = PBXGroup; children = (
B7EC6979B78232E97C67586D,
2B7C784CF333CA6BEEF5038A,
CF608BF804CB06BCBB51B9C2,
6701AB4D2F5DAD2EA72ACFE9,
DC55FBABEB3A839B6602D678,
DBF11B9083F40C0C849B9302, ); name = RTAS; sourceTree = "<group>"; };
- ABE3EC02D9B5D528025BF690 = {isa = PBXGroup; children = (
+ FF48527F1599C91933F2BB08 = {isa = PBXGroup; children = (
43B51F79EFF2E9673AA1BCE6,
8323AB8EF5430A81A4FDD26E, ); name = Standalone; sourceTree = "<group>"; };
- AAB881B99070695DB74EB217 = {isa = PBXGroup; children = (
+ EB0E3ADB9BCE975012AC8624 = {isa = PBXGroup; children = (
9B5CE97BAC0AAD8EEAF75ABF,
38687DB2FEC47B8E4826346E,
E219774D186DF70D694D2768,
2BC8F8214792631A55C86182,
BE5CCCF1AF368672C05133F0,
- 9B41DFBF585A9C722050767C,
9F56E1F9CF75D555C677A38D,
E9FEFC46FF2B51B8C3A520F4,
21F8A643A1D07AE29337D139, ); name = utility; sourceTree = "<group>"; };
- D78074DEDA44278DDA6376E6 = {isa = PBXGroup; children = (
+ 61918B5C81D3B75E3E043E12 = {isa = PBXGroup; children = (
9548631628595F1576CD7B73,
C3D43F992D8AAA5EF9D23288, ); name = VST; sourceTree = "<group>"; };
- C02CF34EACB3A93904174BD4 = {isa = PBXGroup; children = (
+ 9C81895B79C248126CA96CD5 = {isa = PBXGroup; children = (
8676D218DB100E6B4636A82E, ); name = VST3; sourceTree = "<group>"; };
F7173AE77C51F8BD4B4476AC = {isa = PBXGroup; children = (
- F1C57B1BE7D3A85714FB7C7A,
+ 8B5E3655F615AAF2C29FC22A,
F2D5F877258DB2BBF0433F23,
- 1DDAAEC5B6DB8099FC652515,
- ABE3EC02D9B5D528025BF690,
- AAB881B99070695DB74EB217,
- D78074DEDA44278DDA6376E6,
- C02CF34EACB3A93904174BD4,
+ F38605076B8BF4EBE8A9D71F,
+ FF48527F1599C91933F2BB08,
+ EB0E3ADB9BCE975012AC8624,
+ 61918B5C81D3B75E3E043E12,
+ 9C81895B79C248126CA96CD5,
B5F601E64CCEDC477481A4ED,
BBBE3DABDB9284A6397CE7B8,
FEDE864FABF0E3C4883CF664,
56D1A4956C00A125A6772AF9,
0B5112493545E822ED5CAB38,
B5F601E64CCEDC477481A4ED, ); name = "juce_audio_plugin_client"; sourceTree = "<group>"; };
- DC60B9DD7D58AF5115E6E77D = {isa = PBXGroup; children = (
+ 4E6D38CDC8F873F9B92AA25A = {isa = PBXGroup; children = (
8978DDECC8749C80F3C959C6,
E877FE89092942CF21E4EC77,
75F9EE2CA69812F94F813F00,
2CA124DED3BC606AF1A3A15F, ); name = format; sourceTree = "<group>"; };
- 0399C83FFCC7CAC5B1A58E63 = {isa = PBXGroup; children = (
+ 21D264C9FD2F5E802B2172E8 = {isa = PBXGroup; children = (
+ E32D756B2FBB748E6BA6F534,
B5D4DB73568113270FAA6E28,
A815FDA15080EB5374693B3C,
29BC321A44EEE9AD6D3184B8,
3E750A56336FE91FE4190D0B,
CE57E03FD67001AF17AE9348,
115075E87FFDE3A0562DAB11,
+ 7A88A30488FC54BC991C2C02,
1708A4A271D6457F239F1981,
B480AA30CA4A3E925CD4D7BA,
8BE1CAAB600CECDD6390B937,
8C68CCB04F23709D332A85A3, ); name = "format_types"; sourceTree = "<group>"; };
- B6605B3CCE34B5362E97AC55 = {isa = PBXGroup; children = (
- FB543B91C7E0C32D35F9936B,
- 9E16DD9C4AA8FD94DF161ECF,
+ 70A026102E138757CCC9E60D = {isa = PBXGroup; children = (
AFDF57386DA66E87DABD6E76,
DA7D3EB865447AC849541886,
30BE36DBBC172E9A9D70A6FA,
E447A920E1B94499D9CD8007,
37CC2B12CFD3D4CB4295C7FA, ); name = utilities; sourceTree = "<group>"; };
2EDCD855F108DE8D7599C742 = {isa = PBXGroup; children = (
- DC60B9DD7D58AF5115E6E77D,
- 0399C83FFCC7CAC5B1A58E63,
- B6605B3CCE34B5362E97AC55,
+ 4E6D38CDC8F873F9B92AA25A,
+ 21D264C9FD2F5E802B2172E8,
+ 70A026102E138757CCC9E60D,
33CBFEB5F3FE009018034328,
7630C889BDA939A6A2109BAE,
15C342AEE8864E35F6E73D57,
2A42EB4E6808C916CD805B55,
539D8FB917601AE0FEF2EDD0,
3F62CC0D964ADA2C5FEE8780,
- 09EBA9B824955D1E0C3FFD47,
CD8FCD56FD26EAE31AC22952,
9F805238C9CE8C52469C6355,
A0F05FB7BDBD3AFAA1004003,
909354451447E566493F48C1,
F1A0F0881D3C62C8E705120E,
EDFE3B976573F01C8D3AA486,
- 9D1C58BBAA0B7F70D6EB7724,
E13512F9451169A200CA63BF, ); name = Resources; sourceTree = "<group>"; };
00DE399BF0EF1D2BB5C99DF6 = {isa = PBXGroup; children = (
71B73129FAEF3B7CB3FF6993,
A970D3F194D02E962DFBA282,
2B186C698E4525FF67DC068E,
6CFCABC6B50C43F1D69A769D,
- 2F17FACA233BB2C5119FC2FD,
FAD1FB98450C939FAB191F42,
B19BE7CC7C48A092EF7BEB26,
749B5D7F2039C64EB76BF7DF,
169146CE0C9730602B3D31BD,
E5C2175FF96CED1519F2B7D6,
F8D93BA03DB14514E2F9D007,
- C43A527A45129CF421296BD0,
074F1E0FAFBD4B127B869BC2, ); name = Products; sourceTree = "<group>"; };
807311746F9F870D03BE88D9 = {isa = PBXGroup; children = (
BF909DFBC9B899C6119F556B,
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-VST.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/";
LIBRARY_STYLE = Bundle;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-VST.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/";
LIBRARY_STYLE = Bundle;
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-VST3.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/";
LIBRARY_STYLE = Bundle;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-VST3.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST3/";
LIBRARY_STYLE = Bundle;
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-AU.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
LIBRARY_STYLE = Bundle;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-AU.plist;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
LIBRARY_STYLE = Bundle;
PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn;
SDKROOT_ppc = macosx10.5;
WRAPPER_EXTENSION = component; }; name = Release; };
- 71BC79A3E5FEBDB257DE068E = {isa = XCBuildConfiguration; buildSettings = {
- CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
- CLANG_LINK_OBJC_RUNTIME = NO;
- COMBINE_HIDPI_IMAGES = YES;
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
- COPY_PHASE_STRIP = NO;
- DEPLOYMENT_LOCATION = YES;
- DSTROOT = /;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "_DEBUG=1",
- "DEBUG=1",
- "JucePlugin_Build_VST=0",
- "JucePlugin_Build_VST3=0",
- "JucePlugin_Build_AU=0",
- "JucePlugin_Build_AUv3=0",
- "JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=1",
- "JucePlugin_Build_Standalone=0",
- "JUCER_XCODE_MAC_F6D2F4CF=1",
- "JUCE_APP_VERSION=1.0.0",
- "JUCE_APP_VERSION_HEX=0x10000", );
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
- INFOPLIST_FILE = Info-AAX.plist;
- INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/";
- LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Debug\"");
- LIBRARY_STYLE = Bundle;
- MACOSX_DEPLOYMENT_TARGET = 10.10;
- MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
- OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion";
- OTHER_LDFLAGS = "-bundle -lAAXLibrary -lGainPlugIn";
- PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn;
- SDKROOT_ppc = macosx10.5;
- WRAPPER_EXTENSION = aaxplugin; }; name = Debug; };
- A1AD203AE69C428760D3AD4A = {isa = XCBuildConfiguration; buildSettings = {
- CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
- CLANG_LINK_OBJC_RUNTIME = NO;
- COMBINE_HIDPI_IMAGES = YES;
- CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)";
- DEAD_CODE_STRIPPING = YES;
- DEPLOYMENT_LOCATION = YES;
- DSTROOT = /;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_OPTIMIZATION_LEVEL = 3;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "_NDEBUG=1",
- "NDEBUG=1",
- "JucePlugin_Build_VST=0",
- "JucePlugin_Build_VST3=0",
- "JucePlugin_Build_AU=0",
- "JucePlugin_Build_AUv3=0",
- "JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=1",
- "JucePlugin_Build_Standalone=0",
- "JUCER_XCODE_MAC_F6D2F4CF=1",
- "JUCE_APP_VERSION=1.0.0",
- "JUCE_APP_VERSION_HEX=0x10000", );
- GCC_SYMBOLS_PRIVATE_EXTERN = YES;
- GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- GENERATE_PKGINFO_FILE = YES;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
- INFOPLIST_FILE = Info-AAX.plist;
- INSTALL_PATH = "/Library/Application Support/Avid/Audio/Plug-Ins/";
- LIBRARY_SEARCH_PATHS = ("$(inherited)", "\"$(HOME)/SDKs/AAX/Libs/Release\"");
- LIBRARY_STYLE = Bundle;
- MACOSX_DEPLOYMENT_TARGET = 10.10;
- MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
- OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion";
- OTHER_LDFLAGS = "-bundle -lAAXLibrary -lGainPlugIn";
- PRODUCT_BUNDLE_IDENTIFIER = com.ROLI.GainPlugIn;
- SDKROOT_ppc = macosx10.5;
- WRAPPER_EXTENSION = aaxplugin; }; name = Release; };
2CB812B0DEE790549B33EA23 = {isa = XCBuildConfiguration; buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
CLANG_LINK_OBJC_RUNTIME = NO;
"JucePlugin_Build_AU=1",
"JucePlugin_Build_AUv3=0",
"JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=1",
+ "JucePlugin_Build_AAX=0",
"JucePlugin_Build_Standalone=0",
"JUCER_XCODE_MAC_F6D2F4CF=1",
"JUCE_APP_VERSION=1.0.0",
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INSTALL_PATH = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
"JucePlugin_Build_AU=1",
"JucePlugin_Build_AUv3=0",
"JucePlugin_Build_RTAS=0",
- "JucePlugin_Build_AAX=1",
+ "JucePlugin_Build_AAX=0",
"JucePlugin_Build_Standalone=0",
"JUCER_XCODE_MAC_F6D2F4CF=1",
"JUCE_APP_VERSION=1.0.0",
"JUCE_APP_VERSION_HEX=0x10000", );
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
- HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "~/SDKs/AAX", "~/SDKs/AAX/Interfaces", "~/SDKs/AAX/Interfaces/ACF", "../../../../../modules", "$(inherited)");
+ HEADER_SEARCH_PATHS = ("\"~/SDKs/VST3 SDK\"", "../../JuceLibraryCode", "../../../../../modules", "$(inherited)");
INSTALL_PATH = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
60FCED8B68702AB28A4297C4 = {isa = PBXTargetDependency; target = BBE761975F619DAA1B4D0F57; };
0F3A38F7A210718AC51B5B67 = {isa = PBXTargetDependency; target = 8777AC1501FECCF360363C10; };
6FBE3D1D1900F691ECD1E9CF = {isa = PBXTargetDependency; target = 95B232D53C8384ECDA8C519B; };
- 18134589BE12E7F4D2D82DFB = {isa = PBXTargetDependency; target = AD71869D70E2F5CD06AF8831; };
88ABDE275ED6C6AF05876C8F = {isa = PBXTargetDependency; target = EF7E12AA943CABF4C9ACE9FC; };
738DD13F786359A977312E92 = {isa = XCConfigurationList; buildConfigurations = (
12107CEF96782BFB9B82B7AC,
60FCED8B68702AB28A4297C4,
0F3A38F7A210718AC51B5B67,
6FBE3D1D1900F691ECD1E9CF,
- 18134589BE12E7F4D2D82DFB,
88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (All)"; productName = GainPlugIn; };
BFCD4A7D0A1F6DB0A953047C = {isa = XCConfigurationList; buildConfigurations = (
2258034E5AABF301ACB109C1,
353BAEC02C6386CEE3594B18,
C4CDB09203A906EA7EAA2026,
FBB6DF69B4E4774056CA59CE,
- 428763007D4B4F27095FC927,
9A8029F7D3A5673112C6CD48,
E35621718EE50BEA328E3CD9,
0F58D649AF5E12F772510165,
353BAEC02C6386CEE3594B18,
C4CDB09203A906EA7EAA2026,
FBB6DF69B4E4774056CA59CE,
- 428763007D4B4F27095FC927,
9A8029F7D3A5673112C6CD48,
E35621718EE50BEA328E3CD9,
0F58D649AF5E12F772510165,
C4CDB09203A906EA7EAA2026,
E1571374E2C0537E368BD1E6,
FBB6DF69B4E4774056CA59CE,
- 428763007D4B4F27095FC927,
9A8029F7D3A5673112C6CD48,
E35621718EE50BEA328E3CD9,
0F58D649AF5E12F772510165,
7CD5DF20930E5FD4B8978F68,
0466EDF982628A74C5EF25A0, ); buildRules = ( ); dependencies = (
88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (AU)"; productName = GainPlugIn; productReference = F8D93BA03DB14514E2F9D007; productType = "com.apple.product-type.bundle"; };
- 4BDDEC55EDB7DC56497AC19A = {isa = XCConfigurationList; buildConfigurations = (
- 71BC79A3E5FEBDB257DE068E,
- A1AD203AE69C428760D3AD4A, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
- 87D9874ECD12A1F70BE4B01C = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = (
- 434F6E14A0DACDAA2BF2212B, ); runOnlyForDeploymentPostprocessing = 0; };
- 5ED60E79CB2B11C45637CA8A = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
- 920289CA43FF41424E0F0AE9, ); runOnlyForDeploymentPostprocessing = 0; };
- B4837EEA7868B856A37F43BD = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
- FA171B2FEC24575B5157EB15,
- 46AB8BC7FA7E34563E5F005C,
- CE59F17AE351D2C1CE9576C3,
- 353BAEC02C6386CEE3594B18,
- C4CDB09203A906EA7EAA2026,
- FBB6DF69B4E4774056CA59CE,
- 428763007D4B4F27095FC927,
- 9A8029F7D3A5673112C6CD48,
- E35621718EE50BEA328E3CD9,
- 0F58D649AF5E12F772510165,
- 6B4E64CC0DA5E1DC53159376,
- 14E482AFF9CC9F18BA3798BD, ); runOnlyForDeploymentPostprocessing = 0; };
- AD71869D70E2F5CD06AF8831 = {isa = PBXNativeTarget; buildConfigurationList = 4BDDEC55EDB7DC56497AC19A; buildPhases = (
- 87D9874ECD12A1F70BE4B01C,
- 5ED60E79CB2B11C45637CA8A,
- B4837EEA7868B856A37F43BD, ); buildRules = ( ); dependencies = (
- 88ABDE275ED6C6AF05876C8F, ); name = "GainPlugIn (AAX)"; productName = GainPlugIn; productReference = C43A527A45129CF421296BD0; productType = "com.apple.product-type.bundle"; };
2D1D1BFA76D5FF752D06187F = {isa = XCConfigurationList; buildConfigurations = (
2CB812B0DEE790549B33EA23,
1A69EAB78F178B933E748B51, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
DBB093FB9913BE37F564E2AE, ); runOnlyForDeploymentPostprocessing = 0; };
EF7E12AA943CABF4C9ACE9FC = {isa = PBXNativeTarget; buildConfigurationList = 2D1D1BFA76D5FF752D06187F; buildPhases = (
E57E58AA3A8632B697CF894F, ); buildRules = ( ); dependencies = ( ); name = "GainPlugIn (Shared Code)"; productName = GainPlugIn; productReference = 074F1E0FAFBD4B127B869BC2; productType = "com.apple.product-type.library.static"; };
- 14B1FDE882BA4A9678780A26 = {isa = PBXProject; buildConfigurationList = 738DD13F786359A977312E92; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 67946078D4B1207C2A6BDB4F = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BBE761975F619DAA1B4D0F57 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };8777AC1501FECCF360363C10 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };95B232D53C8384ECDA8C519B = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };AD71869D70E2F5CD06AF8831 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };EF7E12AA943CABF4C9ACE9FC = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 807311746F9F870D03BE88D9; projectDirPath = ""; projectRoot = ""; targets = (67946078D4B1207C2A6BDB4F, BBE761975F619DAA1B4D0F57, 8777AC1501FECCF360363C10, 95B232D53C8384ECDA8C519B, AD71869D70E2F5CD06AF8831, EF7E12AA943CABF4C9ACE9FC); };
+ 14B1FDE882BA4A9678780A26 = {isa = PBXProject; buildConfigurationList = 738DD13F786359A977312E92; attributes = { LastUpgradeCheck = 0440; TargetAttributes = { 67946078D4B1207C2A6BDB4F = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BBE761975F619DAA1B4D0F57 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };8777AC1501FECCF360363C10 = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };95B232D53C8384ECDA8C519B = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };EF7E12AA943CABF4C9ACE9FC = { SystemCapabilities = {com.apple.InAppPurchase = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 807311746F9F870D03BE88D9; projectDirPath = ""; projectRoot = ""; targets = (67946078D4B1207C2A6BDB4F, BBE761975F619DAA1B4D0F57, 8777AC1501FECCF360363C10, 95B232D53C8384ECDA8C519B, EF7E12AA943CABF4C9ACE9FC); };
};
rootObject = 14B1FDE882BA4A9678780A26;
}
<ClCompile>\r
<Optimization>Disabled</Optimization>\r
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
- <AdditionalIncludeDirectories>c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
<RuntimeTypeInfo>true</RuntimeTypeInfo>\r
<PrecompiledHeader/>\r
<OutputFile>$(IntDir)\GainPlugIn.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
</Midl>\r
<ClCompile>\r
<Optimization>Full</Optimization>\r
- <AdditionalIncludeDirectories>c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;c:\SDKs\AAX;c:\SDKs\AAX\Interfaces;c:\SDKs\AAX\Interfaces\ACF;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;JucePlugin_AAXLibs_path="c:\\SDKs\\AAX\\Libs";WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>c:\SDKs\VST3 SDK;..\..\JuceLibraryCode;..\..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
<RuntimeTypeInfo>true</RuntimeTypeInfo>\r
<PrecompiledHeader/>\r
<OutputFile>$(IntDir)\GainPlugIn.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\GainProcessor.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_basics.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_devices.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp"/>\r
- <ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_AAX.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_utils.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_VST2.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_VST3.cpp"/>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\CAXException.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\ComponentBase.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\Standalone\juce_StandaloneFilterWindow.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_CarbonVisibility.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_FakeMouseMoveGenerator.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeModuleHeaders.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_WindowsHooks.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_RTAS.r"/>\r
<None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\GainProcessor.cpp">\r
<Filter>GainPlugIn\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_formats.cpp">\r
<Filter>Juce Library Code</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_AAX.cpp">\r
- <Filter>Juce Library Code</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_audio_plugin_client_utils.cpp">\r
<Filter>Juce Library Code</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\RTAS</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
</None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r">\r
+ <Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
+ </None>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r">\r
<Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
</None>\r
\r
<JUCERPROJECT id="jXbtGS" name="GainPlugIn" projectType="audioplug" version="1.0.0"\r
bundleIdentifier="com.ROLI.GainPlugIn" includeBinaryInAppConfig="1"\r
- buildVST="1" buildVST3="1" buildAU="1" buildRTAS="0" buildAAX="1"\r
+ buildVST="1" buildVST3="1" buildAU="1" buildRTAS="0" buildAAX="0"\r
pluginName="GainPlugIn" pluginDesc="GainPlugIn" pluginManufacturer="ROLI Ltd."\r
pluginManufacturerCode="ROLI" pluginCode="Gain" pluginChannelConfigs=""\r
pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0"\r
pluginSilenceInIsSilenceOut="1" pluginEditorRequiresKeys="0"\r
pluginAUExportPrefix="GainPlugInAU" pluginRTASCategory="" aaxIdentifier="com.ROLI.GainPlugIn"\r
- pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.2.4"\r
+ pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.3.0"\r
pluginIsMidiEffectPlugin="0" buildAUv3="0">\r
<MAINGROUP id="sXaVAU" name="GainPlugIn">\r
<GROUP id="{57500C1B-EA6F-4A79-EE51-1D02CA8A8350}" name="Source">\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
#define JucePlugin_Build_RTAS 0\r
#endif\r
#ifndef JucePlugin_Build_AAX\r
- #define JucePlugin_Build_AAX 1\r
+ #define JucePlugin_Build_AAX 0\r
#endif\r
#ifndef JucePlugin_Build_STANDALONE\r
#define JucePlugin_Build_STANDALONE 0\r
\r
//==============================================================================\r
GainProcessor()\r
+ : AudioProcessor (BusesProperties().withInput ("Input", AudioChannelSet::stereo())\r
+ .withOutput ("Output", AudioChannelSet::stereo()))\r
{\r
addParameter (gain = new AudioParameterFloat ("gain", "Gain", 0.0f, 1.0f, 0.5f));\r
-\r
- // Some VST-2 DAWs want the maximum amount of channels to be enabled by default\r
- if (wrapperType == wrapperType_VST)\r
- {\r
- busArrangement.inputBuses. getReference (0).channels = AudioChannelSet::discreteChannels (kVST2MaxChannels);\r
- busArrangement.outputBuses.getReference (0).channels = AudioChannelSet::discreteChannels (kVST2MaxChannels);\r
- }\r
}\r
\r
~GainProcessor() {}\r
}\r
\r
//==============================================================================\r
- bool setPreferredBusArrangement (bool isInputBus, int busIndex,\r
- const AudioChannelSet& preferred) override\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override\r
{\r
- const int numChannels = preferred.size();\r
-\r
- // do not allow disabling channels\r
- if (numChannels == 0)\r
- return false;\r
-\r
- // limit the amount of channels for VST-2\r
- if (wrapperType == wrapperType_VST && numChannels > kVST2MaxChannels)\r
- return false;\r
-\r
- // always have the same channel layout on both input and output on the main bus\r
- if (! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred))\r
- return false;\r
+ const AudioChannelSet& mainInLayout = layouts.getChannelSet (true, 0);\r
+ const AudioChannelSet& mainOutLayout = layouts.getChannelSet (false, 0);\r
\r
- return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred);\r
+ return (mainInLayout == mainOutLayout && (! mainInLayout.isDisabled()));\r
}\r
\r
private:\r
62B6FB220AF68EBA704B9D4E = {isa = PBXBuildFile; fileRef = 4287FC6B2DA51D6C65604731; };
0E5888B3771A9F0513B82FEA = {isa = PBXBuildFile; fileRef = 9A34D18E2F6CFC64544D5256; };
F60C66D496040B9020F85EA0 = {isa = PBXBuildFile; fileRef = 2CDCE436A4B3AD37E33970A0; };
- 3BCC046F9369CD8E0D747ECB = {isa = PBXBuildFile; fileRef = DDEC9F2E4879D892EE4D5D14; };
29727733888EEDEBAA076762 = {isa = PBXBuildFile; fileRef = 1F85CA151345CB52E4751F2E; };
D235710EF601383BE6387C66 = {isa = PBXBuildFile; fileRef = DAC36A924C848D4620ACBBDB; };
B3518C2BA9587206081CEE53 = {isa = PBXBuildFile; fileRef = 960B17EAF04A957650DF11F1; };
0199A3783B3278540F853BA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; };
020ADF783703D9BA9DCD3D7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
0289EF17A9CF704ED287401D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
+ 029A3821DE4D96F4699F5628 = {isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = "../../../../../modules/juce_audio_plugin_client/AUResources.r"; sourceTree = "SOURCE_ROOT"; };
02BE4D478499FA3B15E06637 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
02BE7DDA751D5D884950257C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; };
02D638817E036991BCAF490E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; };
- 0300A6933580F93575CA7664 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
03641883A10577A9D7EC1091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
03C9C3D660CECA5CC9A5F6FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; };
03E8FDBC6508982ADE6598B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StatisticsAccumulator.h"; path = "../../../../../modules/juce_core/maths/juce_StatisticsAccumulator.h"; sourceTree = "SOURCE_ROOT"; };
0D3AB1D2BB096CE5F3EAAE0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; };
0D4AA39D67CF9EB2B8FC06C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
0D905CC1783EABB6680C1031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
- 0DC017A282117A49F8DF3D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
0E52162DFFFCCD06B941AE62 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
0E765A821D0225720051C82F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
- 0E7D3CC3B54770916D277DA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; };
0E90BC5C291C83083E252819 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; };
0EB4F4B3C10D44C4017146B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
0EBC8AD3685484272DA7BB28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; };
18CA56C15FDAF64F7078F616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; };
18CD3F93DA3DC06E32350586 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; };
18FDE3BBDD2D8A854D087F8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
- 1911DD1EDE7184068BE400BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
191D2721158BEE1FA8FFA53C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; };
192598A07C49DD0B4C040FE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; };
- 195890E4E6C23E08A84D96CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
195D56D8D48473E1EAFAD117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; };
198DE0A56C502B27A9594FB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
19DBDBD739D1DA9E9DC333D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
1B468DBA17F78A4C46EFDB34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; };
1B61ACAEDE5042CAE76E5604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
1BBAEAACC602F3E31B035366 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
- 1C5587350978A9E93CE80711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
1C7188521CC944FBE6765AE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; };
- 1CC9DE40A962B61BE5D6D1AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
1CCFF393CC392ACBB119305C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
1CE552A87C9B220EC1EB955D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
1CEDDCD15AC89113C91DB85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_2.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; };
2BC2C95249F61193FAA46A13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; };
2C122BFD1C85AD66AFA8ADD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; };
2C90CCBB0A3A412308060408 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUInputFormatConverter.h"; sourceTree = "SOURCE_ROOT"; };
- 2CA49E8DB449CDE8F92A928D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
2CC0DDEFE8DADE574DA9897D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
2CD7132D2CF34E16279E945C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
2CD9FAF998B90D80DB720CA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; };
50A69D7239BB8E2B2393100C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
50DC7EC85DFFD11A5E01C92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
5133C078BB9446266946B9D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
+ 515126BF6D60C7AD716DC388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
51517ED5596D69AD72E93F55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = vorbisenc.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/vorbisenc.h"; sourceTree = "SOURCE_ROOT"; };
5153F3454BDD24FA293C40BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; };
51BCD6A3FDE52592E1AC6097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; };
59EDAD9049313256F1C76C0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcprepct.c"; sourceTree = "SOURCE_ROOT"; };
5A0208D5B99D6214AE9686AF = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "libpng_readme.txt"; path = "../../../../../modules/juce_graphics/image_formats/pnglib/libpng_readme.txt"; sourceTree = "SOURCE_ROOT"; };
5A2373DB9260B06091BFEEDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; };
- 5A56163B25252D8E74389F96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
5A59400CB33DE0F1901E6568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; };
5A68DC5FF7837FFD42084A9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = os.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/os.h"; sourceTree = "SOURCE_ROOT"; };
5A9132A3307532C0CE193FCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
918ECC9726F9792AEA2BF389 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
9191498AD661685C4E50D690 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../JuceLibraryCode/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; };
91F5F4AA4BF054A9A39BB454 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 92570EA70E83584533C01B2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
9258742D60F34F9BAD67803F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp"; sourceTree = "SOURCE_ROOT"; };
926B8C8B338554673FFFD294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
92E3265AE5ED5E5AF742B2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; };
A53147DCDEB082194C22B621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; };
A531A8EF845CA83185289794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
A54BD09649A116C594A3A5A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A54D2F67B21DF880BE664C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
A5517A628BE856C29017BA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
A55654BC7CDD19A53079BF19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmainct.c"; sourceTree = "SOURCE_ROOT"; };
A567D37B782CBF389A777AA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
B1E2909AE12C3CDB53D73092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
B1FEC640A51E3FA12BC20E0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; };
B224AC09365587D008350995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; };
- B2257ED7F84FF2ECDFFE46F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B25471FE8BCE372656DABFBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; sourceTree = "SOURCE_ROOT"; };
B270332C0D575CA3DA0D799F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
B2DC593E5D8E5F920309CFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
C2EF85C94EA976606FFA4D9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; };
C30136753CC983A267920749 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
C31833453401D61E252001B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
- C3913D94746B4D7DC9A4E8CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; };
- C3D0A23DF844C5A6ADF37600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; };
C3DD39031B0142481AEB5469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
- C41E4C0F2E8630E6240FB593 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
- C4325E86FCBE01FC9E65C6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
C44C58F5A4D9D8EEC658DDB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; };
C453837C3342293C205C2F83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; };
C49E420FD1E187FA65B8DD59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
C4B9D5E8565EEA36D3C53523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ C5BDC880AF3D6D7908579D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C5DC2ECDDAB3A46934EF8550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
+ C6527E22690701CDEB628259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C6765BF98421489E663C9713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C7570B6C472BBE132D6EA308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
+ C7620DBAD9E38AA49607E8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D06DCC799C2F8567B19C2B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; };
+ DA5881053EBA06F96F1D1CF3 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ F06A0C9E80A5DD8CB3AFDD0E = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 4E98D6E65CE3E073DB1F9113 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 03B7AAA7C11BC7F21B857177 = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMultiOutSynth.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ C35C8ED9BF3CC7C67CA3F037 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C3913D94746B4D7DC9A4E8CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = floor1.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/floor1.c"; sourceTree = "SOURCE_ROOT"; };
+ C3D0A23DF844C5A6ADF37600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; };
+ C41E4C0F2E8630E6240FB593 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
+ C4325E86FCBE01FC9E65C6FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
C543793FB12BB110AED9D59E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
C55BA71B6FDCD2E164586597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
C55EEA8F62CF0500BAE5C0C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
- C5BDC880AF3D6D7908579D75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
C5C2EC39931BD2F4F037C7E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
- C5DC2ECDDAB3A46934EF8550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcinit.c"; sourceTree = "SOURCE_ROOT"; };
C601E3B7474CCAD421297824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
C6416871206E496758E0AEAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- C6527E22690701CDEB628259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; };
C669B2C94347112865575479 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; };
- C6765BF98421489E663C9713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_AAX.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.cpp"; sourceTree = "SOURCE_ROOT"; };
C6AD5270E37301FDDD0D7B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jquant2.c"; sourceTree = "SOURCE_ROOT"; };
C6BCF1BF6CD60E7F9F8FEF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
C70AF24CE449413957076690 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; };
- C7570B6C472BBE132D6EA308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
- C7620DBAD9E38AA49607E8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
C776CA9A1CF4DA8FD93B8223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; };
+ C785485A7DC04A2134F4F2B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
C78B08A40E0F71F8091C8F58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
C7A1DF50E15C11D93375BD53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C7FF15427F8871470BFA4820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
C89360329ADE7BE3C58AB6ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; };
C8FDFE252C3E17D4A02C256E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; };
C9AC8DFDE453BE474266B236 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ogg.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/ogg.h"; sourceTree = "SOURCE_ROOT"; };
CA8CF02AC2665E599ECF7A7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
CAAE1D22DACE9CACB93B2129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
CAF48DE29336FD7E6BA83365 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
+ CB1789262FD3A919F45A7FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; };
+ CB841032A149EE040BB59594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
CBDE271C4C5387CE39BD348F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../JuceLibraryCode/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
CC1F87E59205712A0B2B08D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginHostType.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginHostType.h"; sourceTree = "SOURCE_ROOT"; };
CC8E350DE3898296FD1CA6AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
CCF97D006BD017722C74B6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; };
CD02F270DE7AE1635A3E423E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; };
CD111D36AD8E9D73CE9739F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; };
- CD4A4B5DF38D0F6C1B5CA961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- CE1C954808FDA669FEEFDC2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
- CF2A59FABE1AEC5251A7C9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
- D01619CC43F88EC81883B673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
- D5445BE1A8D52195956FD045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
- D6889EB5ED8960BD2093A686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
- DA5881053EBA06F96F1D1CF3 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
- DAC36A924C848D4620ACBBDB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
- F06A0C9E80A5DD8CB3AFDD0E = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 4E98D6E65CE3E073DB1F9113 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MultiOutSynth.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 03B7AAA7C11BC7F21B857177 = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMultiOutSynth.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
- C785485A7DC04A2134F4F2B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
- C7FF15427F8871470BFA4820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
- CB1789262FD3A919F45A7FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; };
- CB841032A149EE040BB59594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
CD26D70DEFE69EB620F09443 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
CD2CEC703F63930859D26DBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ CD4A4B5DF38D0F6C1B5CA961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
CD4CB495D75A2ABAA66A2951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
CDB15D2B8437758B0F7434B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
+ CE1C954808FDA669FEEFDC2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
CE756CA0F5505BA8084D5CA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngconf.h"; sourceTree = "SOURCE_ROOT"; };
CE7AB9CEBC2AD27B236A69F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; sourceTree = "SOURCE_ROOT"; };
CEA5C634122F13B61BC06B2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
CEEC9947F99D7F39C77DE79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
- D06DCC799C2F8567B19C2B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; };
+ CF2A59FABE1AEC5251A7C9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
+ D01619CC43F88EC81883B673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; };
D08EBD01477B270E49ADD283 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
D18DE409087FFFDCA4187D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
D1D5978F5EE20BB506361B3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AU_1.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; };
D4EC0887DABB7D5A7E911549 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlexBox.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_FlexBox.cpp"; sourceTree = "SOURCE_ROOT"; };
D503329DCE178787E5B2D8C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
D50539AB3F3030B5B6EE1E27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
+ D5445BE1A8D52195956FD045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
D5BD3DE485D0F4E7C3BB6A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
D6257EA24F3F7E3AED2A21BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; };
D62F1F169DFB880C99CD8735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
D65B12939D2497DB1D262101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; };
+ D6889EB5ED8960BD2093A686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
D6A2647F0D5451971FFC64F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
D6D9CE7EF2B63E615A58D470 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
D719C3CB67E409229DF1DC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
D9AEC14125AD30C6015022DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; };
DA15C477B5B69E17C6442032 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../JuceLibraryCode/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; };
DA1A96885181D1109317F1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; };
+ DAC36A924C848D4620ACBBDB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
DAC9DA172DE290727FE196D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
DAD8860FF8B669EDFE4C1A25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; };
DAEE29708211CD0AEDC41E08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; };
DDA1AFBAA2188CE903B2E54A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; };
DDA7BDCA776F0FF25A0FD157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
DDE7DA42F3224AE87479C531 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; };
- DDEC9F2E4879D892EE4D5D14 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
DEA56EFE4291A9CD5BC96ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
DEDF197765F5312D4BDDC0D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUDispatch.cpp"; sourceTree = "SOURCE_ROOT"; };
DEEF4C84F0F68E23C3971AC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
E7C1F8D2DF489E3C49804551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
E7F24576D0EEB9DAFB445143 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
E87773680B3B09CAC94710D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
- E87A0F8AFD1F0731C973A09D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
E8F14A4246A337084B54E9C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode2.cpp"; sourceTree = "SOURCE_ROOT"; };
E8FAC1356851A9C671F02416 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTreeSynchroniser.cpp"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.cpp"; sourceTree = "SOURCE_ROOT"; };
E908ED9D051875790760496C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; };
E9105E2E5E237EC32F79DFDF = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AAX.plist"; path = "Info-AAX.plist"; sourceTree = "SOURCE_ROOT"; };
E9220973BF3EE39EDBE69F19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; };
- E9424CCA32838B2D488AA337 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
E98101F01BA26F09DB6BED34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTreeSynchroniser.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTreeSynchroniser.h"; sourceTree = "SOURCE_ROOT"; };
E985EAD2C55D291146775D92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; };
E9BBA9E98F2CE91B1E7E26D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
F420488E4B593F5D56857291 = {isa = PBXGroup; children = (
CB82B39C8895C61C028CCEAC, ); name = MultiOutSynth; sourceTree = "<group>"; };
B8BFC45138D99677A9B9101D = {isa = PBXGroup; children = (
+ C35C8ED9BF3CC7C67CA3F037,
+ A54D2F67B21DF880BE664C5D,
C08649E52B86DF11BFEA005C,
6EF302CF91EB40A0E5077602,
26DB004476F7F4944A6A9AA2,
C31833453401D61E252001B9,
BD76537612F10BE2E2D69CAD,
C31833453401D61E252001B9, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 78BB5D27BD928E7ADF2A08DF = {isa = PBXGroup; children = (
- 195890E4E6C23E08A84D96CA,
- E9424CCA32838B2D488AA337,
- 1C5587350978A9E93CE80711, ); name = "audio_cd"; sourceTree = "<group>"; };
- 261D6FB41D4C3FEE95E16457 = {isa = PBXGroup; children = (
+ 27010F5EADD4F4724B2FF278 = {isa = PBXGroup; children = (
3C6710C7F5E306E4B32B773A,
3A64925347EA1A31B51D7C5C,
749953F7CA095C042B1B4559,
DFDC67F9701DB420BFF97763,
60F37E0D0795DE063C356447,
E3B9A55AF82E09A64712215D, ); name = "audio_io"; sourceTree = "<group>"; };
- 6822F63161BFE34A6B46E449 = {isa = PBXGroup; children = (
+ 0707E2EF1210A93DA7CFF7BF = {isa = PBXGroup; children = (
C2EF85C94EA976606FFA4D9B,
5153F3454BDD24FA293C40BF,
4865058DFB79087DA35DD8CF,
0F851975FBD2FD9815F77375,
D6889EB5ED8960BD2093A686,
3736186FEED66B1046D4C720,
- 1911DD1EDE7184068BE400BF,
2CD7132D2CF34E16279E945C,
E29CCB0E13C8EAD5F2E5E036,
- 0DC017A282117A49F8DF3D31,
- E87A0F8AFD1F0731C973A09D,
2DAEC04719B10EAFA7A74876,
56EF1D81F9864A92594D0CE5,
B4A176C11E9F3D31501D175D,
2D8973CCBA9A063EDC272CE9,
- 0300A6933580F93575CA7664,
- B2257ED7F84FF2ECDFFE46F9,
56D39F097D141CE8A1C9DDD2,
1DA9FA8F72326029FB1C7146,
23F341EB801D2814E63359E5, ); name = native; sourceTree = "<group>"; };
- 49133295B222157490CF9C86 = {isa = PBXGroup; children = (
+ 0BB68E01B4F104EDDA45FB3E = {isa = PBXGroup; children = (
E7F24576D0EEB9DAFB445143,
F761D390C7ED32538B3C5335,
3B27DEF02388F7A878AC5AF4,
A5C098E2A6A7ABB35F5B86DF, ); name = sources; sourceTree = "<group>"; };
B87DBB95D74570AA05EB1BF6 = {isa = PBXGroup; children = (
- 78BB5D27BD928E7ADF2A08DF,
- 261D6FB41D4C3FEE95E16457,
- 6822F63161BFE34A6B46E449,
+ 27010F5EADD4F4724B2FF278,
+ 0707E2EF1210A93DA7CFF7BF,
226AF9AD040EA41417107806,
- 49133295B222157490CF9C86,
+ 0BB68E01B4F104EDDA45FB3E,
15E540A6D00ED482C4E8CE22,
84F75A3966D4F24241B3CCA3,
5242B63C20CC3AACFE2604E7,
4B4395FD0B981840C14E2344,
0D4AA39D67CF9EB2B8FC06C9,
4B4395FD0B981840C14E2344, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- EC8818482FE69DEA2472407C = {isa = PBXGroup; children = (
+ 6917AA14026C433F4EDD90B7 = {isa = PBXGroup; children = (
8F929BB1E10DD57C1056FF50,
069622CB01111075080B6F60, ); name = AAX; sourceTree = "<group>"; };
93B4691809E49A377D666871 = {isa = PBXGroup; children = (
75300D231C75A269DD7D523F, ); name = CoreAudioUtilityClasses; sourceTree = "<group>"; };
7B934098FF9E066D257F3FC8 = {isa = PBXGroup; children = (
93B4691809E49A377D666871,
- 5A56163B25252D8E74389F96,
836EAC1C5D126C6C8907E8C7,
675627DA901E329524A4B7CD, ); name = AU; sourceTree = "<group>"; };
- B034C01D71A8349088379345 = {isa = PBXGroup; children = (
+ C71DF3358E0CFC90B5A9A42B = {isa = PBXGroup; children = (
1DDD52E2562F45C7BF44E3BA,
86FD2BEB554C25724A2AF813,
E8F14A4246A337084B54E9C1,
6E9CF164968692ECBF14BFA4,
A99BE51ABD7D9EC4B325A59C,
3DC291F8A448B57C4E7B85C9, ); name = RTAS; sourceTree = "<group>"; };
- F4395C66021B50FE5AAB303C = {isa = PBXGroup; children = (
+ BCF887576433BF90C7A14FA5 = {isa = PBXGroup; children = (
CE7AB9CEBC2AD27B236A69F8,
8379A87D62F44DFFC9366AD6, ); name = Standalone; sourceTree = "<group>"; };
- B973D84EF8EAD532ECB42F83 = {isa = PBXGroup; children = (
+ E253DDFB80FD8CD63E1AF4C6 = {isa = PBXGroup; children = (
9407A9BBA5CC55FAB981363F,
1B468DBA17F78A4C46EFDB34,
8BC913A5669953BFE5A456F6,
4FB37F202AB613AEDFC644B3,
08AE4605E96BEA8D681F7211,
- 0E7D3CC3B54770916D277DA4,
CC1F87E59205712A0B2B08D5,
EE10601535426EBE973755EE,
45A7DB93A834F903CFB76794, ); name = utility; sourceTree = "<group>"; };
- 794BD365073742451788E5DF = {isa = PBXGroup; children = (
+ EAD6540D0E9A5C57AE3A3BCF = {isa = PBXGroup; children = (
21F7313455725884DEC213E7,
F7D1FD08E57CD55F824DB44D, ); name = VST; sourceTree = "<group>"; };
- 27252EE648860860662C12D6 = {isa = PBXGroup; children = (
+ 5C3A39EFBC69EAEC356560C0 = {isa = PBXGroup; children = (
A9BFA5468698DC8F32062A9B, ); name = VST3; sourceTree = "<group>"; };
B7199B2DD8BEEA7DBC08C672 = {isa = PBXGroup; children = (
- EC8818482FE69DEA2472407C,
+ 6917AA14026C433F4EDD90B7,
7B934098FF9E066D257F3FC8,
- B034C01D71A8349088379345,
- F4395C66021B50FE5AAB303C,
- B973D84EF8EAD532ECB42F83,
- 794BD365073742451788E5DF,
- 27252EE648860860662C12D6,
+ C71DF3358E0CFC90B5A9A42B,
+ BCF887576433BF90C7A14FA5,
+ E253DDFB80FD8CD63E1AF4C6,
+ EAD6540D0E9A5C57AE3A3BCF,
+ 5C3A39EFBC69EAEC356560C0,
04DAC3B6E82E983D25C6700E,
C6765BF98421489E663C9713,
AC1D5EC23242A02FFBB90928,
B0114050F18D46F699CFF91A,
195D56D8D48473E1EAFAD117,
04DAC3B6E82E983D25C6700E, ); name = "juce_audio_plugin_client"; sourceTree = "<group>"; };
- FE5B5B653118FF426AD1B47A = {isa = PBXGroup; children = (
+ CA8A62220B6A78035EAC1C15 = {isa = PBXGroup; children = (
7F38AB084E4DEAC474F6E5D1,
27CEF3DA924AB39D4B0A2636,
E6FFA40FF94303BAAA8F59F4,
BC700DF8CCA6B0D1F1B316EF, ); name = format; sourceTree = "<group>"; };
- DB4F61DF4C238632CDF6E9F8 = {isa = PBXGroup; children = (
+ A9548DBA366974037E58FB28 = {isa = PBXGroup; children = (
+ 92570EA70E83584533C01B2F,
9BC7159383824FCEC506721E,
E0C299CCA30DD1E51258BC08,
65C5CBAFC7A92739CF90FBD4,
60EBEDFDF4A6E7DED70B9185,
AA59E230F960D32E4BF578AF,
676CB38425FD7162414A9EBA,
+ 515126BF6D60C7AD716DC388,
8F20F683BBA8F2FF5F05E341,
27B53FF2B2CA458D1BFF27DA,
3F2F67CDD0CE06807A6EE36E,
CD2CEC703F63930859D26DBA, ); name = "format_types"; sourceTree = "<group>"; };
- F52D83A5E6D7E15A0799D7EB = {isa = PBXGroup; children = (
- 1CC9DE40A962B61BE5D6D1AF,
- 2CA49E8DB449CDE8F92A928D,
+ 3E08A0EEF09037BBDA43376D = {isa = PBXGroup; children = (
45425684D864D3DCC04AB8FD,
27170419E6F8EC6BD7C8BCA2,
227566216FC118FEC57AA657,
5E312F41CC4B89D71CCAEA67,
9CF8D99020C1E9434D7EEB02, ); name = utilities; sourceTree = "<group>"; };
36387B9A19B898DE9917B36C = {isa = PBXGroup; children = (
- FE5B5B653118FF426AD1B47A,
- DB4F61DF4C238632CDF6E9F8,
- F52D83A5E6D7E15A0799D7EB,
+ CA8A62220B6A78035EAC1C15,
+ A9548DBA366974037E58FB28,
+ 3E08A0EEF09037BBDA43376D,
005E6B92EC80BA372A882F34,
8CB8096CD6EBCC7D9F2A1B95,
572121865FF2620080B60083,
4287FC6B2DA51D6C65604731,
9A34D18E2F6CFC64544D5256,
2CDCE436A4B3AD37E33970A0,
- DDEC9F2E4879D892EE4D5D14,
1F85CA151345CB52E4751F2E,
DAC36A924C848D4620ACBBDB,
960B17EAF04A957650DF11F1,
578C165E2B9B13D3889275F3,
62B6FB220AF68EBA704B9D4E,
F60C66D496040B9020F85EA0,
- 3BCC046F9369CD8E0D747ECB,
29727733888EEDEBAA076762,
D235710EF601383BE6387C66,
B3518C2BA9587206081CEE53,
578C165E2B9B13D3889275F3,
62B6FB220AF68EBA704B9D4E,
F60C66D496040B9020F85EA0,
- 3BCC046F9369CD8E0D747ECB,
29727733888EEDEBAA076762,
D235710EF601383BE6387C66,
B3518C2BA9587206081CEE53,
62B6FB220AF68EBA704B9D4E,
0E5888B3771A9F0513B82FEA,
F60C66D496040B9020F85EA0,
- 3BCC046F9369CD8E0D747ECB,
29727733888EEDEBAA076762,
D235710EF601383BE6387C66,
B3518C2BA9587206081CEE53,
578C165E2B9B13D3889275F3,
62B6FB220AF68EBA704B9D4E,
F60C66D496040B9020F85EA0,
- 3BCC046F9369CD8E0D747ECB,
29727733888EEDEBAA076762,
D235710EF601383BE6387C66,
B3518C2BA9587206081CEE53,
<OutputFile>$(IntDir)\MultiOutSynth.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin" mkdir "$(OutDir)$(TargetName).aaxplugin"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents\Win32" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents\Win32"\r
+copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
+"..\..\c:\SDKs\AAX\Utilities\CreatePackage.bat" "$(OutDir)$(TargetName).aaxplugin\Contents\Win32" "..\..\c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<OutputFile>$(IntDir)\MultiOutSynth.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin" mkdir "$(OutDir)$(TargetName).aaxplugin"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents\Win32" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents\Win32"\r
+copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
+"..\..\c:\SDKs\AAX\Utilities\CreatePackage.bat" "$(OutDir)$(TargetName).aaxplugin\Contents\Win32" "..\..\c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\MultiOutSynth.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\CAXException.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\ComponentBase.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\Standalone\juce_StandaloneFilterWindow.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_CarbonVisibility.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_FakeMouseMoveGenerator.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeModuleHeaders.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_WindowsHooks.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_RTAS.r"/>\r
<None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\MultiOutSynth.cpp">\r
<Filter>MultiOutSynth\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\RTAS</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
</None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r">\r
+ <Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
+ </None>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r">\r
<Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
</None>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0"\r
pluginAUExportPrefix="MultiOutSynthAU" pluginRTASCategory=""\r
aaxIdentifier="com.ROLI.MultiOutSynth" pluginAAXCategory="AAX_ePlugInCategory_SWGenerators"\r
- jucerVersion="4.2.4" companyName="ROLI Ltd." companyWebsite="www.roli.com"\r
+ jucerVersion="4.3.0" companyName="ROLI Ltd." companyWebsite="www.roli.com"\r
companyEmail="info@juce.com" pluginIsMidiEffectPlugin="0" buildAUv3="0">\r
<MAINGROUP id="uGSDhi" name="MultiOutSynth">\r
<GROUP id="{78464AFF-72EB-5BDD-4FD3-6C8C6CF5DFA3}" name="Source">\r
\r
//==============================================================================\r
MultiOutSynth()\r
+ : AudioProcessor (BusesProperties()\r
+ .withOutput ("Output #1", AudioChannelSet::stereo(), true)\r
+ .withOutput ("Output #2", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #3", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #4", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #5", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #6", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #7", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #8", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #9", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #10", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #11", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #12", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #13", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #14", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #15", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output #16", AudioChannelSet::stereo(), false))\r
{\r
- // The base class constructor will already add a main stereo output bus\r
- // If you want to add your own main channel then simply call clear the\r
- // output buses (busArrangement.outputBuses.clear()) and then add your own\r
-\r
- // Add additional output buses but disable these by default\r
- for (int busNr = 1; busNr < maxMidiChannel; ++busNr)\r
- busArrangement.outputBuses.add (AudioProcessorBus (String ("Output #") += String (busNr + 1), AudioChannelSet::disabled()));\r
-\r
// initialize other stuff (not related to buses)\r
formatManager.registerBasicFormats();\r
\r
~MultiOutSynth() {}\r
\r
//==============================================================================\r
- bool setPreferredBusArrangement (bool isInputBus, int busIndex,\r
- const AudioChannelSet& preferred) override\r
- {\r
- const int numChannels = preferred.size();\r
- const bool isMainBus = (busIndex == 0);\r
-\r
- // do not allow disabling the main output bus\r
- if (isMainBus && preferred.isDisabled()) return false;\r
-\r
- // only support mono or stereo (or disabling) buses\r
- if (numChannels > 2) return false;\r
-\r
- // pass the call on to the base class\r
- return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred);\r
- }\r
+ bool canAddBus (bool isInput) const override { return (! isInput && getBusCount (false) < maxMidiChannel); }\r
+ bool canRemoveBus (bool isInput) const override { return (! isInput && getBusCount (false) > 1); }\r
\r
//==============================================================================\r
void prepareToPlay (double newSampleRate, int samplesPerBlock) override\r
\r
void processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiBuffer) override\r
{\r
- for (int busNr = 0; busNr < maxMidiChannel; ++busNr)\r
+ const int busCount = getBusCount (false);\r
+ for (int busNr = 0; busNr < busCount; ++busNr)\r
{\r
MidiBuffer midiChannelBuffer = filterMidiMessagesForChannel (midiBuffer, busNr + 1);\r
- AudioSampleBuffer audioBusBuffer = busArrangement.getBusBuffer (buffer, false, busNr);\r
+ AudioSampleBuffer audioBusBuffer = getBusBuffer (buffer, false, busNr);\r
\r
- if (! busArrangement.outputBuses.getReference (busNr).channels.isDisabled())\r
- synth [busNr]->renderNextBlock (audioBusBuffer, midiChannelBuffer, 0, audioBusBuffer.getNumSamples());\r
+ synth [busNr]->renderNextBlock (audioBusBuffer, midiChannelBuffer, 0, audioBusBuffer.getNumSamples());\r
}\r
}\r
\r
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-\r
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\r
-<plist>\r
- <dict>\r
- <key>CFBundleExecutable</key>\r
- <string>${EXECUTABLE_NAME}</string>\r
- <key>CFBundleIconFile</key>\r
- <string></string>\r
- <key>CFBundleIdentifier</key>\r
- <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>\r
- <key>CFBundleName</key>\r
- <string>NoiseGate</string>\r
- <key>CFBundleDisplayName</key>\r
- <string>NoiseGate</string>\r
- <key>CFBundlePackageType</key>\r
- <string>FMWK</string>\r
- <key>CFBundleSignature</key>\r
- <string>????</string>\r
- <key>CFBundleShortVersionString</key>\r
- <string>1.0.0</string>\r
- <key>CFBundleVersion</key>\r
- <string>1.0.0</string>\r
- <key>NSHumanReadableCopyright</key>\r
- <string></string>\r
- <key>NSHighResolutionCapable</key>\r
- <true/>\r
- </dict>\r
-</plist>\r
22E029B69DCF0227A2F1C4C0 = {isa = PBXBuildFile; fileRef = 682D8F418F4F2A594B675B04; };
7B29BF44E4D3A19A78AFCAE5 = {isa = PBXBuildFile; fileRef = BFD1E323CFA0C31373F17005; };
8A80848D0926C139FCDF32DA = {isa = PBXBuildFile; fileRef = A35FA240D1B9B62278997E63; };
- 462A0081509C563E486CB253 = {isa = PBXBuildFile; fileRef = F89668D992EB657D805942EC; };
B27611551D668EC3CCDFB6B1 = {isa = PBXBuildFile; fileRef = 61C85A8FD80C4400909933C2; };
36CC8AE273E26688AB1C7D74 = {isa = PBXBuildFile; fileRef = 625CDFFCC5CC00D8967C48B1; };
CA0CB16594EB5D6940C95468 = {isa = PBXBuildFile; fileRef = 807F5A1C63944497089A672C; };
04D8748C7B98E5382BAEA2DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; };
05085296947E594C821B4B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
05248E8821F83DE512FE793B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; };
- 05A2F6600D19B78F587E17F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
05C53231EA20EF3D30289E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
0638946C053972602E8F1B46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
06479087567B237274BC06E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; };
22168AF37662F9E8BDA0EECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jerror.h"; sourceTree = "SOURCE_ROOT"; };
2250321E7F10BCBD594369EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
226AECA874A1905BE3AF8359 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
- 2291B46D625DAF906326E152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
22AB34127E007391E31C277A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; };
22B0EBA6902BE8D49ABF4608 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
22B0F7CDE97B294B59FDB5FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "win_utf8_io.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/win_utf8_io.h"; sourceTree = "SOURCE_ROOT"; };
30158F901439510F05BBC97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; };
30A0CF70C234FD895D7F6A58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
30B076BD20CDD8F27B6604CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3105E167622313C70055B903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
310A059FDFF472B87EFA55CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
310CDB13DD4A06E399C9D49D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; };
3119C964C1406136A1A5E5BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; };
3341BAEBFCF68A45D192E9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; };
3375D8285224860A2C2B218B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; };
3376A1806C3FCEC8950298F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
- 33ACBDD4942BC60B1F2C5388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
33ACD86399527378559A8B1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
33FA8E14DC58451E1AF0776E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; };
3475B492491BFF4A3650B06B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = memory.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/memory.c"; sourceTree = "SOURCE_ROOT"; };
- 3489215355E69474A575950B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
355EAB1BFEA4C1D23E555933 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; };
359EDCF3631597C425AB9A47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
35C0F90051E357DBCC214EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
3D194634199BFF294C166E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
3D5320F03934A467C2042FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
3D72706E8ABB733A6490F014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
- 3DC1CD01357795B9A88D002A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
3E224AA9A88BBA37C77D51F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
3E7F468F2F123CE89D0B6F77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
3E81DB0EB7E7BB8A5C960909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
4B9BB6AEB63D134C137D1EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Base64.cpp"; path = "../../../../../modules/juce_core/text/juce_Base64.cpp"; sourceTree = "SOURCE_ROOT"; };
4BA8C030EBAD032677A603EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; };
4BACF3260C3D989D1134FD27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
- 4BD658660C6B6A5A67B93187 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
4C27DB310396A866B2917A15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
4C2CF6BC5BDC337F11F8E64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; };
4C3FC93FCFD846D2CD7038F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; };
4C69398466F6DD914602C907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
- 4CB640E85926E8E652D21FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; };
4CBF728D82FD84A9D32E517C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; };
4CF9F8DC65832C1AB574EC9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
4D374200F6FC355F4C84DA74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
4F225451B48FF49D7C2B53D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterChoice.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterChoice.h"; sourceTree = "SOURCE_ROOT"; };
4F2A53CD273ACD3B0904771B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; };
4F5E3FD38D93207727544C6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; };
+ 4F99E39D2B567CFF9DD388B8 = {isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = "../../../../../modules/juce_audio_plugin_client/AUResources.r"; sourceTree = "SOURCE_ROOT"; };
4F9DC6FC10A9860EB85F5FC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; };
4FC3D138F39ADF9ACC9EC688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; };
504AFDA26EACE4139DE5B900 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
55A0272BFAEAD9E1F3895068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; };
55F359FA31D7FE4CA10AB533 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
55FBB3ADE143ECCD6E154196 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; };
- 5667737D7AFBE57506EA08F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
569B70D86CB4966AFBAEB5BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
56CD0DED564D4CEB19D38795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; };
56E76B31459EF0E1C4D2D5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
9362F823624E5EFBCB99C66E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
9372EA69466CE77845F7ADB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
9380E7D5BB77F1AD65D430E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
+ 938C9D9676264FCB2150FCEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
93FF00D1F3E5379E8EC9BDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
943B88ECAC8C127556319A56 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
944C96F1603C3E777C12AAB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; };
946AE7659626D557F8AAED75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
9492CF7B606C6F3A68ED8048 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_uncoupled.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/uncoupled/res_books_uncoupled.h"; sourceTree = "SOURCE_ROOT"; };
949DD226687D344E9283CB08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; };
- 94E9B55296D347A134AFCA1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
94F3D0138EBB7EB31E15940C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; };
951E7EF0AD1CB490C165CC73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44u.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44u.h"; sourceTree = "SOURCE_ROOT"; };
9527265F186C8189FB684288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; };
98AA1B3E2E60CBE1E9EFB73A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
99025567594494D7CF194D7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
99711B22BB54CC86045B2C95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; };
+ 9998DD31ABBEB8513422A48B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; };
999B9F4C3F6091ADBA9421E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiRPN.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiRPN.cpp"; sourceTree = "SOURCE_ROOT"; };
99CFD965842860C4248EFB4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
99DBD2D02979E38C288F1C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
9A0A19875BF42ABAEA7BE5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
9A131223AA307AB505461134 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; };
- 9A35F41D1FDA6748168386B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
9A82F298785B858993CCE61C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = deflate.c; path = "../../../../../modules/juce_core/zip/zlib/deflate.c"; sourceTree = "SOURCE_ROOT"; };
9AD6A70D08B644E6406BD1E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_stereo.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_stereo.h"; sourceTree = "SOURCE_ROOT"; };
9B2F97252A28CBC0532AC1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
9C779471720BDDE417ED9BE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
9CBD130337083207F2B56452 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; };
9CC8CDF595616EEF33071A40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9CCA07FAE3B4A4D2257497BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
9CDA4A2E17BF5DB191F883D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9D0EADD58202012822195D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; };
9D14B147B6A2CA89387ADD72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
9D67E9F6247EDE2E207EFE8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; };
9D91048D35939171C41AFA99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9DAB02E651736622947A4879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
9DEA01475DB585366B99507A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
9DF06DEA20D7CC5B7784ABB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
9E0C3CD23088388B14CFE298 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
9E1B841AC727490DBAD510C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
- 9EB05C378008BD43BC552E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; };
- 9EB8F8C25EC50AA2C1289551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
+ 9E3C9508D07D11C753F6F4EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; };
+ 9E65E218A429E2B64829B4E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9EA4A85998E5730634754DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
9F0F2E14CFA9F3D6A25E2B38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 9F385C17D1F088F19F3A12F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9F39266110C56F8A0C97FA65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; };
9F5C521FCFAB9BD273073B55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; };
- 9FC8B1D81C0535EC5B6D0C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9F9D896F664C8CA286C041FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
+ A466C5F100D695F2DC325C90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
AFB3197B2BE07ED91A0C5FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
- B135B7ABB572DE03324CFD7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
- B449D9952E702909C133BF21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; };
- C6A9A10636624D5D1B63F6BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; };
+ B6567C791BE962F993B78C02 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
+ D30F58A3C82A7C61E6768EBE = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; sourceTree = "SOURCE_ROOT"; };
E39A67D3DE5B2F2092769CE7 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
8D84B63F343660AEE31FD166 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 938C9D9676264FCB2150FCEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_devices.cpp"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 94E9B55296D347A134AFCA1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
970832BB3D7B3F1D404D36CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
- 9998DD31ABBEB8513422A48B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = fixed.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/fixed.c"; sourceTree = "SOURCE_ROOT"; };
9C62742BCA5D3C9524DE3029 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = NoiseGate.aaxplugin; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 9D0EADD58202012822195D8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9CCA07FAE3B4A4D2257497BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
9D366DD91CD44CED6934A26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitreader.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitreader.c"; sourceTree = "SOURCE_ROOT"; };
9D67999CB8A7EA49B548EF9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mdct.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.h"; sourceTree = "SOURCE_ROOT"; };
+ 9DAB02E651736622947A4879 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
9E2841D274BDF096C1567AA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_plugin_client_AAX.mm"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AAX.mm"; sourceTree = "SOURCE_ROOT"; };
- 9E3C9508D07D11C753F6F4EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; };
- 9E65E218A429E2B64829B4E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
9E685F6C42796C5B486A08BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUPlugInDispatch.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUPlugInDispatch.h"; sourceTree = "SOURCE_ROOT"; };
- 9EA4A85998E5730634754DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
- 9F385C17D1F088F19F3A12F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9F39266110C56F8A0C97FA65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jversion.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jversion.h"; sourceTree = "SOURCE_ROOT"; };
+ 9EB05C378008BD43BC552E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 9EB8F8C25EC50AA2C1289551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
9F53388B3A4667994AD93E8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitwriter.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitwriter.h"; sourceTree = "SOURCE_ROOT"; };
9F5E1264C9AC4AA54E0AB158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; };
- 9F9D896F664C8CA286C041FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
9FB3DAAD402A11A090B0521C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; };
+ 9FC8B1D81C0535EC5B6D0C75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
9FD8096E8A6E070EB0D3E6F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
A0189ED3EEAACC00AD4649EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; };
A067B55828A6944BF5F96152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
A761BD7A248A08CC60A9E4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; };
A771637F51328BD121F5B4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
A777DFBFEF3B792691DF6D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; };
+ A78CF97C7A5D3DAB79E9567A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
A79A2F454A734BF87399A9F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
A7AD58E5CDFBA2D7B3C135B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngmem.c"; sourceTree = "SOURCE_ROOT"; };
A7B7B61591A2DA73045A701E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmemmgr.c"; sourceTree = "SOURCE_ROOT"; };
B0E97BE292E3D682C05BA857 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; };
B12248101A782E8895F0E7B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = crc.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/crc.c"; sourceTree = "SOURCE_ROOT"; };
B12EE6AF06E03901F0F155E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B135B7ABB572DE03324CFD7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
B15F50973CE5D365D77D282B = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libNoiseGate.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
B16225EF7398EAE3D96ED4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPENote.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPENote.h"; sourceTree = "SOURCE_ROOT"; };
B17AAEE6E7F21E912EE5B1E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
B38DC525CEED58B1CCD74281 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; };
B416D8DB72CABF1B27455D2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; };
B43C74139B5E5F78BFB36FFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ B449D9952E702909C133BF21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; };
B45121C8111326B9C6A4464F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
B49D613F21BEB11001B867D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; };
B4A41AA6C0B39149FF262728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
B5D049755C51850643A8FDD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_processors.cpp"; path = "../../../../../modules/juce_audio_processors/juce_audio_processors.cpp"; sourceTree = "SOURCE_ROOT"; };
B642AD759F4C5349064EF011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
B64D3B2EAE579956F10DE320 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
- B6567C791BE962F993B78C02 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
B6675396FF687CF524AC669D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_1.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_1.cpp"; sourceTree = "SOURCE_ROOT"; };
B6D0F50156B6E8C46BC504B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
B7218CA42CB8B9FDECE34071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
BCCCB0F3D86B3F05A2FDC6BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
BD1941870623E3B285EA0C3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
BD59FB028A54274E97B02092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
- BD79391479F73580810F52AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
BDA9DDCC46750F9BEC942F54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; };
BDB0A3591E132C546B8B5CD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
BDC68C774FBB771235D4F40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_44.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_44.h"; sourceTree = "SOURCE_ROOT"; };
C28E65E47A46EA97CF9E4CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
C2A45F0C8687CD276A8E9E40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
C2A8FAF6D53D89987A236B07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; };
- C361304C50E4E46DB1576AC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
C37BB9C8E9EF74698822F5E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; };
C3870B6C4EA0AFB7E828015D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
C3C3D5EFDFA8FB7AF31CAC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lsp.c; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lsp.c"; sourceTree = "SOURCE_ROOT"; };
C62AED30E688772F7AE78618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
C6392B4465535F02C6C37BA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiserBase.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.cpp"; sourceTree = "SOURCE_ROOT"; };
C65373B23FC2A7F22E3FEC01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; };
+ C6A9A10636624D5D1B63F6BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; };
C6C096547CAD0C12FA4746CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AUv3_Wrapper.mm"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AUv3_Wrapper.mm"; sourceTree = "SOURCE_ROOT"; };
C6C93B02F46D3AA1764BC99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../JuceLibraryCode/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
C6D44F93049484029FC1B9FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; };
C803EBF8CEF28BD5F77E070D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; };
C80695FBDC045BF4610B9CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
C816EA1619D99EF2A329B031 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
+ C834E698951454E89E54FC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
C87EF309B572BC3315310202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; };
C8C90957F833D794D3E41A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
C8E71B461A5D6DC76ECD0FF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
D2737CAED311D9A037B20DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; };
D2C8FEE4DB448F37F759A8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; };
D2EE78DEFF4DB320142E6D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; };
- D30F58A3C82A7C61E6768EBE = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; sourceTree = "SOURCE_ROOT"; };
D326D6EF2740CF33DD84C203 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
D3296D3D3E27D51539A976D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAMutex.h"; sourceTree = "SOURCE_ROOT"; };
D32D31BDE76500648D64B7A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
EB4E1684047679E02F10405F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
EBAB55A995E6C7708895833F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
EBCA6DB76022CE8410954E33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
+ EC1BBCD621FEC78313CDCD77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
EC29D7BAE8B0830382603A53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; };
ECA8035326160B53372BE525 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
ECAF353698739976F56D6A02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
F8354F540C7AD8D7D331AC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; };
F838AA16DFECC7023BADF2FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; };
F8755BB22478DDE574F49550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; };
- F89668D992EB657D805942EC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
F899FD17F2789DA5C2BC257A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.h"; sourceTree = "SOURCE_ROOT"; };
F8AB7D10F5C9ABF34829AE8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_RTAS_MacUtilities.mm"; path = "../../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_MacUtilities.mm"; sourceTree = "SOURCE_ROOT"; };
F8D37926F2E6310D56E793DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
E6820288B676579226126D88 = {isa = PBXGroup; children = (
C3D51E70C31B55C5F37D897D, ); name = NoiseGate; sourceTree = "<group>"; };
3931BEFB2C2889D69B504B91 = {isa = PBXGroup; children = (
+ EC1BBCD621FEC78313CDCD77,
+ A466C5F100D695F2DC325C90,
B449D9952E702909C133BF21,
E97DCF658698D013CDD4A807,
99DBD2D02979E38C288F1C7D,
6E74706D73837239FE5FB6BC,
571B0C346579CCD9F6F9A6D0,
6E74706D73837239FE5FB6BC, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- B6B1D3FD2E8BB2CAC93DEF8B = {isa = PBXGroup; children = (
- 5667737D7AFBE57506EA08F0,
- 4BD658660C6B6A5A67B93187,
- BD79391479F73580810F52AC, ); name = "audio_cd"; sourceTree = "<group>"; };
- 7106638B6E11A4FEBFF1DD95 = {isa = PBXGroup; children = (
+ 5B1340CB7701B3AC791D5023 = {isa = PBXGroup; children = (
BFE7B79DD4882AD3806DEA44,
6BD631AB6B0DE1F1048B4E99,
9527265F186C8189FB684288,
FED254838DB40DD00AD90346,
6D66326CCD4E80F073289B5E,
6985DCCAE57E6FF9DF41D1BF, ); name = "audio_io"; sourceTree = "<group>"; };
- 23357979616DE6EE368A2024 = {isa = PBXGroup; children = (
+ 1A702881488FF064D26CDF69 = {isa = PBXGroup; children = (
9F5E1264C9AC4AA54E0AB158,
7143312CC1700B2BA477AB72,
7BF0A92363ACBE467D52D136,
C56B711849D2CD4C767789A1,
D8BF9522B320517E46687C2F,
E1240D7EF52CC286BA9E206A,
- C361304C50E4E46DB1576AC7,
0AE8A315A7822327A57D1874,
3CD0C77BB5AE74836A38DBD8,
- 2291B46D625DAF906326E152,
- 9A35F41D1FDA6748168386B2,
C3F5935E51CF7BE533E5517B,
42BB2CEE0312ED7F3F9D7960,
D5328CAED1770523B12319A1,
5C1DC62AAD02F3A90F6A6F6A,
- 05A2F6600D19B78F587E17F2,
- 33ACBDD4942BC60B1F2C5388,
359EDCF3631597C425AB9A47,
13BC07D9C47420ABEF79E3C9,
3D194634199BFF294C166E5B, ); name = native; sourceTree = "<group>"; };
- 2B3A6C437CC9CF5809B3A07E = {isa = PBXGroup; children = (
+ A11FE53BF1DC33A631992D42 = {isa = PBXGroup; children = (
A0B50A729CB25919EE133A4D,
3376A1806C3FCEC8950298F9,
031B11B5EC367F8A36BFAC27,
B33368278B6F11BE53199EF8, ); name = sources; sourceTree = "<group>"; };
2A9539AFE124BBD057A21CD0 = {isa = PBXGroup; children = (
- B6B1D3FD2E8BB2CAC93DEF8B,
- 7106638B6E11A4FEBFF1DD95,
- 23357979616DE6EE368A2024,
+ 5B1340CB7701B3AC791D5023,
+ 1A702881488FF064D26CDF69,
6FE6CC76BC5303E93FA825ED,
- 2B3A6C437CC9CF5809B3A07E,
+ A11FE53BF1DC33A631992D42,
938C9D9676264FCB2150FCEC,
37F88926AD5D61EBFFD6F58A,
D32D31BDE76500648D64B7A6,
259860F50BF88025C9451A37,
5BB1BBCB34B72DCE9B16B695,
259860F50BF88025C9451A37, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- C87C608E9A5C5E6E7E794076 = {isa = PBXGroup; children = (
+ D91841D794436BCDF62D2F41 = {isa = PBXGroup; children = (
86691FA1B2CDD3570ABEA9C7,
218937DFF1E643C7E9392D3D, ); name = AAX; sourceTree = "<group>"; };
0F13F4CD7D902B9D2DA69DC9 = {isa = PBXGroup; children = (
F899FD17F2789DA5C2BC257A, ); name = CoreAudioUtilityClasses; sourceTree = "<group>"; };
3D494EE356FF362ACDC1098E = {isa = PBXGroup; children = (
0F13F4CD7D902B9D2DA69DC9,
- 3105E167622313C70055B903,
CB425D61E072DED92F6CAC85,
C6C096547CAD0C12FA4746CF, ); name = AU; sourceTree = "<group>"; };
- 5A8AB44A44CEA32DC33D5765 = {isa = PBXGroup; children = (
+ 4C0EB667F9E6957A6B3D147A = {isa = PBXGroup; children = (
F4E8427587734D0D2B94F4D8,
E09DC8AF27C6E40AB436E821,
6033F6DD0B905B8819C115E2,
F8AB7D10F5C9ABF34829AE8F,
F785317A2BB8414F5D8E2813,
D0A3F2265D323BB3F90F3DD5, ); name = RTAS; sourceTree = "<group>"; };
- A0C36FF148057D22D568BE59 = {isa = PBXGroup; children = (
+ 0F0F0874FF8A90051D855E75 = {isa = PBXGroup; children = (
F4D616BD3FAFE9587EC29FC6,
5202ABFCC92AA0AFBC9400BE, ); name = Standalone; sourceTree = "<group>"; };
- 3AE05782CAEEEB1F04B31F1A = {isa = PBXGroup; children = (
+ 074A46BC4A8864B519341179 = {isa = PBXGroup; children = (
210E0DDAE66818EF2B278274,
94F3D0138EBB7EB31E15940C,
F4C02954B36F8FCE5D4E647C,
69D08C7859B6E11D7178EDE6,
9FB3DAAD402A11A090B0521C,
- 4CB640E85926E8E652D21FD3,
A29D254460762F8F6990D54C,
B9A21AE64CC4B86FC1F67061,
F35CA755BCEF635E1D3A905C, ); name = utility; sourceTree = "<group>"; };
- CBE8572BAED059334FB2FDF2 = {isa = PBXGroup; children = (
+ 687E4E092A901620FFA53BC0 = {isa = PBXGroup; children = (
906428E1A9963444AF1B0D60,
69A29D8420DB0B53507E223D, ); name = VST; sourceTree = "<group>"; };
- 2CFD285766D4639C6B7C7457 = {isa = PBXGroup; children = (
+ 7CCBFDB1A7B2E1A5A6DC0B06 = {isa = PBXGroup; children = (
CDE1B83C996A1861A93C93A7, ); name = VST3; sourceTree = "<group>"; };
3935AB4CC6A0A44A4A93B7E8 = {isa = PBXGroup; children = (
- C87C608E9A5C5E6E7E794076,
+ D91841D794436BCDF62D2F41,
3D494EE356FF362ACDC1098E,
- 5A8AB44A44CEA32DC33D5765,
- A0C36FF148057D22D568BE59,
- 3AE05782CAEEEB1F04B31F1A,
- CBE8572BAED059334FB2FDF2,
- 2CFD285766D4639C6B7C7457,
+ 4C0EB667F9E6957A6B3D147A,
+ 0F0F0874FF8A90051D855E75,
+ 074A46BC4A8864B519341179,
+ 687E4E092A901620FFA53BC0,
+ 7CCBFDB1A7B2E1A5A6DC0B06,
163F8CC7509513B483860103,
AF02EDDBD4B4B8081DC18DA4,
9E2841D274BDF096C1567AA0,
9D0EADD58202012822195D8F,
C5ADD5DD0AFBC087E7ACCCED,
163F8CC7509513B483860103, ); name = "juce_audio_plugin_client"; sourceTree = "<group>"; };
- 949CEE4B50C9FCC64A4C9ADB = {isa = PBXGroup; children = (
+ 76C359A17AAF1A3204E8D97A = {isa = PBXGroup; children = (
E542BB1541FF0594DC31C41B,
11FC9FFEFA7831562BF81237,
D0EC72DA701E189E29375541,
6DE13E77994751144B4E8BFF, ); name = format; sourceTree = "<group>"; };
- AC844506822152AE0161DCE1 = {isa = PBXGroup; children = (
+ 5D7AE1BEE357107F079EFD23 = {isa = PBXGroup; children = (
+ C834E698951454E89E54FC8A,
4BACF3260C3D989D1134FD27,
B57BAEBC65AD0A82BCA41C25,
2E7C45A3DE967DA2042E77D8,
15D9387120B61E7C407F2C76,
05085296947E594C821B4B99,
E59436CDDCF0D85D9D70069D,
+ A78CF97C7A5D3DAB79E9567A,
3F3CDD8265781AA6E58916D5,
FF8FFE608168896DE86209DD,
380147C3BE63B15FFA951023,
899CCE2491A041C70D8B77C7, ); name = "format_types"; sourceTree = "<group>"; };
- 971E5781732B5E6A389383C1 = {isa = PBXGroup; children = (
- 3489215355E69474A575950B,
- 3DC1CD01357795B9A88D002A,
+ 3CDBEF3BEFF89C48FAFF59C0 = {isa = PBXGroup; children = (
509F5E0BB415297C76CB79F4,
5AE60C61A6222805D614A7D8,
B416D8DB72CABF1B27455D2A,
45F28DC1BCF1DA9E48DE7C13,
B344E0D80D145578D5EC63A0, ); name = utilities; sourceTree = "<group>"; };
53E84A87793B1E891A92D8AE = {isa = PBXGroup; children = (
- 949CEE4B50C9FCC64A4C9ADB,
- AC844506822152AE0161DCE1,
- 971E5781732B5E6A389383C1,
+ 76C359A17AAF1A3204E8D97A,
+ 5D7AE1BEE357107F079EFD23,
+ 3CDBEF3BEFF89C48FAFF59C0,
061B5DC88D5AC0B6693BFFCE,
B55E5E5FF300B7364E863B66,
B5D049755C51850643A8FDD6,
682D8F418F4F2A594B675B04,
BFD1E323CFA0C31373F17005,
A35FA240D1B9B62278997E63,
- F89668D992EB657D805942EC,
61C85A8FD80C4400909933C2,
625CDFFCC5CC00D8967C48B1,
807F5A1C63944497089A672C,
44A5A26F142FFD23304A8A19,
22E029B69DCF0227A2F1C4C0,
8A80848D0926C139FCDF32DA,
- 462A0081509C563E486CB253,
B27611551D668EC3CCDFB6B1,
36CC8AE273E26688AB1C7D74,
CA0CB16594EB5D6940C95468,
44A5A26F142FFD23304A8A19,
22E029B69DCF0227A2F1C4C0,
8A80848D0926C139FCDF32DA,
- 462A0081509C563E486CB253,
B27611551D668EC3CCDFB6B1,
36CC8AE273E26688AB1C7D74,
CA0CB16594EB5D6940C95468,
22E029B69DCF0227A2F1C4C0,
7B29BF44E4D3A19A78AFCAE5,
8A80848D0926C139FCDF32DA,
- 462A0081509C563E486CB253,
B27611551D668EC3CCDFB6B1,
36CC8AE273E26688AB1C7D74,
CA0CB16594EB5D6940C95468,
44A5A26F142FFD23304A8A19,
22E029B69DCF0227A2F1C4C0,
8A80848D0926C139FCDF32DA,
- 462A0081509C563E486CB253,
B27611551D668EC3CCDFB6B1,
36CC8AE273E26688AB1C7D74,
CA0CB16594EB5D6940C95468,
<OutputFile>$(IntDir)\NoiseGate.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin" mkdir "$(OutDir)$(TargetName).aaxplugin"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents\Win32" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents\Win32"\r
+copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
+"..\..\c:\SDKs\AAX\Utilities\CreatePackage.bat" "$(OutDir)$(TargetName).aaxplugin\Contents\Win32" "..\..\c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<OutputFile>$(IntDir)\NoiseGate.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\Win32" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin" mkdir "$(OutDir)$(TargetName).aaxplugin"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents\Win32" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents\Win32"\r
+copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).aaxplugin\Contents\Win32\$(TargetName).aaxplugin"\r
+"..\..\c:\SDKs\AAX\Utilities\CreatePackage.bat" "$(OutDir)$(TargetName).aaxplugin\Contents\Win32" "..\..\c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\NoiseGate.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\CAXException.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\ComponentBase.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\Standalone\juce_StandaloneFilterWindow.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_CarbonVisibility.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_FakeMouseMoveGenerator.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeModuleHeaders.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_WindowsHooks.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_RTAS.r"/>\r
<None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\NoiseGate.cpp">\r
<Filter>NoiseGate\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\RTAS</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
</None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r">\r
+ <Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
+ </None>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r">\r
<Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
</None>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
pluginIsSynth="0" pluginWantsMidiIn="0" pluginProducesMidiOut="0"\r
pluginSilenceInIsSilenceOut="0" pluginEditorRequiresKeys="0"\r
pluginAUExportPrefix="NoiseGateAU" pluginRTASCategory="" aaxIdentifier="com.roli.NoiseGate"\r
- pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.2.4"\r
+ pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="4.3.0"\r
pluginIsMidiEffectPlugin="0" buildAUv3="0">\r
<MAINGROUP id="FVYuyg" name="NoiseGate">\r
<GROUP id="{6EB662B0-ED81-2504-8B90-DCBFA5675DFC}" name="Source">\r
class NoiseGate : public AudioProcessor\r
{\r
public:\r
+ //==============================================================================\r
//==============================================================================\r
NoiseGate()\r
+ : AudioProcessor (BusesProperties().withInput ("Input", AudioChannelSet::stereo())\r
+ .withOutput ("Output", AudioChannelSet::stereo())\r
+ .withInput ("Sidechain", AudioChannelSet::mono()))\r
{\r
addParameter (threshold = new AudioParameterFloat ("threshold", "Threshold", 0.0f, 1.0f, 0.5f));\r
addParameter (alpha = new AudioParameterFloat ("alpha", "Alpha", 0.0f, 1.0f, 0.8f));\r
-\r
- // add single side-chain bus\r
- busArrangement.inputBuses.add (AudioProcessorBus ("Sidechain In", AudioChannelSet::mono()));\r
-\r
- // To be compatible with all VST2 DAWs, it's best to pass through the sidechain\r
- if (isVST2())\r
- busArrangement.outputBuses.add (AudioProcessorBus ("Sidechain Out", AudioChannelSet::mono()));\r
}\r
\r
~NoiseGate() {}\r
\r
//==============================================================================\r
- bool setPreferredBusArrangement (bool isInputBus, int busIndex, const AudioChannelSet& preferred) override\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override\r
{\r
- const bool isMainBus = (busIndex == 0);\r
- const bool isSideChain = (busIndex == 1);\r
-\r
- const int numChannels = preferred.size();\r
-\r
- // do not allow disabling channels on main bus\r
- if (numChannels == 0 && isMainBus) return false;\r
-\r
- // VST2 does not natively support sidechains/aux buses.\r
- // But many DAWs treat the third input of a plug-in\r
- // as a sidechain. So limit the main bus to stereo!\r
- if (isVST2())\r
- {\r
- if (isMainBus && numChannels != 2) return false;\r
-\r
- // we only allow mono sidechains in VST-2\r
- if (isSideChain && numChannels != 1)\r
- return false;\r
- }\r
-\r
- // always have the same channel layout on both input and output on the main bus\r
- if (isMainBus && ! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred))\r
- return false;\r
-\r
- return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred);\r
+ // the sidechain can take any layout, the main bus needs to be the same on the input and output\r
+ return (layouts.getMainInputChannelSet() == layouts.getMainOutputChannelSet() &&\r
+ (! layouts.getMainInputChannelSet().isDisabled()));\r
}\r
\r
//==============================================================================\r
\r
void processBlock (AudioSampleBuffer& buffer, MidiBuffer&) override\r
{\r
- AudioSampleBuffer mainInputOutput = busArrangement.getBusBuffer (buffer, true, 0);\r
- AudioSampleBuffer sideChainInput = busArrangement.getBusBuffer (buffer, true, 1);\r
+ AudioSampleBuffer mainInputOutput = getBusBuffer(buffer, true, 0);\r
+ AudioSampleBuffer sideChainInput = getBusBuffer(buffer, true, 1);\r
\r
float alphaCopy = *alpha;\r
float thresholdCopy = *threshold;\r
if (sampleCountDown > 0)\r
--sampleCountDown;\r
}\r
-\r
- // VST-2 passes this through so clear the audio in this channel\r
- sideChainInput.clear();\r
}\r
\r
//==============================================================================\r
A17BCBEF822B10243D4FC7CF = {isa = PBXBuildFile; fileRef = B27D6516C9B3775F094E3FB8; };
B5BAC2E65225F94E8D52EC39 = {isa = PBXBuildFile; fileRef = C0A5E837710E3B35036FAB37; };
D3CAAFF2401E545BBB10C2E1 = {isa = PBXBuildFile; fileRef = 2CB584410282733946DD4F40; };
- 628C3FC970D842482843D58E = {isa = PBXBuildFile; fileRef = 315372231DC2E25A7208F8EC; };
660197C1881A08EFF582CE23 = {isa = PBXBuildFile; fileRef = B308A76D9F181930FD48B861; };
2D01683AD97D65AA55B574F8 = {isa = PBXBuildFile; fileRef = 67A0CBB4834C4C346F748E23; };
B1B407C4C9685EDAF5C38ADE = {isa = PBXBuildFile; fileRef = 54A86948A7F0477C05BF1AFC; };
06CF19E1F0DF4A044230278E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST3.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST3.cpp"; sourceTree = "SOURCE_ROOT"; };
06DDE24D31E77F83DA06B7A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; };
072F4B3C29A6C04BB17B1355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0743C6FE48DD286E8790C59D = {isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = "../../../../../modules/juce_audio_plugin_client/AUResources.r"; sourceTree = "SOURCE_ROOT"; };
075A41C17AEE46B78F1E8766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdphuff.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jdphuff.c"; sourceTree = "SOURCE_ROOT"; };
0761C9CA82D7B3B28E30742D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; };
078FC78D692AA90FD57D8E44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
0977881EAF41DFC35199C670 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; };
09EF8164769B6C1C465043E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; };
0A3EE1B4EE7FEF26D9E5578C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = masking.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/masking.h"; sourceTree = "SOURCE_ROOT"; };
- 0A5ADDE20162C3152A42CE9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; };
0A88AADC41E465FAE7085BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; };
0ABB990275F24497DEDF9412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
0AE5F1F1382361500E63BDB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; };
1B32BBE6348485F8B68ED911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
1BB6C06A841BDE30CE21AB8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
1BC4722569015FD2D7FC558A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; };
- 1BF16510851529BA0F3E115C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
1BF5A11F4E80D88FBCF57157 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngpread.c"; sourceTree = "SOURCE_ROOT"; };
1BFAC6094CE530354B9AEF63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; };
1C03137167E601BD7D83F356 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
30F3C37222EEE2026BCD4534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; };
313820ABEEF53F5A990C1513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
314F72EE115BDF662A284F10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; };
- 315372231DC2E25A7208F8EC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
31882AD7F2169844F3442DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; };
31AA614A6097C175E568A4F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
32163E95DE23FC34236D5222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; };
3E67AEA9A0FD3291E8C1B486 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; };
3EC20942E3060C6E04E78734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUScopeElement.cpp"; sourceTree = "SOURCE_ROOT"; };
3EE91003DBE013763ADE30BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3F01D21B25BF10D73ED5A7B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
3F387CF5DBB0BD68FB20A696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
3FAB019285028049082B04A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CatmullRomInterpolator.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_CatmullRomInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
4015DF84DF9CF61838DB989A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
43BACD20FB9287908F5F2D1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; };
4449FFBC295C0EB93B13419A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; };
44B541AD4F960567EE0ECC87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; };
+ 44D46614FF8D639468A35932 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
44E64F895D6561C7F402FFAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; };
44F55939DAE240E085F0E71B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
4571F26DCD01A1F55C9B534F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; };
47B37FFCC2E9EF3CCDF9270D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
47CF682C865250FB451909CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; };
47EBAB1A9CD775971F6A90A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; };
- 48781DBFAAC755E0B33A3BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
48C276D29013A113554F9744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
492F0C1B45FB661811F8CFC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; };
495066B584553F33AA485499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_2.cpp"; path = "../../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_2.cpp"; sourceTree = "SOURCE_ROOT"; };
5454A03B0C64AFC1D8CB4D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; };
546699C9706CC08F152D9EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; };
5466EE92C5F8B6CA93AA90BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_11.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_11.h"; sourceTree = "SOURCE_ROOT"; };
- 5482BD21DE59A22067C055FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
54A41365A3154277CAA3E56C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
54A86948A7F0477C05BF1AFC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
54AEFF14FCEFC2DC56A700C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
5678B143016B8436B3D88FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; };
56C835ABD785A229FB0705D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
570056EBF7067B664DA3A107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; };
- 570508B9E87035E970DEA0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
570D547768979709B76F2EC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; };
571B00B4A82D5F87BD870179 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitmath.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitmath.c"; sourceTree = "SOURCE_ROOT"; };
5748E13F7BEBE8AEE3E3850B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
7A92E35CDEF1FCF3C7E445F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
7A9E2E8CF87D5390CB92A864 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; };
7AF78655BE7A898AF6795F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7B002478D9CBC13567054938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
7B0A88689774E44EBED72E5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
7B0C46F2447F8BFBBF0DA34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; };
7B0E2DCDF4BFA8DF381674BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; };
7DD98A1039A1A3CAD965B9E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
7DDE5E94DED6CAC6867415DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
7E08F28DB14A6D7D2844B6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 7E4528E31F83EB3DE3C759A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; };
7EA3555E21692E5DF2440B10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; };
7EBAED2F7E0534DBE53EC076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
7F0FB2F4C1A707652E7288BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
80DF1F37EE64FF1C97B10234 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
80EA2404E65720795807D3AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
80EC192E3258108B55EC9899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; };
+ 80EFB73C0DD18C003A15150B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; };
81240159F2C3C59ED09942C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
818ADA13F83B5D4610CF0A0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; };
81A1CB2F3AA0DF4F64D16011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jidctint.c"; sourceTree = "SOURCE_ROOT"; };
81B62FAA3F986C19D805C899 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_curl_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_curl_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
8207CFF4B336DDE2938DA89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = adler32.c; path = "../../../../../modules/juce_core/zip/zlib/adler32.c"; sourceTree = "SOURCE_ROOT"; };
82167C943DFB4C69D017E459 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; };
- 822E9C44E7574C93267575FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
82791DF73E7508C75E0B8FAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
82BEC2D665A1DBD8769DEB85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
831D6FCD81612A1649B0CF08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
863578C8C35502444456B6EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
86382EEFD2D874C080F395EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../JuceLibraryCode/juce_video.mm"; sourceTree = "SOURCE_ROOT"; };
86422EC835DBE9E12ACAA844 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
+ 86C60AB46BC50B750493C0C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
870B95887E00B482EC3BCBC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 878E3A6EA611E5474CCCF740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; };
87CBFFF0A410C24D08C77B9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; };
884753558BC1F3FA3CD36289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
889215816EC0BE292B4FC278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
8A41776B06DC327163E64BF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
8A604B4BD445F2F0F2ED6C96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; };
8AB1217C7D9CEC5CA4CE87B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; };
+ 8ACBFC171B28F02B7C79EC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
8B2B33EB8FE2027523BD9ADD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B61BBC7490B7EB09164C24E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; };
+ 8B8C8E45262B02EE3013C440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
8D2F64C046BBAAA084369818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
8D3B6133B6EFF1551DA6A0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
+ 8D8276FB197AE7CF5FBB3AB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
8DC3D1402CD78E1E728A885C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST_Wrapper.cpp"; path = "../../../../../modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp"; sourceTree = "SOURCE_ROOT"; };
8E11074D4A9A023AE33D2777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CheckSettingMacros.h"; path = "../../../../../modules/juce_audio_plugin_client/utility/juce_CheckSettingMacros.h"; sourceTree = "SOURCE_ROOT"; };
8E5677A16F98C56CAA7F2842 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; };
8EE2300EB5893E6FE4447464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AAX_Modifier_Injector.h"; path = "../../../../../modules/juce_audio_plugin_client/AAX/juce_AAX_Modifier_Injector.h"; sourceTree = "SOURCE_ROOT"; };
+ 8F2975B67CB7CCA0D0F60988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; };
90593FC8C1E0DF38F5C4E13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
91B36A38A2515EACFDB74FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
91DC52EFEE54AA6A25F414F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; };
9211728499CBEA14A9129F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_decoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_decoder.h"; sourceTree = "SOURCE_ROOT"; };
A676FFA1BC32B4235962B41B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
- BB118876CBEBD25875FF399B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; };
- C81E581814B8F309B1A76E40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AAF3F0CAB750C7CD3BF62C90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
+ C9968C6DEAADC66A107D2E57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
D035D1C2F16559D0BB4F80D0 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Surround.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
79FE5C3ECC20E6354609E715 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Surround.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 7B002478D9CBC13567054938 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; };
7B09ECEA92A79A22173B9A1A = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
- 7E4528E31F83EB3DE3C759A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; };
7E9EEE55C07DEB78803DBF5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEInstrument.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEInstrument.h"; sourceTree = "SOURCE_ROOT"; };
- 80EFB73C0DD18C003A15150B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; };
83C89E3C13A5897E5A1A062E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEMessages.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.h"; sourceTree = "SOURCE_ROOT"; };
85FAAFC7204659F3B375631F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; };
- 86C60AB46BC50B750493C0C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
- 878E3A6EA611E5474CCCF740 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; };
8884CB197E61E62731D1A4B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; };
- 89BE99C79A12FAA559AB0958 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
8A0648AE319C0CEA55D7AD88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; };
- 8ACBFC171B28F02B7C79EC9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- 8B61BBC7490B7EB09164C24E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; };
- 8B8C8E45262B02EE3013C440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
8C3432BC2BDC534720A9DBB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
8D136314D0A9E7C7A20F5252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
8D7431A21F329A0623106F9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StandaloneFilterApp.cpp"; path = "../../../../../modules/juce_audio_plugin_client/Standalone/juce_StandaloneFilterApp.cpp"; sourceTree = "SOURCE_ROOT"; };
- 8D8276FB197AE7CF5FBB3AB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
8DCC53AC83A1540BF58AF95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
8E28587642CBB61611683FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; };
8E6335DFBAE378576EF03F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; };
- 8F2975B67CB7CCA0D0F60988 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; };
8F4F948E9300D459AF943E59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; };
8F55DF38EC1E6CF8D9997E8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; };
8F5984113D804ADFE2044178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; };
95F3F4EDFF78C11D7800BCF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
963CF5D3B2B91301FCF3A3B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
96A4F0328C23FC0CDADA39EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUOutputElement.h"; sourceTree = "SOURCE_ROOT"; };
+ 96B0793AFF17F47A6F795480 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
971E95ECA8E3B77690AD30FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcmaster.c"; sourceTree = "SOURCE_ROOT"; };
97486545E0DEF7983FD5CA4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
975BB97EED05CDBCFB755C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; };
A225CB6D4E1FEA0E79DDE776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; };
A28E9D58711A59C0AFF79AAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngwrite.c"; sourceTree = "SOURCE_ROOT"; };
A367A1757697F29B157B58EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
- A39E5BE0E10E81989DF6858B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
A4302A67A7EC2D0DCAACD44E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; };
A4362F1C6092248CA95F5D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
A458551FD64CCD79F3BE8C18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
BA3594967B27A2A928060559 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUViewLocalizedStringKeys.h"; sourceTree = "SOURCE_ROOT"; };
BA4123F2CAB9039F80B94EB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
BB03F74A83F9A6F2259918C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; };
+ BB118876CBEBD25875FF399B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZoneLayout.h"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.h"; sourceTree = "SOURCE_ROOT"; };
BB51D4FAE50C56946D409DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
BC9BDCFF1ACF147F86BF66B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = "../../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAudioChannelLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
BCC738DF29CDA4AB6B05DAB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
C78FFBAAEACD3BC09738D6F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
C7FBC198B3D5BDE2404AA734 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; };
C8028216F65D0A69286115BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; };
+ C81E581814B8F309B1A76E40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; };
C871B22F92AAFA7407C9C4A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; };
C88E906306DDB0582DCE5BAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
C89E0E2EFF2CFBEE17DC31B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = "../../../../../modules/juce_graphics/image_formats/jpglib/jcsample.c"; sourceTree = "SOURCE_ROOT"; };
DC477EBD13032B49B57ED3EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = "../../../../../modules/juce_graphics/image_formats/pnglib/pngstruct.h"; sourceTree = "SOURCE_ROOT"; };
DC7F4F7D64F6DB5BF360384A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; };
DCA11D10BC9B65E98E4E64D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FFT.cpp"; path = "../../../../../modules/juce_audio_basics/effects/juce_FFT.cpp"; sourceTree = "SOURCE_ROOT"; };
- DCB83D5211F0F810B7916BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
DCC66A4C74A91E964A7EE148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; };
DD15AF1CC687CDCEF70C08B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
DD38475B019BCACDF8885E87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_basics.cpp"; path = "../../../../../modules/juce_audio_basics/juce_audio_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
E77F485798E0636E24954ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; };
E7C1051E14A76960ACA9229A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
E7E5A36B33CBED5519C867D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
- E8080038C3E5B30024C91399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
- E8154A3245B28F12461708E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
E83CB8AC3821B462D206DBCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; };
E85368570E19D590974A0B86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = float.c; path = "../../../../../modules/juce_audio_formats/codecs/flac/libFLAC/float.c"; sourceTree = "SOURCE_ROOT"; };
E86E8EC094E7ADDF0BBD0426 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
3F579A4A6D6B636B2DB71785 = {isa = PBXGroup; children = (
2DB947CA93ECB4CCB1877027, ); name = Surround; sourceTree = "<group>"; };
FD7B97BF9BEE0E2C82303313 = {isa = PBXGroup; children = (
+ C9968C6DEAADC66A107D2E57,
+ AAF3F0CAB750C7CD3BF62C90,
7E4528E31F83EB3DE3C759A8,
51818ABE8CD0F583889641E6,
D30ABE36C88A10D28AED416B,
7A56CE3D3541FE47AF107730,
426958B7DB499792338C7359,
7A56CE3D3541FE47AF107730, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 0851101E028278252ACBA435 = {isa = PBXGroup; children = (
- 570508B9E87035E970DEA0C0,
- 89BE99C79A12FAA559AB0958,
- 5482BD21DE59A22067C055FA, ); name = "audio_cd"; sourceTree = "<group>"; };
- 2015F3E39474EB977C74FEA6 = {isa = PBXGroup; children = (
+ 235DF1B751D84FD735544714 = {isa = PBXGroup; children = (
269CE6F16682A65115B201D5,
F746F7D0946A7FCEDF6A220C,
42D807689394528F84062DFC,
EA61518A005F18AFB65A99E6,
1E3ACA8D2555202816263254,
B08FCE1BD4128E98FE545A2C, ); name = "audio_io"; sourceTree = "<group>"; };
- 9B653956A10626EFCF2DCC68 = {isa = PBXGroup; children = (
+ 7C3F55E021BEFBDB924487C2 = {isa = PBXGroup; children = (
35F5C5AD5C503FF899B7A581,
03F5933F22E6CCC68ACE877E,
AFAD5BA9F385C17BFEDFD14F,
8A0648AE319C0CEA55D7AD88,
E1C92F29CE2523051BEC2855,
BD5C315F852112DAEB25F52D,
- 1BF16510851529BA0F3E115C,
8A41776B06DC327163E64BF3,
EE72DD300F84875DCF85C5D9,
- 822E9C44E7574C93267575FD,
- E8080038C3E5B30024C91399,
339C9C791240F0D70280346E,
049CA7676F699A3C6FA24583,
01388BAC073A677D690F9909,
399ACA6944683DFFF377027A,
- 3F01D21B25BF10D73ED5A7B7,
- 48781DBFAAC755E0B33A3BE6,
7B002478D9CBC13567054938,
22D0F2A884E9ABE11FA6B359,
C704B27E6E1922AB26C5A3EC, ); name = native; sourceTree = "<group>"; };
- FDBCD8E7A63D4D4729FC5619 = {isa = PBXGroup; children = (
+ 03C2F114517E81ECF7E48982 = {isa = PBXGroup; children = (
A4362F1C6092248CA95F5D9F,
5454A03B0C64AFC1D8CB4D7A,
4764F13452A00A7CC1645FF6,
FD1AC6CFEEDDA0A4EDA3A5CA, ); name = sources; sourceTree = "<group>"; };
3B0CAA614A0170A5350344F0 = {isa = PBXGroup; children = (
- 0851101E028278252ACBA435,
- 2015F3E39474EB977C74FEA6,
- 9B653956A10626EFCF2DCC68,
+ 235DF1B751D84FD735544714,
+ 7C3F55E021BEFBDB924487C2,
FB635391F605596275041F13,
- FDBCD8E7A63D4D4729FC5619,
+ 03C2F114517E81ECF7E48982,
BD6D9964FB7A7256CFC28E89,
BD7522064F6507425C88E48A,
C6EE8BDFC42B4B3B149DB6CB,
907ECB8961B34F538328C66D,
35B628AB8DFBC44E9BBF1EF9,
907ECB8961B34F538328C66D, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- B03491D4B8689C8544B25B87 = {isa = PBXGroup; children = (
+ 59EFD71AC381499D7DE5CAF1 = {isa = PBXGroup; children = (
8EE2300EB5893E6FE4447464,
4B133B1F9874EBA8953DCDF9, ); name = AAX; sourceTree = "<group>"; };
DA59CA30765E869649A5C076 = {isa = PBXGroup; children = (
9497F6127D98FC93F698D42F, ); name = CoreAudioUtilityClasses; sourceTree = "<group>"; };
682B81CC505D8F57DEA7E0AC = {isa = PBXGroup; children = (
DA59CA30765E869649A5C076,
- E8154A3245B28F12461708E8,
7BD189FD9F797A43D5818C6A,
3A925CFFB7F60920C14EC144, ); name = AU; sourceTree = "<group>"; };
- E314FF34EAECD51445016614 = {isa = PBXGroup; children = (
+ C43B54ECAF72491ABBAE8442 = {isa = PBXGroup; children = (
5583A45CA7C609741BB8B9EF,
55DFDE807E321ABD1E879E41,
AB04D06155A5E52B0658F3D6,
7D2CA0CEB4019C90AE75474C,
C52ED1AAE029660B7F7E195A,
283ADB95E9375730B1389880, ); name = RTAS; sourceTree = "<group>"; };
- 18C29C50CF51AC97F9938ADF = {isa = PBXGroup; children = (
+ 1276C51B85D1492646F93659 = {isa = PBXGroup; children = (
8D7431A21F329A0623106F9F,
F468166F5B1642808084C964, ); name = Standalone; sourceTree = "<group>"; };
- 0B1A4F8E5F393124D0B107B5 = {isa = PBXGroup; children = (
+ 8011B99003E3661FF069C705 = {isa = PBXGroup; children = (
EDF3BB834AA5EA021B07F5FA,
8E11074D4A9A023AE33D2777,
377EE4F29DE0ECCB0B0F8EBD,
133D8BD5E70B617551984B9B,
6F7568F9157F0803A2E7EC54,
- 0A5ADDE20162C3152A42CE9E,
ADCF8757250D34CD709BF18E,
F6AE18B04CC3D2BB90189253,
D7D538F79741F629EC0B174F, ); name = utility; sourceTree = "<group>"; };
- 2B8EF8A8BCA0AB75EDE7FB7A = {isa = PBXGroup; children = (
+ 7674EB31959CA0AF107A3823 = {isa = PBXGroup; children = (
8DC3D1402CD78E1E728A885C,
897466367AE90A6757BD78AA, ); name = VST; sourceTree = "<group>"; };
- 6BA032A25FA6EF715361DBA9 = {isa = PBXGroup; children = (
+ A34BB9DEE120E5701A4123B3 = {isa = PBXGroup; children = (
C97229429AD64768E560F4AD, ); name = VST3; sourceTree = "<group>"; };
3C13BDA7064F6A67ED81C57C = {isa = PBXGroup; children = (
- B03491D4B8689C8544B25B87,
+ 59EFD71AC381499D7DE5CAF1,
682B81CC505D8F57DEA7E0AC,
- E314FF34EAECD51445016614,
- 18C29C50CF51AC97F9938ADF,
- 0B1A4F8E5F393124D0B107B5,
- 2B8EF8A8BCA0AB75EDE7FB7A,
- 6BA032A25FA6EF715361DBA9,
+ C43B54ECAF72491ABBAE8442,
+ 1276C51B85D1492646F93659,
+ 8011B99003E3661FF069C705,
+ 7674EB31959CA0AF107A3823,
+ A34BB9DEE120E5701A4123B3,
764CC7C9098B8A13EE1E2BDD,
5E4DECB460D73AB4F75A0807,
98DEEE52698DC2DD0C22A537,
DB693059E35EA80E207B901F,
2C6292FF430C369E7500CD98,
764CC7C9098B8A13EE1E2BDD, ); name = "juce_audio_plugin_client"; sourceTree = "<group>"; };
- 1F033224B11870E39FE7A4E1 = {isa = PBXGroup; children = (
+ 54B80031949B06FC3DA6A7AC = {isa = PBXGroup; children = (
298205CEB528B1048E7572B7,
6E3908F6B6B28178135530FE,
BD66E983F2E3845F261B1F69,
CFBCAC450FE065C81127FF44, ); name = format; sourceTree = "<group>"; };
- 490FD3018F03DE75DFB18E1C = {isa = PBXGroup; children = (
+ A2F8370B752D9FA5287DFABF = {isa = PBXGroup; children = (
+ 44D46614FF8D639468A35932,
A9EC026B8F9D008D1870D46E,
CDB072F338849BCCED75AECC,
9D6DC6AF988E805DF79A9732,
8B61BBC7490B7EB09164C24E,
C3DA1C57A25DCB12F2DF99AB,
97486545E0DEF7983FD5CA4A,
+ 96B0793AFF17F47A6F795480,
84339DDD6E22F3870FA464D5,
0865F1C307283AE02E351740,
6EA1D72172113F26FB6B928E,
9BA022320B40176B7D34174A, ); name = "format_types"; sourceTree = "<group>"; };
- 142E98D2FD115DB9A72B3501 = {isa = PBXGroup; children = (
- A39E5BE0E10E81989DF6858B,
- DCB83D5211F0F810B7916BCE,
+ 9224EF46BF85D7ADD711F9BF = {isa = PBXGroup; children = (
188DD1909D466AF4B6E69E4F,
0AE5F1F1382361500E63BDB0,
46EBECAA8BC65AD7DF5B3E9F,
3DA9B49B4D22E5DA94F64E93,
DE8FC4A46D98C042706FD720, ); name = utilities; sourceTree = "<group>"; };
C6916C9DD58668909AC4986C = {isa = PBXGroup; children = (
- 1F033224B11870E39FE7A4E1,
- 490FD3018F03DE75DFB18E1C,
- 142E98D2FD115DB9A72B3501,
+ 54B80031949B06FC3DA6A7AC,
+ A2F8370B752D9FA5287DFABF,
+ 9224EF46BF85D7ADD711F9BF,
E09940A3E11C887BDEFFC89B,
037559B8391F8F7FBAEB7C46,
BEC55BA6148BD8041D098862,
B27D6516C9B3775F094E3FB8,
C0A5E837710E3B35036FAB37,
2CB584410282733946DD4F40,
- 315372231DC2E25A7208F8EC,
B308A76D9F181930FD48B861,
67A0CBB4834C4C346F748E23,
54A86948A7F0477C05BF1AFC,
985B36DFE9EF062E1E004089,
A17BCBEF822B10243D4FC7CF,
D3CAAFF2401E545BBB10C2E1,
- 628C3FC970D842482843D58E,
660197C1881A08EFF582CE23,
2D01683AD97D65AA55B574F8,
B1B407C4C9685EDAF5C38ADE,
985B36DFE9EF062E1E004089,
A17BCBEF822B10243D4FC7CF,
D3CAAFF2401E545BBB10C2E1,
- 628C3FC970D842482843D58E,
660197C1881A08EFF582CE23,
2D01683AD97D65AA55B574F8,
B1B407C4C9685EDAF5C38ADE,
A17BCBEF822B10243D4FC7CF,
B5BAC2E65225F94E8D52EC39,
D3CAAFF2401E545BBB10C2E1,
- 628C3FC970D842482843D58E,
660197C1881A08EFF582CE23,
2D01683AD97D65AA55B574F8,
B1B407C4C9685EDAF5C38ADE,
985B36DFE9EF062E1E004089,
A17BCBEF822B10243D4FC7CF,
D3CAAFF2401E545BBB10C2E1,
- 628C3FC970D842482843D58E,
660197C1881A08EFF582CE23,
2D01683AD97D65AA55B574F8,
B1B407C4C9685EDAF5C38ADE,
<OutputFile>$(IntDir)\Surround.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\x64"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\x64\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\x64" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin" mkdir "$(OutDir)$(TargetName).aaxplugin"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents\x64" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents\x64"\r
+copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).aaxplugin\Contents\x64\$(TargetName).aaxplugin"\r
+"..\..\c:\SDKs\AAX\Utilities\CreatePackage.bat" "$(OutDir)$(TargetName).aaxplugin\Contents\x64" "..\..\c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
<OutputFile>$(IntDir)\Surround.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents"\r
-mkdir "$(OutDir)\$(TargetName).aaxplugin\Contents\x64"\r
-copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).aaxplugin\Contents\x64\$(TargetName).aaxplugin"\r
-c:\SDKs\AAX\Utilities\CreatePackage.bat "$(OutDir)\$(TargetName).aaxplugin\Contents\x64" "c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin" mkdir "$(OutDir)$(TargetName).aaxplugin"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents"\r
+if not exist "$(OutDir)$(TargetName).aaxplugin\Contents\x64" mkdir "$(OutDir)$(TargetName).aaxplugin\Contents\x64"\r
+copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).aaxplugin\Contents\x64\$(TargetName).aaxplugin"\r
+"..\..\c:\SDKs\AAX\Utilities\CreatePackage.bat" "$(OutDir)$(TargetName).aaxplugin\Contents\x64" "..\..\c:\SDKs\AAX\Utilities\PlugIn.ico"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\SurroundProcessor.cpp"/>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\SurroundEditor.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\CAXException.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\ComponentBase.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\Standalone\juce_StandaloneFilterWindow.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_CarbonVisibility.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_FakeMouseMoveGenerator.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeModuleHeaders.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_WindowsHooks.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r"/>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r"/>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_RTAS.r"/>\r
<None Include="..\..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\SurroundProcessor.cpp">\r
<Filter>Surround\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\SurroundEditor.h">\r
<Filter>Surround\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\RTAS</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
</None>\r
+ <None Include="..\..\..\..\..\modules\juce_audio_plugin_client\AUResources.r">\r
+ <Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
+ </None>\r
<None Include="..\..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r">\r
<Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
</None>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
}\r
}\r
\r
-private:\r
- String getLayoutName() const\r
+ void updateGUI()\r
{\r
- if (AudioProcessor* p = getAudioProcessor())\r
- return p->busArrangement.outputBuses.getReference (0).channels.getDescription();\r
-\r
- return "Unknown";\r
- }\r
+ const AudioChannelSet& channelSet = getAudioProcessor()->getChannelLayoutOfBus (false, 0);\r
\r
- void timerCallback() override\r
- {\r
- if (getAudioProcessor()->isSuspended() != lastSuspended)\r
+ if (channelSet != currentChannelLayout)\r
{\r
- lastSuspended = getAudioProcessor()->isSuspended();\r
+ currentChannelLayout = channelSet;\r
\r
- const AudioChannelSet& channelSet = getAudioProcessor()->busArrangement.outputBuses.getReference (0).channels;\r
+ layoutTitle.setText (currentChannelLayout.getDescription(), NotificationType::dontSendNotification);\r
+ channelButtons.clear();\r
+ activeChannels.resize (currentChannelLayout.size());\r
\r
- if (channelSet != currentChannelLayout)\r
+ if (currentChannelLayout == AudioChannelSet::disabled())\r
{\r
- currentChannelLayout = channelSet;\r
-\r
- layoutTitle.setText (currentChannelLayout.getDescription(), NotificationType::dontSendNotification);\r
- channelButtons.clear();\r
- activeChannels.resize (currentChannelLayout.size());\r
+ noChannelsLabel.setVisible (true);\r
+ }\r
+ else\r
+ {\r
+ const int numChannels = currentChannelLayout.size();\r
\r
- if (currentChannelLayout == AudioChannelSet::disabled())\r
- {\r
- noChannelsLabel.setVisible (true);\r
- }\r
- else\r
+ for (int i = 0; i < numChannels; ++i)\r
{\r
- const int numChannels = currentChannelLayout.size();\r
+ const String channelName =\r
+ AudioChannelSet::getAbbreviatedChannelTypeName (currentChannelLayout.getTypeOfChannel (i));\r
\r
- for (int i = 0; i < numChannels; ++i)\r
- {\r
- const String channelName =\r
- AudioChannelSet::getAbbreviatedChannelTypeName (currentChannelLayout.getTypeOfChannel (i));\r
-\r
- TextButton* newButton;\r
- channelButtons.add (newButton = new TextButton (channelName, channelName));\r
+ TextButton* newButton;\r
+ channelButtons.add (newButton = new TextButton (channelName, channelName));\r
\r
- newButton->addListener (this);\r
- addAndMakeVisible (newButton);\r
- }\r
-\r
- noChannelsLabel.setVisible (false);\r
- resized();\r
+ newButton->addListener (this);\r
+ addAndMakeVisible (newButton);\r
}\r
\r
- if (ChannelClickListener* listener = dynamic_cast<ChannelClickListener*> (getAudioProcessor()))\r
+ noChannelsLabel.setVisible (false);\r
+ resized();\r
+ }\r
+\r
+ if (ChannelClickListener* listener = dynamic_cast<ChannelClickListener*> (getAudioProcessor()))\r
+ {\r
+ for (int i = 0; i < activeChannels.size(); ++i)\r
{\r
- for (int i = 0; i < activeChannels.size(); ++i)\r
- {\r
- bool isActive = listener->isChannelActive (i);\r
- activeChannels.getReference (i) = isActive;\r
- channelButtons [i]->setColour (TextButton::buttonColourId, isActive ? Colours::lightsalmon : Colours::lightgrey);\r
- channelButtons [i]->repaint();\r
- }\r
+ bool isActive = listener->isChannelActive (i);\r
+ activeChannels.getReference (i) = isActive;\r
+ channelButtons [i]->setColour (TextButton::buttonColourId, isActive ? Colours::lightsalmon : Colours::lightgrey);\r
+ channelButtons [i]->repaint();\r
}\r
}\r
}\r
+ }\r
+\r
+private:\r
+ String getLayoutName() const\r
+ {\r
+ if (AudioProcessor* p = getAudioProcessor())\r
+ return p->getChannelLayoutOfBus (false, 0).getDescription();\r
+\r
+ return "Unknown";\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ if (getAudioProcessor()->isSuspended() != lastSuspended)\r
+ {\r
+ lastSuspended = getAudioProcessor()->isSuspended();\r
+ updateGUI();\r
+ }\r
\r
if (! lastSuspended)\r
{\r
/**\r
*/\r
class SurroundProcessor : public AudioProcessor,\r
- public ChannelClickListener\r
+ public ChannelClickListener,\r
+ private AsyncUpdater\r
{\r
public:\r
- SurroundProcessor() {}\r
+ SurroundProcessor()\r
+ : AudioProcessor(BusesProperties().withInput ("Input", AudioChannelSet::stereo())\r
+ .withOutput ("Output", AudioChannelSet::stereo()))\r
+ {}\r
+\r
~SurroundProcessor() {}\r
\r
//==============================================================================\r
channelClicked = 0;\r
sampleOffset = static_cast<int> (std::ceil (sampleRate));\r
\r
- const int numChannels = busArrangement.inputBuses.getReference(0).channels.size();\r
+ const int numChannels = getChannelCountOfBus (true, 0);\r
channelActive.resize (numChannels);\r
alphaCoeffs.resize (numChannels);\r
reset();\r
\r
+ triggerAsyncUpdate();\r
+\r
ignoreUnused (samplesPerBlock);\r
}\r
\r
const int fillSamples = jmin (static_cast<int> (std::ceil (getSampleRate())) - sampleOffset,\r
buffer.getNumSamples());\r
\r
- float* const channelBuffer = buffer.getWritePointer (channelClicked);\r
- const float freq = (float) (440.0 / getSampleRate());\r
+ if (isPositiveAndBelow (channelClicked, buffer.getNumChannels()))\r
+ {\r
+ float* const channelBuffer = buffer.getWritePointer (channelClicked);\r
+ const float freq = (float) (440.0 / getSampleRate());\r
\r
- for (int i = 0; i < fillSamples; ++i)\r
- channelBuffer[i] += std::sin (2.0f * float_Pi * freq * static_cast<float> (sampleOffset++));\r
+ for (int i = 0; i < fillSamples; ++i)\r
+ channelBuffer[i] += std::sin (2.0f * float_Pi * freq * static_cast<float> (sampleOffset++));\r
+ }\r
}\r
\r
//==============================================================================\r
bool hasEditor() const override { return true; }\r
\r
//==============================================================================\r
- bool setPreferredBusArrangement (bool isInputBus, int busIndex,\r
- const AudioChannelSet& preferred) override\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override\r
{\r
- if (! preferred.isDiscreteLayout())\r
- {\r
- if (! AudioProcessor::setPreferredBusArrangement (! isInputBus, busIndex, preferred))\r
- return false;\r
-\r
- return AudioProcessor::setPreferredBusArrangement (isInputBus, busIndex, preferred);\r
- }\r
-\r
- return false;\r
+ return ((! layouts.getMainInputChannelSet() .isDiscreteLayout())\r
+ && (! layouts.getMainOutputChannelSet().isDiscreteLayout())\r
+ && (layouts.getMainInputChannelSet() == layouts.getMainOutputChannelSet())\r
+ && (! layouts.getMainInputChannelSet().isDisabled()));\r
}\r
\r
void reset() override\r
return channelActive [channelIndex] > 0;\r
}\r
\r
+ void handleAsyncUpdate() override\r
+ {\r
+ if (AudioProcessorEditor* editor = getActiveEditor())\r
+ if (SurroundEditor* surroundEditor = dynamic_cast<SurroundEditor*> (editor))\r
+ surroundEditor->updateGUI();\r
+ }\r
+\r
private:\r
Array<int> channelActive;\r
Array<float> alphaCoeffs;\r
pluginIsMidiEffectPlugin="0" pluginSilenceInIsSilenceOut="0"\r
pluginEditorRequiresKeys="0" pluginAUExportPrefix="SurroundAU"\r
pluginRTASCategory="" aaxIdentifier="com.ROLI.Surround" pluginAAXCategory="AAX_ePlugInCategory_Dynamics"\r
- jucerVersion="4.2.4" buildAUv3="0">\r
+ jucerVersion="4.3.0" buildAUv3="0">\r
<MAINGROUP id="dEAH7t" name="Surround">\r
<GROUP id="{1CB41212-BD0E-AC71-15E8-C40AD59BD2EE}" name="Source">\r
<FILE id="sLk2ic" name="SurroundProcessor.cpp" compile="1" resource="0"\r
019793450E44DD660AFB5275 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; };
01FB698FB741F319A6129EA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Base64.h"; path = "../../../../modules/juce_core/text/juce_Base64.h"; sourceTree = "SOURCE_ROOT"; };
02053B74102A503EF8603456 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 02204D55E4EE1E44DEBAD657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
0254CA8E3ED96CBA7EFEA76C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_32.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_32.h"; sourceTree = "SOURCE_ROOT"; };
025AC0D5D2B1AE4E2410287C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; };
0262F34C86B80ABBFA3E2C01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
14111B6B41389B992A2DB420 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
141A07B123EEAD06FAC28121 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
1453DC547F003CB22917B1FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
- 149DFF1790FADAF8B2A57C74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
14A48B58C205BA494966D97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mapping0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mapping0.c"; sourceTree = "SOURCE_ROOT"; };
157F3A71C57A0C766493EB98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; };
16A5DBE6E802C9EBCAE95630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
17079D0B6DE2E279112F6B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
1717D7DD9D258595E300D248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; };
+ 179B3917A45D4D5D2A37D8B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
17BF64B2BFA58112BCF25010 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
18421309528C4C3276EA5A95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; };
188C3849D99AF881EDF09469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; };
1F8C638FA4CAE8CF40BD1991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "res_books_51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/books/coupled/res_books_51.h"; sourceTree = "SOURCE_ROOT"; };
1FC92C5BACEDDB863F19066D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = md5.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/md5.c"; sourceTree = "SOURCE_ROOT"; };
1FD0AAC022DC75424CE02681 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 1FFE6EF12065AE53DF7C790E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
2065DD4804B73667A54C4572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; };
206F3372B58C677D2E448DE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; };
20C0B62DE2FFD643CE246708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; };
213A38AC1E87DCB3CDC810DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; };
21BC4D5D3E75218FF67A6B7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "window_flac.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/window_flac.c"; sourceTree = "SOURCE_ROOT"; };
21EEE9FC1E4F7AF3789CACCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
- 2268780E9E52D39EEBF7529C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
226AA5898738EBB679BFA513 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; };
22BF7D202B6D83B3E10EAFCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
23008292815CFA2B60A07C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; };
294C6FC90743ABF6BE059487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
297B3B9AC161F1A7778FE29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
2A368150567D5EF7E7ABB0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
+ 2AA8C2CCA57A1B045508A8A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
2AFE4BEBCDEFEBB19F0A3867 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; };
2B84766A5807E37DD7F43E41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; };
2BA79966081285468D1C0C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
4DA7F71A8F25F63D328418ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; };
4DAD0A6AFAF9EDB658B509F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; };
4DB4D0A089A58B8C282C0024 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4E96DFDE681B266FF258D34A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
4EA7861D38FA1F6DB7F56805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; };
4EE8A17B0CABF709F3C7CF57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; };
4F2C406F4C63655792776FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
7159E7C09A1ACA6AB8E5D448 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
71D7CA7CF2E20D30B7BA96D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; };
7211F26EA3EFB55977480FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
- 7248EBADFD524A47BFF6C0BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
724EDD5B73CAE6C6298698FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
72743BDB2962352694843621 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; };
7298C23E6B6DBFF5ED996D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
7A3AFC22F38D15E60F993014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; };
7AB3EA3F5285C4A6DFF616E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; };
7ABEE8EEEB77950A1F8C8C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; };
- 7AD9F8DCE5E6DD6C654B55BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
7AE3FE832F126B64A60CBE60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; };
7B0401C3C23BF51F7E3ADF33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
7B241F0D5C7EBF2222786F93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; };
7D61D4B3E73C059E8CDC2A99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
7D73BA773479C807D1BFE717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
7DBFDDC88FCF6E7D97D98FDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; };
+ 7DEE00305B5ADF847EB45173 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
7E4EA529BF3CD69635A1F763 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; };
7E71FEBAB37102A23A1BE63C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
7E80A640C93AF39D8553CC02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
8123AD99DCEFD91035AC2CBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; };
8188C4699E84398D785BCAF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
81A9567373C4485808728B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lookup.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.h"; sourceTree = "SOURCE_ROOT"; };
+ 8201F56551E7AFD7C9A861F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
82577464F62544A07D6056A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
827A323B200D5464DEC56B90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; };
828C45F201B3DF8289E3BE74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
9518855F2EE30671C0B6B455 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; };
955A307891E7A6B0B8628712 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
95B66CAB0FAA7F33FADF872F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9644E2F25ACE2B962619BAF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
9648F3616EF7E19E6C9D63BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
96599441FFEAFF3248E78F37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_ClangBugWorkaround.h"; path = "../../../../modules/juce_core/native/juce_mac_ClangBugWorkaround.h"; sourceTree = "SOURCE_ROOT"; };
967CDEB3A32C696B1228E46F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = lookup.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/lookup.c"; sourceTree = "SOURCE_ROOT"; };
97028516DFE1D628533E2AC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
97346F3788D1AAC32D47D4D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
9737ADF1128EB5DDD5EDCF31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; };
+ 9778820807B54ACDC9FEA423 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
97CDA703DDBF1DC19CF7D87E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngpriv.h"; sourceTree = "SOURCE_ROOT"; };
9836BF9A7E58BF1ADBE95312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
986CD250F17E5EA5F986349E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; };
9DD8D1A756B9284516385CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; };
9DDA745B12208959DF08A199 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; };
9E7307F339FCE45305069039 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; };
- 9E89D9AFB083F08BAE9E1BDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
9F13FED7A58E73C196A8DA35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
9F771CD14B117446FB2BF9E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTInterface.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTInterface.h"; sourceTree = "SOURCE_ROOT"; };
9FC7AF41406FF52C02227F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
A678CAA3442CCF50F8A7EE36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
A68C448F3CE0DFDA1D008930 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
A695D18E3D5521906E2AA55B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
+ A69944BDE6C112C53CAC2AE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
A6CAD508F0FEE8559E47EBE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; };
A6CF6F4069079124AC88337B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; };
A6D3F5D40B4F2DDDAF4BA012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; };
AB6FD6B1DDEFA3CDD5453351 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; };
ABB2D81AD1053643C0C69A6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; };
ABBF0884AA87D2B96815184B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; };
- ABF6F2A43EA9165DBFB36F90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
AC0CE4F974E2EBB916441340 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; };
AC525A812EA3DA0634B6F673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
ACA1BB1948E619685A7DDC30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
B0EE6468EFB8F633546F6022 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; };
B0EF61D78A5BA42D902B896F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; };
B13684376F3496E299A24102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
- B14240B94BD8FE725C8130BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
B1A428B8F2E11FAA9B6782FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngwio.c"; sourceTree = "SOURCE_ROOT"; };
B206847E2EA213A5652E677B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; };
B264E554EED764BBE5EA96DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
B73AF386AD8DC4E75DDCE7AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
B73EDB2FF27E91703573FE40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; };
B749D40A9DB6D2236BDE8F13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedValue.h"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ B76D87B0F67B4C178E8DAA4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
B781D185E5DDAC0AAE6D41A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; };
B78A875B8D42696228DF8B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = mdct.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/mdct.c"; sourceTree = "SOURCE_ROOT"; };
B7AE0149FF49C6EE294D03EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; };
BEB158304CE0B42A7658F078 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; };
BEB31D3E060C8749ACD51BD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
BEDCC9E9F4E720941E4CC4AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; };
+ BEF18F88537EE41E5DAA9169 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
BF054B4D977AE9BEA1A43B21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; };
BF275D1E38D55E38BDF23FA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; };
BF7359CEB98B856F058D043E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; };
C2DAD3C576EC299481B9CC96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; };
C30B7C2D2870FD4A3DA497C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../JuceLibraryCode/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; };
C38BB2DED46194AEF06E50BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdatasrc.c"; sourceTree = "SOURCE_ROOT"; };
+ C3A1ABC199E3DDB8A9F0F32A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
C3B5BB9DEDDFA9F6CEF46D95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
C45E0183DD648356B967145E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; };
C469659506D7D986391C73AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; };
DB8EA59308684B6B3C0D170A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; };
DBAD88D6ECF436F7881A3D18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44p51.h"; sourceTree = "SOURCE_ROOT"; };
DC190E7C17099C849868434F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
- DC1F5F05B1043F2532553F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
DC41A66321241EE7E30460CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; };
DC5EC3CB8187CD80366BB3DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; };
DCA629B53C50B7E764311A77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; };
ECD1024C5AD1602EA9DCD503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
ECF7860A16B3DCA8B09874C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; };
ED6852B4B4B357ACB04EFEA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
+ ED8DA7F10DF1A4B1CA559464 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
EDCCDE91F07059E097F4CC2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; };
EDEB553FF2664BD491E121ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEValue.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.cpp"; sourceTree = "SOURCE_ROOT"; };
EE2497D2C9FCC42F7F4A34CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; };
F8A80AB921C11E626CC90894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; };
F90B50A0A993F6A174E424EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; };
F9893D1FD95D5A7ECC58E12D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F9DFCAD3860F0D3B7776224D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
FA02B4707CCF843EB45C40EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; };
FA7F7EEFA3508900448C659C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
FB0ED32BF7C5FD14B5B33711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; };
FF5B76A65611C0A829E4BE7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
FF66920DCBED4B9DEEA3F57B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngget.c"; sourceTree = "SOURCE_ROOT"; };
FF901BB82C78238FBEDADF0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = analysis.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/analysis.c"; sourceTree = "SOURCE_ROOT"; };
- FF9D65DC6D0E7DB988813D6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
FFBB0459C0CA143D32503FD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioVisualiserComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioVisualiserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
C7DA57C6F0483BBE545059A4 = {isa = PBXGroup; children = (
45734C23A631AE8DC4836B79,
9E39F32C1BF5217D902DEEE5 = {isa = PBXGroup; children = (
C7DA57C6F0483BBE545059A4, ); name = SimpleFFTExample; sourceTree = "<group>"; };
36B3A671E122DCC32B5D8616 = {isa = PBXGroup; children = (
+ A69944BDE6C112C53CAC2AE4,
+ 02204D55E4EE1E44DEBAD657,
0C37A3523C3777001B3F6DD9,
F39B08CC310DADAE5A3BD832,
DED00015F1322985369E9264,
51EAAEBC2ED3160478789809,
AF71E702446CEF7E5FBCAA13,
51EAAEBC2ED3160478789809, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- D28DF0F3F4EF7BBA867B8F1B = {isa = PBXGroup; children = (
- FF9D65DC6D0E7DB988813D6A,
- 149DFF1790FADAF8B2A57C74,
- ABF6F2A43EA9165DBFB36F90, ); name = "audio_cd"; sourceTree = "<group>"; };
- A5B75ADB15001E9E2A8E36F0 = {isa = PBXGroup; children = (
+ 5A0331022126E23AEF75629C = {isa = PBXGroup; children = (
ECF7860A16B3DCA8B09874C7,
B8EFE9E17D26ED5A55B788E7,
B0BBCE5DC4DC368239E90730,
C7A87D6C7BEA853CD487D8D5,
79EE05C33C8BB3DBE6F0CEAB,
88E94CF6B12DC7478BFD516D, ); name = "audio_io"; sourceTree = "<group>"; };
- 2F1F99216CDF5877EC45E888 = {isa = PBXGroup; children = (
+ 66106D7DA7BE8C80C63F87FA = {isa = PBXGroup; children = (
019793450E44DD660AFB5275,
DDA5C37E7A4C51DDB83C14E4,
1BB051CC2B9FA03CEA8EBFE8,
236B40CBF46A239539C9D315,
3D78C4D4A191AF5BD70DAE8F,
23008292815CFA2B60A07C64,
- 9E89D9AFB083F08BAE9E1BDF,
3DA7B6626BA64C99F5E3E3B1,
4F2C406F4C63655792776FB2,
- 2268780E9E52D39EEBF7529C,
- DC1F5F05B1043F2532553F32,
57D026D6AD1C54081084841C,
E9F0A7AE9525C87D71B3AF12,
B73EDB2FF27E91703573FE40,
63C960C75B7DE83A036D1474,
- 9644E2F25ACE2B962619BAF4,
- 7248EBADFD524A47BFF6C0BB,
7BEA6A8588384F48F8174455,
C7ABCBF722728419DCA2DE6F,
DCA629B53C50B7E764311A77, ); name = native; sourceTree = "<group>"; };
- B6A5F5A59E8C9EBE91862D47 = {isa = PBXGroup; children = (
+ 7F6A2BE2FCA8C989DC8C1B76 = {isa = PBXGroup; children = (
414422FDC4E9C4C096680D6B,
E8C27BE0C1A8F57B847D19FF,
6E4472D2BEDDBFB34AE12C2E,
F618DB302D56669A9F79ECF2, ); name = sources; sourceTree = "<group>"; };
044E8A9AAC75B37323C60043 = {isa = PBXGroup; children = (
- D28DF0F3F4EF7BBA867B8F1B,
- A5B75ADB15001E9E2A8E36F0,
- 2F1F99216CDF5877EC45E888,
+ 5A0331022126E23AEF75629C,
+ 66106D7DA7BE8C80C63F87FA,
819767858D2F0F7F6AA7A738,
- B6A5F5A59E8C9EBE91862D47,
+ 7F6A2BE2FCA8C989DC8C1B76,
7F664506978CFD58463D8C0B,
0406CFDE78A3EDDB899CDE7C,
287C263EEED177B3C8BEC5B8,
206F3372B58C677D2E448DE9,
1EFD81C556E115BF789491EE,
206F3372B58C677D2E448DE9, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 4A29C8C4279CA0A256D79601 = {isa = PBXGroup; children = (
+ B9F3B9D929958C5A01CF2819 = {isa = PBXGroup; children = (
A68C448F3CE0DFDA1D008930,
8D8F26BA443E390AFDE0F099,
BBA00BC1C9047924AA81A9C5,
41BB68C9176E1F306F7F6CAB, ); name = format; sourceTree = "<group>"; };
- D23F25C4AEE1B555279BCE31 = {isa = PBXGroup; children = (
+ 0E9E2BCC5CA576472FCB7088 = {isa = PBXGroup; children = (
+ C3A1ABC199E3DDB8A9F0F32A,
B0ABCB84564FEFAA4ED50E6B,
C8FC943DEE244BDB4EC55F3D,
4B559C22A630B9A43D129C2A,
B7AE0149FF49C6EE294D03EE,
47DF39DDF6085A33F2282CF1,
E8D30B5E295B1C331EA24873,
+ 7DEE00305B5ADF847EB45173,
9F771CD14B117446FB2BF9E9,
4940BC726C0DA4D4F4EB403C,
8FE177F5571307A339832F6E,
97346F3788D1AAC32D47D4D4, ); name = "format_types"; sourceTree = "<group>"; };
- FEFEB2419B6FF59C547C1729 = {isa = PBXGroup; children = (
- 7AD9F8DCE5E6DD6C654B55BC,
- B14240B94BD8FE725C8130BD,
+ ACDDE7FF469FD01C0B79AEAD = {isa = PBXGroup; children = (
4F37527C7555AB18B31DBD16,
8CC95C9201C634BD544FFBEC,
8F26EB74E15A475E40CB4FEE,
547509DF27DD4989FA9F0B9E,
CFF7A195B95750070C28B75B, ); name = utilities; sourceTree = "<group>"; };
8DA3B0DCA685300AE02F6C09 = {isa = PBXGroup; children = (
- 4A29C8C4279CA0A256D79601,
- D23F25C4AEE1B555279BCE31,
- FEFEB2419B6FF59C547C1729,
+ B9F3B9D929958C5A01CF2819,
+ 0E9E2BCC5CA576472FCB7088,
+ ACDDE7FF469FD01C0B79AEAD,
B0445834E537943B1934C571,
54475BF7C7F92DE3E9040933,
939ECC7F5C8BA2A301AF8A95,
BFD36D79149D0BD39191CC7B,
EFEEF49E3B89DEFE88111443,
BFD36D79149D0BD39191CC7B, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ EAF2C3C2569FFE5E9F58E7A1 = {isa = PBXGroup; children = (
+ B76D87B0F67B4C178E8DAA4F,
+ BEF18F88537EE41E5DAA9169,
+ F9DFCAD3860F0D3B7776224D, ); name = "audio_cd"; sourceTree = "<group>"; };
4BDF63E313C0D6B65E1AA9CD = {isa = PBXGroup; children = (
4A190D0E3422B0D7F82BE6F8,
3DB6B17731D90CF701F28041,
187A4AA52DEED77FDDF5B687 = {isa = PBXGroup; children = (
E42AA8CBFC44B18B07579722,
025AC0D5D2B1AE4E2410287C,
+ 8201F56551E7AFD7C9A861F1,
F50009EC51FCCE2EBD713D27,
+ 2AA8C2CCA57A1B045508A8A6,
+ 4E96DFDE681B266FF258D34A,
5FFC20C706477F072E48E0EF,
- B480F30102D3ACAF749095B7, ); name = native; sourceTree = "<group>"; };
- 915499BB42E579492CA2DEAD = {isa = PBXGroup; children = (
+ B480F30102D3ACAF749095B7,
+ 1FFE6EF12065AE53DF7C790E,
+ 179B3917A45D4D5D2A37D8B1, ); name = native; sourceTree = "<group>"; };
+ D5C1DBBAD46297DB8DEC0144 = {isa = PBXGroup; children = (
EF1DC9B3082CE4211F705FFD,
- 576B111200A4942EED9D6076, ); name = players; sourceTree = "<group>"; };
+ 576B111200A4942EED9D6076,
+ 9778820807B54ACDC9FEA423,
+ ED8DA7F10DF1A4B1CA559464, ); name = players; sourceTree = "<group>"; };
140844AFEE7F72198CB5083D = {isa = PBXGroup; children = (
+ EAF2C3C2569FFE5E9F58E7A1,
4BDF63E313C0D6B65E1AA9CD,
187A4AA52DEED77FDDF5B687,
- 915499BB42E579492CA2DEAD,
+ D5C1DBBAD46297DB8DEC0144,
9D34062C6C812F392DA6C53A,
283016B6A34D8268DF3F90E7,
ED6852B4B4B357ACB04EFEA9,
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\SpectrogramComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>SimpleFFTExample\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\SpectrogramComponent.h">\r
<Filter>SimpleFFTExample\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
<JUCERPROJECT id="cgcxPd" name="SimpleFFTExample" projectType="guiapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.SimpleFFTExample" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4">\r
+ jucerVersion="4.3.0">\r
<MAINGROUP id="rZCHr8" name="SimpleFFTExample">\r
<GROUP id="{8DC23B3F-98AC-AB1C-B26A-E693AF2DF0D2}" name="Source">\r
<FILE id="B1L62H" name="SpectrogramComponent.h" compile="0" resource="0"\r
073544D5D22C9975CC308E48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
0744FC9F0D2B00B97F42D90F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
07552B6714E651587D8E0CB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; };
+ 075B6760CAE7FF0EF2739B6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0773DA418D65427633F93B19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
077868026EE8ADEC275EF534 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; };
077E39BD4365098B13F2F29B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
07C34ADD8CE97E4606E55EFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = png.h; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.h"; sourceTree = "SOURCE_ROOT"; };
1345DCB37CEF3DCB146FE70F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; };
134D4761D5DEAA7A2212D535 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAVectorUnitTypes.h"; sourceTree = "SOURCE_ROOT"; };
137EEC7324A15E7724AEB4C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
- 13EACB731E5573BC68744B5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
143920F3868145744E3562ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = crc.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/crc.h"; sourceTree = "SOURCE_ROOT"; };
1460DF86692852CBB0840F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
14A221649E68BA8FD0EADAE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; };
+ 14BC68F4696CC586AA1A7935 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
151280E997BFDD7C7CA9F180 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/window.h"; sourceTree = "SOURCE_ROOT"; };
1519F1DAEF1445EEBC1D75DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
1588973F0A055D4CF5D44823 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; };
1BAF465494E832FF1CDD985A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
1BB7481F0104929D679508EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
1BE2A39FBE87B3DA36C02468 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; };
- 1C49A0C6E4032A29D5C05616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
1C7E45B063CBDED867290BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; };
1CC63825EF38EC63EE2196E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; };
1CF9C794D7A955EA89D8B5CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/MusicDeviceBase.cpp"; sourceTree = "SOURCE_ROOT"; };
246055D9D81E3DDFEFD910F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; };
2478C618C0403FBDB4DAEBD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioParameterFloat.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioParameterFloat.h"; sourceTree = "SOURCE_ROOT"; };
249A79BBEB3C535F4F372913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; };
- 24BE29B60B5541AF727371D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
257EA9800AE9F324E7F590EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; };
2582AB72BF5CE5284C1D2889 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; };
2630A6BC311DAB18ECC7D611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; };
3804B5F8CBFB5862A5EFAADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
380F639D605E383E4930DA59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
383CCB4FB4F70FDE749AFEA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 388291AF3C0E60DD73B276D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
38B25B83DCEAC8BCDFD527E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
38C41D6ECD6B0821752F9237 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
38CAA3A693AE6206F083F175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; };
39AD51EB5E59758E6FC4F313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
39C85A58AD999A0447D36AE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; };
39D0873583E797FEA1F40BBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3A6A7BBEB5E04AE75D24BAF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
3AA0960DF09414DBA0A2255B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/AUBase.cpp"; sourceTree = "SOURCE_ROOT"; };
3AA5D4AF03A0689BF8385319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CarbonEventHandler.cpp"; sourceTree = "SOURCE_ROOT"; };
3AA84EBD59A4CBE7E32FB0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; };
- 3ABB924AB5490C97118B8CE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
3AD4F35998A668F9C4D585B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; };
3B11B8A53BCDAD5101C491EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
3B14E2CE58630F14CB9964A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
3BE73AFB756A094D458CC695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_X.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_X.h"; sourceTree = "SOURCE_ROOT"; };
3C00BD826FCACC11EC9CF6D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
3C3B97E53D481B74892572D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3C6E8B705C53294638807FC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; };
3C87C89A9AAABF9B13E67EFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; };
3CF3DD56A6406D15F1F52FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; };
3D091623E5697442BD3E72D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; };
3D33773DB5397CBBF4A8C18F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; };
3DA189F1C4C5EAD476DFE4A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; };
3DBB0EAB6865142CE1822826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
+ 3DDCDF64E8B157ED257A8030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
3E3CBF04F24292DEF36E5550 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; };
3E6923B18B248C0A0506D626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = res0.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/res0.c"; sourceTree = "SOURCE_ROOT"; };
3E72A2633AFCB9B9FC2E3B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; };
3F05190135896541D991C075 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
- 3F16A54F45ED278001F4CA09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_plugin_client/AU/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
3F89076A842128643D3E2F3D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; };
- 3F8F5E0EF93E9B95DD17CFB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
3FE7F76D4D023295BCEC0E65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; };
4010F841656A5089C77590C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; };
4056E76374667099C88D8C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = backends.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/backends.h"; sourceTree = "SOURCE_ROOT"; };
42458330B018CCF81D0931CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; };
424B873E674F0D5860F6AEC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiRPN.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiRPN.h"; sourceTree = "SOURCE_ROOT"; };
4266C9A95DBB52D7785F745A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_BluetoothMidiDevicePairingDialogue.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"; sourceTree = "SOURCE_ROOT"; };
- 428A63EBD85C3438EF016787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
42C7FC165C3DA0FD260236A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; };
435D2BFF50EE3A5E6A0E094F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = png.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/png.c"; sourceTree = "SOURCE_ROOT"; };
439A1BF54BCAFF06F77DC0E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; };
44DF2CBDEE1E27DBF3FFD639 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; };
4514B5F7DBC9B5A3E014C4CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
457F198AEC6AB38E2D60D34E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdcoefct.c"; sourceTree = "SOURCE_ROOT"; };
- 45C2C296C9A745B292F49C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
460FC41A761B1DBEF6DE8C8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; };
464FB7FCF24EAA87AE670472 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; };
4685C8526885369931054BC1 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Ogg Vorbis Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/Ogg Vorbis Licence.txt"; sourceTree = "SOURCE_ROOT"; };
468EF044700E657B00BE60BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
4690264FD0584917EA606BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
46ABC4052D5B1B12083F2D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44.h"; sourceTree = "SOURCE_ROOT"; };
- 46BF351143B8DAE509C4C38A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
46E50880F5C5950C1FFA15FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
46E5C00691E5B08BEED2CC72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_events.cpp"; path = "../../../../modules/juce_events/juce_events.cpp"; sourceTree = "SOURCE_ROOT"; };
46FC39E954485B032E766234 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; };
4AB9AA07703E3BAE99B586C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
4B01C1EF1219C6405CD9A061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
4B13AFACB5B6B81347E6652D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; };
- 4B56EFD49A1BC1A0263A72B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; };
4B77F90DC629E357410F2EFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_8.h"; sourceTree = "SOURCE_ROOT"; };
4B7CE8D596B3F3901B2A7826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
4BDDD1EF709062B8DA24BA06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPENote.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPENote.cpp"; sourceTree = "SOURCE_ROOT"; };
4BDFDEDCF05F480BB99EE8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; };
- 4BEE40628E4C3581FF774383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
4C4A52A64706F6C88DE0D81B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
4CD4D1B175AC037DFAF3E2E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserBase.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserBase.h"; sourceTree = "SOURCE_ROOT"; };
+ 6160E8E6AB587105E4DA5F8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
+ 64417DE78D1B1D10EC6E4146 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.vst; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 464486542EDBD5301EEEE8C1 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 1AF4856520E8BFF4A039CD6B = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
+ 3C6E8B705C53294638807FC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IncludeSystemHeaders.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_IncludeSystemHeaders.h"; sourceTree = "SOURCE_ROOT"; };
+ 3F8F5E0EF93E9B95DD17CFB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 428A63EBD85C3438EF016787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
+ 45C2C296C9A745B292F49C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
+ 46BF351143B8DAE509C4C38A = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "Flac Licence.txt"; path = "../../../../modules/juce_audio_formats/codecs/flac/Flac Licence.txt"; sourceTree = "SOURCE_ROOT"; };
+ 4B56EFD49A1BC1A0263A72B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = deflate.h; path = "../../../../modules/juce_core/zip/zlib/deflate.h"; sourceTree = "SOURCE_ROOT"; };
+ 4BEE40628E4C3581FF774383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 4C1E0D6A11C45BEE00169D8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
4CD51FE9C1157452F5DDDF68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_RTAS_utils.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_RTAS_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
4CE2C5B8F3B9176330D7E38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; };
4D314DC059A8F7D9AA3D20B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPESynthesiser.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.cpp"; sourceTree = "SOURCE_ROOT"; };
4D57626C71E0A81969B64FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; };
+ 4D6248E85C22578615FA809C = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libJuceDemoPlugin.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
4D669F9349F7061E90B1DCDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; };
4D69698B19CF9BF4CCB83C94 = {isa = PBXFileReference; lastKnownFileType = text.txt; name = "changes to libjpeg for JUCE.txt"; path = "../../../../modules/juce_graphics/image_formats/jpglib/changes to libjpeg for JUCE.txt"; sourceTree = "SOURCE_ROOT"; };
4DA1B19948D557A9F2380CBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; };
4FB58D47EA973CA9529AF6A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; };
4FC82A4EB65948C925CC7248 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwise.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/bitwise.c"; sourceTree = "SOURCE_ROOT"; };
4FCB6E7A042E17CEC055BE75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; };
+ 4FD86B7C71BEC7627C40B694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
4FF264791CA989D4CFD083F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 507F735FFE45FCB10B432A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
50832A0FAB3B736F1AD5E693 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
508D1DF2D93C6F05EE75EDE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; };
50F1E35F917489F92521D617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 513637A8BE7D94200DCBD1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
513BA2176B24BC61831B58FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; };
+ 522D22FEB38D52304F01508D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; };
5279C4962DF56C537826FB7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "os_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/os_types.h"; sourceTree = "SOURCE_ROOT"; };
+ 528C0C08C23994B09945896C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; };
52910366DFBBEE849B726F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
52A34E3AD81C71587925D103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = registry.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.h"; sourceTree = "SOURCE_ROOT"; };
52CEDC13A7802C7CD55F01A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; };
- 534336DBE61F1AC6D20C252C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
- 5893832AF1B7AE432FB2F071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
- 64417DE78D1B1D10EC6E4146 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.vst; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 464486542EDBD5301EEEE8C1 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.vst3; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 1AF4856520E8BFF4A039CD6B = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.component; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 4D6248E85C22578615FA809C = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libJuceDemoPlugin.a; sourceTree = "BUILT_PRODUCTS_DIR"; };
- 4FD86B7C71BEC7627C40B694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
- 507F735FFE45FCB10B432A4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
- 513637A8BE7D94200DCBD1F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
- 522D22FEB38D52304F01508D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; };
- 525EF648F69C3D42DA9B06E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
- 528C0C08C23994B09945896C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; };
53220B3B994BD522CFD4564B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_Standalone.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 534336DBE61F1AC6D20C252C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder_framing.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder_framing.h"; sourceTree = "SOURCE_ROOT"; };
534F8743733885F462809C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; };
535A9A777A237C6C85F19B5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inffixed.h; path = "../../../../modules/juce_core/zip/zlib/inffixed.h"; sourceTree = "SOURCE_ROOT"; };
537D65EF3BBBDFC4651D389D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
550FAA1B7314518C5237CB46 = {isa = PBXFileReference; lastKnownFileType = file.r; name = "juce_audio_plugin_client_AU.r"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_AU.r"; sourceTree = "SOURCE_ROOT"; };
551EB50AA3CCA08ABE8CB458 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapimin.c"; sourceTree = "SOURCE_ROOT"; };
5532406796823FC4FB6ADC39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitmath.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitmath.h"; sourceTree = "SOURCE_ROOT"; };
- 5535A6B1099BB113B17C42DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
55607B89BB15CE19B6E397E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; };
5585BCF8B17AD03D9FB4A32A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
5647736926AE116B8C392630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
57355833C251D222ADCB9801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAAUParameter.h"; sourceTree = "SOURCE_ROOT"; };
57EC076E7DD4D261CBCC3CCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; };
581F2233A2A749DE9410A562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
+ 5893832AF1B7AE432FB2F071 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memory.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/memory.h"; sourceTree = "SOURCE_ROOT"; };
58CEA1474B2E77B7287D735B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FakeMouseMoveGenerator.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_FakeMouseMoveGenerator.h"; sourceTree = "SOURCE_ROOT"; };
58CEDDC16E6A5293A4F81E84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; };
58E978708BAA8613A40F61E3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
755A9E336DFC786BAC45C8F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
763780974CDC5E25D0B33885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win_BluetoothMidiDevicePairingDialogue.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"; sourceTree = "SOURCE_ROOT"; };
7647E22AA08782FB8E2F5A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; };
+ 7688F1D6B9C39A3F89B2A59F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
768C56D0602DC6736813A6DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; };
768D64C69F7B45E93D789C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; };
76D55C11232DE62691A084B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; };
8BC99750BA99AC45DBCB78A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngerror.c"; sourceTree = "SOURCE_ROOT"; };
8C0D1A1E000E47D09B771963 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginUtilities.cpp"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp"; sourceTree = "SOURCE_ROOT"; };
8C1A068D665727680931F85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; };
+ 8C800D8B8E9ABC02A4E30107 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
8D858FDCDF424DEBC5771FF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = psy.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/psy.h"; sourceTree = "SOURCE_ROOT"; };
8D9F2E08F3381BE4A60F28C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; };
8DEACF4354FDF21541326369 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; };
9C436F92CE7E8C70492C99B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
9C920EACAC7281B584F2F09A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
9C9DEB7FB75C42C4F47AF999 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RTAS_DigiCode1.cpp"; path = "../../../../modules/juce_audio_plugin_client/RTAS/juce_RTAS_DigiCode1.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 9CB8ACEB10DCF2F067605442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
9D6E760A374151269551D1D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_VST2.cpp"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; };
9DDEAA3563BE5304457DBE4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
9DFC17B26B7710304214755C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = compress.c; path = "../../../../modules/juce_core/zip/zlib/compress.c"; sourceTree = "SOURCE_ROOT"; };
9E9B102253DEDFE00673F715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; };
9EA3C2BA09FEBDA65F4495D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; };
9EC0C4C02099C656EEF39DA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginEditor.cpp; path = ../../Source/PluginEditor.cpp; sourceTree = "SOURCE_ROOT"; };
+ 9F03287184CFC255C0F46C48 = {isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = "../../../../modules/juce_audio_plugin_client/AUResources.r"; sourceTree = "SOURCE_ROOT"; };
9F18A1B29A4BFC7EE7B28E11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; };
9F32F1A0F284E7F124F4CAA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = registry.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/registry.c"; sourceTree = "SOURCE_ROOT"; };
9F39E3DC6F699109EC3A2432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; };
A5479787577EB56F20ECF48F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAReferenceCounted.h; path = "../../../../modules/juce_audio_plugin_client/AU/CoreAudioUtilityClasses/CAReferenceCounted.h"; sourceTree = "SOURCE_ROOT"; };
A59A08DCC76EE0FC7EBE1203 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
A5A9CC9E63CC555E518C2A6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "psych_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/psych_16.h"; sourceTree = "SOURCE_ROOT"; };
+ A5C59910D72EC2107AB80DBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
A67A07AC463F106BEB763964 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = codebook.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.c"; sourceTree = "SOURCE_ROOT"; };
A7055681554844E4708E27A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; };
- A722B041FD2540D1380C4D02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
A7A527D783D3B38F455964D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; };
A7C8D66431191DD3BA717895 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
A7EE73FF3A5962BBF41DC2AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
A9A499C3479929EADF17FD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "codec_internal.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codec_internal.h"; sourceTree = "SOURCE_ROOT"; };
A9B46A5FF98D7B9DF8598C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; };
A9C466FBA4FCF6484BCF86A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; };
- AA012A21BE3049C205D4A44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
AA29B047C1A1904618B410D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
AA63C416C56F4BCE7568F878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_formats.cpp"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.cpp"; sourceTree = "SOURCE_ROOT"; };
AAA122282581E6425F5D9405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
B72762B6ACA5F73EF9F0A220 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
B7F3E4AF0F482E9F6EAF6C41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; };
B829B4BAE71C6F09169542B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
- B82C8012A9571F69211455AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginBusUtilities.h"; path = "../../../../modules/juce_audio_plugin_client/utility/juce_PluginBusUtilities.h"; sourceTree = "SOURCE_ROOT"; };
B8B25605AB1A04A8AE545227 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; };
B8B760CB559864834CC9AB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; };
B8D629B3F1CA3679317C8A97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
B9BDF0A1E699EA2D3549664E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; };
B9BE6469604B9D3252EFA7E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; };
B9F00E2440056545F32EA80E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.c"; sourceTree = "SOURCE_ROOT"; };
- BA1BCEDEEAF68692BF1456EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
BA98346EFD1037285E245CC9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
BAC63B00905C8572FEF8B079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fixed.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/fixed.h"; sourceTree = "SOURCE_ROOT"; };
BAC8D415D2BE640836021D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.h; path = "../../../../modules/juce_core/zip/zlib/zconf.h"; sourceTree = "SOURCE_ROOT"; };
CF9911FF44333EF9154A6141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; };
CF99F55660DC79DAE3D0D1A2 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST3.plist"; path = "Info-VST3.plist"; sourceTree = "SOURCE_ROOT"; };
CFB4F03ABA5B51964C16C8CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
+ D03C8E8435B3B27826E13CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
D0406C91AA87E22F071648A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; };
D08C27F8345396F820964619 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
D120181C3218F30A0102BC17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
E7F23433ED23C74006079B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; };
E7F81A4E46A42195F42C958D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; };
E8FF8D2FF41B8F165A5BE5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; };
+ E90AD3A7724DBC629E4BE1E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
E918CC2BE037AC31D232E9FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
E94DC50143B8D9E89DA2223D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
E957AF9AF9A2B602EA797C74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
F04CF5D4410243EF3DEDBEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; };
F0DC1A84185952857B3DCAE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
F0E927F230180C28CFB91C99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = misc.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/misc.h"; sourceTree = "SOURCE_ROOT"; };
+ F114AF53E9CC78A71CC92CCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
F1878A55B4334BD8BF6C86DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; };
F188FC9EF3044E289A343F7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; };
F18D5EDA538805865D2F8378 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; };
C4CA0BF69BD074C55F7BD871,
93FBD648EA104B18DC9502FD, ); name = JuceDemoPlugin; sourceTree = "<group>"; };
4972D5B886C3330A6E45360F = {isa = PBXGroup; children = (
+ 075B6760CAE7FF0EF2739B6B,
+ 6160E8E6AB587105E4DA5F8E,
9084709A281D2A3FA167D442,
379E6C7C71E680936EF723F4,
890AA995A158C4D9E7738A40,
4B7CE8D596B3F3901B2A7826,
7C7362C71D396DA95BBE38B8,
4B7CE8D596B3F3901B2A7826, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 00D6AC67D8E1FB986E1A1A79 = {isa = PBXGroup; children = (
- 24BE29B60B5541AF727371D4,
- 13EACB731E5573BC68744B5E,
- 3A6A7BBEB5E04AE75D24BAF6, ); name = "audio_cd"; sourceTree = "<group>"; };
- 430E88C34F92934EE7ABBD27 = {isa = PBXGroup; children = (
+ 45A683EA21924B289C13C739 = {isa = PBXGroup; children = (
8FFD0EFC41EDD85E9A497181,
ABCB715245090A15092108D5,
21D337F16EF17A19AAEBF0C1,
0179C530BA4B4B8215461D5B,
4D57626C71E0A81969B64FFD,
D6AAFDF09C8BA44829B73655, ); name = "audio_io"; sourceTree = "<group>"; };
- A0E025176474A5E5AC06DD8B = {isa = PBXGroup; children = (
+ B9ADE258696A6F072E62808C = {isa = PBXGroup; children = (
6290D23F5E4D1E3D6F4F182A,
D92E27000F5B28F19BD2EA43,
736524AA87397E0C2C9C8817,
0C68BAE8F95098A8AD14F2A0,
5E69C0346462512B115AE7BD,
9B7A0A69E4002D6C125F895D,
- A722B041FD2540D1380C4D02,
90D80AD8F213917674B55FF7,
46E50880F5C5950C1FFA15FB,
- 525EF648F69C3D42DA9B06E3,
- 5535A6B1099BB113B17C42DF,
5E354B48397B1478736E6F0D,
0D7BAB3BA700850A464A9F83,
89943D4687B99B72C89496ED,
95BE074C6E26D6E329D0DA5D,
- 3ABB924AB5490C97118B8CE4,
- AA012A21BE3049C205D4A44A,
0BEC77B5C0B5DCE51EE24DA7,
1E04D35C79B38C5D68A3575C,
CA6A796A330E12E920650F7A, ); name = native; sourceTree = "<group>"; };
- 642F5D98DB0665E526F72F60 = {isa = PBXGroup; children = (
+ 0DF1A5711F00D34E26170644 = {isa = PBXGroup; children = (
F227EACE776B1233B6F7D6B3,
1E1776E7A0C4558787330B29,
52CEDC13A7802C7CD55F01A5,
168A5985B944FEED6C297748, ); name = sources; sourceTree = "<group>"; };
562492315D562AD0AE406168 = {isa = PBXGroup; children = (
- 00D6AC67D8E1FB986E1A1A79,
- 430E88C34F92934EE7ABBD27,
- A0E025176474A5E5AC06DD8B,
+ 45A683EA21924B289C13C739,
+ B9ADE258696A6F072E62808C,
7113DE35AC9743F21767D935,
- 642F5D98DB0665E526F72F60,
+ 0DF1A5711F00D34E26170644,
8AFE1B1EED70BCB73F428DC6,
1DF50BA803474E15526C95B2,
9B3F11DD2E09FC8F63555D30,
2AA92DC1171DAF0BA4BB0E63,
0687D10EFBEEEC129BC807D3,
2AA92DC1171DAF0BA4BB0E63, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- B663729F88A22F9325C3C9D0 = {isa = PBXGroup; children = (
+ A1249A76BA1011B6EEF37ECB = {isa = PBXGroup; children = (
C83FE0526DC2E3078BCAFC5D,
1BAAB47A9C5B1D76D28FA282, ); name = AAX; sourceTree = "<group>"; };
35F768B6427149AF0129BB8C = {isa = PBXGroup; children = (
49386674C08BAD7864966166, ); name = CoreAudioUtilityClasses; sourceTree = "<group>"; };
E96D0837CDD1CE8B768E4077 = {isa = PBXGroup; children = (
35F768B6427149AF0129BB8C,
- 3F16A54F45ED278001F4CA09,
EE149F9075819C0132879D4C,
833921AD05E4BAF484FC7749, ); name = AU; sourceTree = "<group>"; };
- 10721EE9E840AA7BC5F61764 = {isa = PBXGroup; children = (
+ 05668E523CB813C2B1216969 = {isa = PBXGroup; children = (
CD61A73C6A090CD85EC57354,
9C9DEB7FB75C42C4F47AF999,
F7454AD16EE05969CCF5FD7C,
3755479207D218969425F91F,
17EC828C9226E13D4EF03E85,
1D4AFBEC703C6F373B292D9A, ); name = RTAS; sourceTree = "<group>"; };
- 5B3F9588F32C646D12DE0ACE = {isa = PBXGroup; children = (
+ 76E8AA981570F5D14A50E5BA = {isa = PBXGroup; children = (
12D74EEE2F7F5D8E17C746EA,
A13CE6DC3E31158D49337C8F, ); name = Standalone; sourceTree = "<group>"; };
- 0356C38F32660D46D5EE6554 = {isa = PBXGroup; children = (
+ 0727A8B2D638CC69763CCA95 = {isa = PBXGroup; children = (
7B870EE6D43B984CADE69C28,
94AA9AF4939F914AD00CEE1F,
58CEA1474B2E77B7287D735B,
2FADC0AA0043A3C87DF25E0D,
3C6E8B705C53294638807FC4,
- B82C8012A9571F69211455AD,
841B6783475386C5471CA039,
8C0D1A1E000E47D09B771963,
7E588E8934AFA6EA5C58C133, ); name = utility; sourceTree = "<group>"; };
- 0720EF699B01F6EB0A2C4E3A = {isa = PBXGroup; children = (
+ BBB94DEC5AE6A1D853134F6D = {isa = PBXGroup; children = (
1E496F7BF3B3C59E5ECACCDE,
8EB324480D60B3E3A81541E5, ); name = VST; sourceTree = "<group>"; };
- E090AC75C454B0E281AB5C5A = {isa = PBXGroup; children = (
+ 6C3EAEA901CD835AD8EDD8D9 = {isa = PBXGroup; children = (
6CEFF94C7852DB3BFA5E29EB, ); name = VST3; sourceTree = "<group>"; };
09C66663E0BF7CD43C73C7E6 = {isa = PBXGroup; children = (
- B663729F88A22F9325C3C9D0,
+ A1249A76BA1011B6EEF37ECB,
E96D0837CDD1CE8B768E4077,
- 10721EE9E840AA7BC5F61764,
- 5B3F9588F32C646D12DE0ACE,
- 0356C38F32660D46D5EE6554,
- 0720EF699B01F6EB0A2C4E3A,
- E090AC75C454B0E281AB5C5A,
+ 05668E523CB813C2B1216969,
+ 76E8AA981570F5D14A50E5BA,
+ 0727A8B2D638CC69763CCA95,
+ BBB94DEC5AE6A1D853134F6D,
+ 6C3EAEA901CD835AD8EDD8D9,
E65E231978B796AA7868DC4A,
BB2CD1B0323135818D0AB47F,
2A6E2BC2F602472C0FC70E68,
9D6E760A374151269551D1D8,
1DEEFB2E1913BF2BEBAE3B5C,
E65E231978B796AA7868DC4A, ); name = "juce_audio_plugin_client"; sourceTree = "<group>"; };
- 58537DEF112AF075DF6D8E9C = {isa = PBXGroup; children = (
+ B1AB8F8782318C5C7C4185B3 = {isa = PBXGroup; children = (
21764164C5B41690F1BC3861,
87BE12FCBC4C554059FA344F,
9120B03E05E369128056F1F0,
37CF7FCCB543B5B240957BCD, ); name = format; sourceTree = "<group>"; };
- 7F50BB46454730427358049B = {isa = PBXGroup; children = (
+ 08A2A1B40E90D02E34DA084B = {isa = PBXGroup; children = (
+ 9CB8ACEB10DCF2F067605442,
104CC5F094E0B3D1D3055D04,
A9B46A5FF98D7B9DF8598C12,
C19323831CE86566D60C725E,
6A72E46DBDCFAD6F7039E739,
F6AE333028FC864D4653A7B5,
070E3EFE91BE8407EE1EBD8C,
+ 388291AF3C0E60DD73B276D2,
A4DAEB5C0621C1C04EA93AEC,
A9C466FBA4FCF6484BCF86A2,
6501BB1AAFD5B3DC4A783F85,
CC04A3CE3003C0A0AB35A7AF, ); name = "format_types"; sourceTree = "<group>"; };
- 17F7701C54B8C8FA480937DF = {isa = PBXGroup; children = (
- 1C49A0C6E4032A29D5C05616,
- BA1BCEDEEAF68692BF1456EC,
+ 3504AB8B3D6A9242FEC982C3 = {isa = PBXGroup; children = (
F2C36FA2223ED743551F79C9,
C95C90A2A9829F72F818533B,
499974142017D18C15D5AE2A,
EDCAFA62D6F311A9AEC4B30E,
6AA71F4B531421F7440E7F51, ); name = utilities; sourceTree = "<group>"; };
21F2BD5969F182FE6DAAD73F = {isa = PBXGroup; children = (
- 58537DEF112AF075DF6D8E9C,
- 7F50BB46454730427358049B,
- 17F7701C54B8C8FA480937DF,
+ B1AB8F8782318C5C7C4185B3,
+ 08A2A1B40E90D02E34DA084B,
+ 3504AB8B3D6A9242FEC982C3,
F8883E3A091B19F88ED0F990,
61791F090B4BBD0F9D880E7F,
CA8898E7EC2A47F0C3E18D2C,
19D63B88BE3B2620D7EB8489,
100EFA05982C05972AC7861B,
19D63B88BE3B2620D7EB8489, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ 9497B9AF55D406C6848E322D = {isa = PBXGroup; children = (
+ D03C8E8435B3B27826E13CF0,
+ A5C59910D72EC2107AB80DBA,
+ F114AF53E9CC78A71CC92CCC, ); name = "audio_cd"; sourceTree = "<group>"; };
FCEF42B5FEDAC168D01D7A03 = {isa = PBXGroup; children = (
E7A0D2A3AAD8192B65EB0141,
1101AD528ED2238FE265B715,
DDA96B77BB314E0BA8D51F4D = {isa = PBXGroup; children = (
663CDC4A9E07B34A18A29728,
A2D59E253587CE9B51AE237F,
+ 14BC68F4696CC586AA1A7935,
B95709CE3D050593127765EB,
+ 3DDCDF64E8B157ED257A8030,
+ 4C1E0D6A11C45BEE00169D8E,
4266C9A95DBB52D7785F745A,
- 763780974CDC5E25D0B33885, ); name = native; sourceTree = "<group>"; };
- CCD74F6FCF50026770A412AE = {isa = PBXGroup; children = (
+ 763780974CDC5E25D0B33885,
+ 0773DA418D65427633F93B19,
+ 7688F1D6B9C39A3F89B2A59F, ); name = native; sourceTree = "<group>"; };
+ A4EBF7E3879A4F511A4054A9 = {isa = PBXGroup; children = (
745D6A06B95F8E9CAFBB0CC8,
- DCB5B59D3F5E1075E42DC5AE, ); name = players; sourceTree = "<group>"; };
+ DCB5B59D3F5E1075E42DC5AE,
+ 8C800D8B8E9ABC02A4E30107,
+ E90AD3A7724DBC629E4BE1E6, ); name = players; sourceTree = "<group>"; };
E97FDE56AE740B64914F3C58 = {isa = PBXGroup; children = (
+ 9497B9AF55D406C6848E322D,
FCEF42B5FEDAC168D01D7A03,
DDA96B77BB314E0BA8D51F4D,
- CCD74F6FCF50026770A412AE,
+ A4EBF7E3879A4F511A4054A9,
A3F95510DCE3352156FE67E4,
02730AF84C6233FF32A972D7,
5C5E3AF3EB9BE171FD53666A,
<OutputFile>$(IntDir)\JuceDemoPlugin.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
<OutputFile>$(IntDir)\JuceDemoPlugin.bsc</OutputFile>\r
</Bscmake>\r
<PostBuildEvent>\r
- <Command>copy /Y "$(OutDir)\$(TargetFileName)" "$(OutDir)\$(TargetName).vst3"</Command>\r
+ <Command>copy /Y "$(OutDir)$(TargetFileName)" "$(OutDir)$(TargetName).vst3"</Command>\r
</PostBuildEvent>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\PluginEditor.cpp"/>\r
<ClCompile Include="..\..\Source\PluginProcessor.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\PluginEditor.h"/>\r
<ClInclude Include="..\..\Source\PluginProcessor.h"/>\r
<ClInclude Include="..\..\Source\SinewaveSynth.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\CAXException.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\ComponentBase.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\Standalone\juce_StandaloneFilterWindow.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_CarbonVisibility.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_FakeMouseMoveGenerator.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeModuleHeaders.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_WindowsHooks.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<None Include="..\..\..\..\modules\juce_audio_formats\codecs\flac\Flac Licence.txt"/>\r
<None Include="..\..\..\..\modules\juce_audio_formats\codecs\oggvorbis\Ogg Vorbis Licence.txt"/>\r
<None Include="..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r"/>\r
+ <None Include="..\..\..\..\modules\juce_audio_plugin_client\AUResources.r"/>\r
<None Include="..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r"/>\r
<None Include="..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_RTAS.r"/>\r
<None Include="..\..\..\..\modules\juce_graphics\image_formats\jpglib\changes to libjpeg for JUCE.txt"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\PluginProcessor.cpp">\r
<Filter>JuceDemoPlugin</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\SinewaveSynth.h">\r
<Filter>JuceDemoPlugin</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses\MusicDeviceBase.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU\CoreAudioUtilityClasses</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\AU\juce_AU_Shared.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode_Header.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\RTAS</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_IncludeSystemHeaders.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginBusUtilities.h">\r
- <Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_plugin_client\utility\juce_PluginHostType.h">\r
<Filter>Juce Modules\juce_audio_plugin_client\utility</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
<None Include="..\..\..\..\modules\juce_audio_plugin_client\AU\AUResources.r">\r
<Filter>Juce Modules\juce_audio_plugin_client\AU</Filter>\r
</None>\r
+ <None Include="..\..\..\..\modules\juce_audio_plugin_client\AUResources.r">\r
+ <Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
+ </None>\r
<None Include="..\..\..\..\modules\juce_audio_plugin_client\juce_audio_plugin_client_AU.r">\r
<Filter>Juce Modules\juce_audio_plugin_client</Filter>\r
</None>\r
version="1.0.0" juceLinkage="amalg_multi" buildVST="1" buildRTAS="0"\r
buildAU="1" pluginName="Juce Demo Plugin" pluginDesc="Juce Demo Plugin"\r
pluginManufacturer="ROLI Ltd." pluginManufacturerCode="ROLI"\r
- pluginCode="Jcdm" pluginChannelConfigs="{1, 1}, {2, 2}" pluginIsSynth="0"\r
- pluginWantsMidiIn="1" pluginProducesMidiOut="1" pluginSilenceInIsSilenceOut="0"\r
- pluginTailLength="0" pluginEditorRequiresKeys="1" pluginAUExportPrefix="JuceDemoProjectAU"\r
+ pluginCode="Jcdm" pluginChannelConfigs="" pluginIsSynth="0" pluginWantsMidiIn="1"\r
+ pluginProducesMidiOut="1" pluginSilenceInIsSilenceOut="0" pluginTailLength="0"\r
+ pluginEditorRequiresKeys="1" pluginAUExportPrefix="JuceDemoProjectAU"\r
pluginAUViewClass="JuceDemoProjectAU_V1" pluginRTASCategory=""\r
- bundleIdentifier="com.juce.JuceDemoPlugin" jucerVersion="4.2.4"\r
+ bundleIdentifier="com.juce.JuceDemoPlugin" jucerVersion="4.3.0"\r
companyName="ROLI Ltd." aaxIdentifier="com.yourcompany.JuceDemoPlugin"\r
buildAAX="0" pluginAAXCategory="AAX_ePlugInCategory_Dynamics"\r
includeBinaryInAppConfig="1" buildVST3="1" pluginManufacturerEmail="support@yourcompany.com"\r
<MODULEPATH id="juce_events" path="../../modules"/>\r
<MODULEPATH id="juce_data_structures" path="../../modules"/>\r
<MODULEPATH id="juce_core" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_utils" path="../../modules"/>\r
<MODULEPATH id="juce_audio_processors" path="../../modules"/>\r
<MODULEPATH id="juce_audio_plugin_client" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_formats" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_devices" path="../../modules"/>\r
<MODULEPATH id="juce_audio_basics" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_utils" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../modules"/>\r
</MODULEPATHS>\r
</XCODE_MAC>\r
<VS2015 targetFolder="Builds/VisualStudio2015" vstFolder="" vst3Folder="">\r
<MODULEPATH id="juce_events" path="../../modules"/>\r
<MODULEPATH id="juce_data_structures" path="../../modules"/>\r
<MODULEPATH id="juce_core" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_utils" path="../../modules"/>\r
<MODULEPATH id="juce_audio_processors" path="../../modules"/>\r
<MODULEPATH id="juce_audio_plugin_client" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_formats" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_devices" path="../../modules"/>\r
<MODULEPATH id="juce_audio_basics" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_utils" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../modules"/>\r
</MODULEPATHS>\r
</VS2015>\r
<LINUX_MAKE targetFolder="Builds/Linux" vstFolder="" rtasFolder="~/SDKs/PT_80_SDK"\r
<MODULEPATH id="juce_events" path="../../modules"/>\r
<MODULEPATH id="juce_data_structures" path="../../modules"/>\r
<MODULEPATH id="juce_core" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_utils" path="../../modules"/>\r
<MODULEPATH id="juce_audio_processors" path="../../modules"/>\r
<MODULEPATH id="juce_audio_plugin_client" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_formats" path="../../modules"/>\r
- <MODULEPATH id="juce_audio_devices" path="../../modules"/>\r
<MODULEPATH id="juce_audio_basics" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_utils" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_devices" path="../../modules"/>\r
+ <MODULEPATH id="juce_audio_formats" path="../../modules"/>\r
</MODULEPATHS>\r
</LINUX_MAKE>\r
</EXPORTFORMATS>\r
<JUCEOPTIONS JUCE_QUICKTIME="disabled" JUCE_PLUGINHOST_VST="disabled" JUCE_PLUGINHOST_AU="disabled"/>\r
<MODULES>\r
<MODULE id="juce_audio_basics" showAllCode="1"/>\r
- <MODULE id="juce_audio_devices" showAllCode="1"/>\r
- <MODULE id="juce_audio_formats" showAllCode="1"/>\r
+ <MODULE id="juce_audio_devices" showAllCode="1" useLocalCopy="0"/>\r
+ <MODULE id="juce_audio_formats" showAllCode="1" useLocalCopy="0"/>\r
<MODULE id="juce_audio_plugin_client" showAllCode="1"/>\r
<MODULE id="juce_audio_processors" showAllCode="1"/>\r
- <MODULE id="juce_audio_utils" showAllCode="1"/>\r
+ <MODULE id="juce_audio_utils" showAllCode="1" useLocalCopy="0"/>\r
<MODULE id="juce_core" showAllCode="1"/>\r
<MODULE id="juce_data_structures" showAllCode="1"/>\r
<MODULE id="juce_events" showAllCode="1"/>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
#define JUCE_PLUGINHOST_AU 0\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
#ifndef JucePlugin_AAXDisableMultiMono\r
#define JucePlugin_AAXDisableMultiMono 0\r
#endif\r
-#ifndef JucePlugin_MaxNumInputChannels\r
- #define JucePlugin_MaxNumInputChannels 2\r
-#endif\r
-#ifndef JucePlugin_MaxNumOutputChannels\r
- #define JucePlugin_MaxNumOutputChannels 2\r
-#endif\r
-#ifndef JucePlugin_PreferredChannelConfigurations\r
- #define JucePlugin_PreferredChannelConfigurations {1, 1}, {2, 2}\r
-#endif\r
\r
#endif // __JUCE_APPCONFIG_0NRD9LLGO__\r
\r
//==============================================================================\r
JuceDemoPluginAudioProcessor::JuceDemoPluginAudioProcessor()\r
- : lastUIWidth (400),\r
+ : AudioProcessor (BusesProperties().withInput ("Input", AudioChannelSet::stereo(), true)\r
+ .withOutput ("Output", AudioChannelSet::stereo(), true)),\r
+ lastUIWidth (400),\r
lastUIHeight (200),\r
gainParam (nullptr),\r
delayParam (nullptr),\r
}\r
\r
//==============================================================================\r
+bool JuceDemoPluginAudioProcessor::isBusesLayoutSupported (const BusesLayout& layouts) const\r
+{\r
+ // Only mono/stereo and input/output must have same layout\r
+ const AudioChannelSet& mainInput = layouts.getMainInputChannelSet();\r
+ const AudioChannelSet& mainOutput = layouts.getMainOutputChannelSet();\r
+\r
+ // input and output layout must be the same\r
+ if (mainInput != mainOutput) return false;\r
+\r
+ // do not allow disabling the main buses\r
+ if (mainInput.isDisabled()) return false;\r
+\r
+ // only allow stereo and mono\r
+ if (mainInput.size() > 2) return false;\r
+\r
+ return true;\r
+}\r
+\r
void JuceDemoPluginAudioProcessor::prepareToPlay (double newSampleRate, int /*samplesPerBlock*/)\r
{\r
// Use this method as the place to do any pre-playback\r
// Now reload our parameters..\r
for (int i = 0; i < getNumParameters(); ++i)\r
if (AudioProcessorParameterWithID* p = dynamic_cast<AudioProcessorParameterWithID*> (getParameters().getUnchecked(i)))\r
- p->setValueNotifyingHost ((float) xmlState->getDoubleAttribute (p->paramID, p->getValue()));\r
+ p->setValue ((float) xmlState->getDoubleAttribute (p->paramID, p->getValue()));\r
}\r
}\r
}\r
~JuceDemoPluginAudioProcessor();\r
\r
//==============================================================================\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override;\r
void prepareToPlay (double sampleRate, int samplesPerBlock) override;\r
void releaseResources() override;\r
void reset() override;\r
\r
OBJECTS := \\r
$(JUCE_OBJDIR)/FilterGraph_62e9c017.o \\r
+ $(JUCE_OBJDIR)/FilterIOConfiguration_1cc9b659.o \\r
$(JUCE_OBJDIR)/GraphEditorPanel_3dbd4872.o \\r
$(JUCE_OBJDIR)/HostStartup_5ce96f96.o \\r
$(JUCE_OBJDIR)/InternalFilters_beb54bdf.o \\r
@echo "Compiling FilterGraph.cpp"\r
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
\r
+$(JUCE_OBJDIR)/FilterIOConfiguration_1cc9b659.o: ../../Source/FilterIOConfiguration.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling FilterIOConfiguration.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
$(JUCE_OBJDIR)/GraphEditorPanel_3dbd4872.o: ../../Source/GraphEditorPanel.cpp\r
-@mkdir -p $(JUCE_OBJDIR)\r
@echo "Compiling GraphEditorPanel.cpp"\r
4DB15177DDC357F4503F88CF = {isa = PBXBuildFile; fileRef = B457EE687507BF1DEEA7581F; };
D92C7BF86C9CCF6B4D14F809 = {isa = PBXBuildFile; fileRef = 7DA35787B5F6F7440D667CC8; };
4C88899EB7993A76A97643FE = {isa = PBXBuildFile; fileRef = 9BA1DD697B98005D24F7EC3C; };
+ 485A37478F7EAA352DD1A86A = {isa = PBXBuildFile; fileRef = 01FE7ED58992BC9683BA3C94; };
040EB574807E8A86F124D851 = {isa = PBXBuildFile; fileRef = B1C6B9E4B9FDC17AA298E541; };
A1B0416DA378BB0C3AD6F74B = {isa = PBXBuildFile; fileRef = A66EFAC64B1B67B536C73415; };
D493393499E0822C70009A63 = {isa = PBXBuildFile; fileRef = 362BB539489999164C3A3D5B; };
01A717DA37FEFAD85FBB4903 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
01DB9D38812FE9C8E4106F22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
01FD86096B5866FB81FF2569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
+ 01FE7ED58992BC9683BA3C94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FilterIOConfiguration.cpp; path = ../../Source/FilterIOConfiguration.cpp; sourceTree = "SOURCE_ROOT"; };
02103E89A1DBB8DEE968BDED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; };
02F8678BD7CAAD93B290CFEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
032E2ADE43B3115AB59A6393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; };
0E8900A3E8EEC22708EF5011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../JuceLibraryCode/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; };
0E8A874AB7E4971D90F58004 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; };
0EECB5C7D6CD9F1CDFEC50A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 0F78EEA7296448EDA33CBF54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
0FAD0D2057E7174BE0156828 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; };
0FE87C795742256815BEF9D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "config_types.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/config_types.h"; sourceTree = "SOURCE_ROOT"; };
10121C7796D618BB642CBA10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = endswap.h; path = "../../../../modules/juce_audio_formats/codecs/flac/endswap.h"; sourceTree = "SOURCE_ROOT"; };
11617F93929948BF4BC1BCC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; };
12859C280C98C8F5A8B3A5D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_audio_utils.cpp"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.cpp"; sourceTree = "SOURCE_ROOT"; };
12B6B66E1F63D9888366AB98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = infback.c; path = "../../../../modules/juce_core/zip/zlib/infback.c"; sourceTree = "SOURCE_ROOT"; };
+ 12DBAE918651FE26C8D6348B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
138CC7441850D856F9923C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
13C087E8BC57CF709CBCC74A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccoefct.c"; sourceTree = "SOURCE_ROOT"; };
13EA8958E53A70EFE5F2F7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; };
13FA561015BBB5F86783EAB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; };
140DE913FF08066FBE9B40B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEMessages.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEMessages.cpp"; sourceTree = "SOURCE_ROOT"; };
144FEDE49D0F6681E8DD861A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = format.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/format.c"; sourceTree = "SOURCE_ROOT"; };
- 147E02A7F9A65F317BE4256D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
14A87A1183D1758B09986E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
14AE8BC9816304F509EC1773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 14C89FAA1E3A8F2B3DBB4DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
14E06A6B79437E04E334F7AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; };
14E68B91F5DD3904D9C98600 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../JuceLibraryCode/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; };
14E94077B6856B9AD6AE0D45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; };
188F364C0B02372BB332F767 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../JuceLibraryCode/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; };
189761573BB5F17836B33BD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; };
18D9104048F8165BCA37A44B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
+ 18DD15714443AFC3BAAE211C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterIOConfiguration.h; path = ../../Source/FilterIOConfiguration.h; sourceTree = "SOURCE_ROOT"; };
18E3B04768DEA4B5699949C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jerror.c"; sourceTree = "SOURCE_ROOT"; };
+ 1933AB0C95683ACEDAB2B702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
1956DE1CE89301FE4FC9BC15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; };
1959937B4B2FC11B9AC53566 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; };
19AC4CDF00D2CA9FCC4700BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
19B542AA1D44A48137994C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 19CD7571944C6A30D84C1A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
19CF1995D026FB0177649557 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; };
19F1E0E8D9A395105CA14D9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; };
1A4E5F9889282918D91F7262 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
1A59F393DEB3E9E1132EAF51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
1A5B591DE330EB440C2871E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; };
1A80ACE5E89272455CFDBE73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jpeglib.h"; sourceTree = "SOURCE_ROOT"; };
- 1AB268A2EC53E0104B612174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
1ADCEA9B6A82A41D7D95CB2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; };
1B0596982B3039E793262901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; };
1B34607F0F916F899F3EFDD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; };
30DC449187E9C5359D3AA4A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; };
30F22843EFEBF7AA841EB4D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
310D69A7E400545D95F9F489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 314E234F8C00598CD85A3E97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
31AC0781EAF09276F92E0DA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; };
31ADFF06ADC415775B7BDF9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_RuntimePermissions.cpp"; path = "../../../../modules/juce_core/native/juce_android_RuntimePermissions.cpp"; sourceTree = "SOURCE_ROOT"; };
31E26B0962C9C464A1DE9377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctflt.c"; sourceTree = "SOURCE_ROOT"; };
32046EA191CFD25B047706EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; };
324A7295F867CE4F5A65FDD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; };
+ 324FCD80D05DF0BF5DA5B2A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
3287ECA0DE90C0BCF3CAE6C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; };
3298CA0624CDCFBD2CD97088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
32A0635D492C53B2523C8BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; };
33F1FB44C89F151882EF6D71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_44u.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_44u.h"; sourceTree = "SOURCE_ROOT"; };
33F6E0B050DD6FDD2F344822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = assert.h; path = "../../../../modules/juce_audio_formats/codecs/flac/assert.h"; sourceTree = "SOURCE_ROOT"; };
344A66473D93F1C7C05D7873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
+ 347F0C7F5E71A95F5269A6DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
34BA8570548D06DE971B0DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitreader.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/bitreader.h"; sourceTree = "SOURCE_ROOT"; };
34D73FE5FBC2197DD353ACA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
350100F6F8F9FDF746B4D5BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; };
3D5FE54476A7D32FE731E369 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
3D64A2C5EB65C68C4CBE47C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
3D6993BA129CF5B3D55E3800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; };
- 3D8997AC616A681F378B2518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
3D9187AAF3201133F6B2A117 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmorecfg.h"; sourceTree = "SOURCE_ROOT"; };
3DDA0A079266D6E94BC3863D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = info.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/info.c"; sourceTree = "SOURCE_ROOT"; };
3DE9E119B52FC92D0257EFE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = codebook.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/codebook.h"; sourceTree = "SOURCE_ROOT"; };
480EB4F8B71B880C74AA82F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; };
4840790BC5D2B26068E76863 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
4876E03AA7977023BDABA2A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; };
+ 4954A5CAC2FE00F2A4B4E44C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
4A394735BB54B32F3BA7A221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; };
4A4AA708ABE863E4A6B609BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; };
4A9384E6AC95A3353D2B7FFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 4AABDD8641E622401CEB4F4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
4AE7D510CA4464BB2D46D875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdinput.c"; sourceTree = "SOURCE_ROOT"; };
4B470E887246D7052CAC5E07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; };
4B6C9C666BFAFEE2EB4C25C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
6EEACEE1071D58DA155DC87E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; };
6F264BFDFD695F1AA75AB7F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = inftrees.h; path = "../../../../modules/juce_core/zip/zlib/inftrees.h"; sourceTree = "SOURCE_ROOT"; };
6F6AC4A00C126030263CC8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; };
- 6FBC39368BDC233144DA4D36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
6FC3334262FCA3170143BDF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; };
6FC7EB90BB3966BAE90113EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; };
71323E00D1742D3DC5E00C67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; };
723E49F4AD3A98B385B05D7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; };
727427F3107F36FAB510AA17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../JuceLibraryCode/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; };
72DD0054E547FFCC4D9F4700 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; };
- 72FA5B162110FF64A6A0C3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
7340BFA6BC995EDB51DB070D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; };
7357931BEBB80D3754EA987A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zconf.in.h; path = "../../../../modules/juce_core/zip/zlib/zconf.in.h"; sourceTree = "SOURCE_ROOT"; };
736D23CB06CFD14ECE4471CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; };
74A5FA88581FA9D8555EB4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder.c"; sourceTree = "SOURCE_ROOT"; };
74A7E574AE7A56AF4EEB8601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = transupp.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.c"; sourceTree = "SOURCE_ROOT"; };
74C765F556EF89599ECA71E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEZone.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZone.h"; sourceTree = "SOURCE_ROOT"; };
+ 75304BF9EFA3E6C709616049 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
754DC920173C7DDDBD2DC2E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiser.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiser.h"; sourceTree = "SOURCE_ROOT"; };
75F290D7B7C53C03DC653FC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
75FCAA8D3DF24813844D6552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
9E6E3468F601EB602900825B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; };
9EC65D648D37E3C325E29259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
9ED0202809EFF61F72BC949C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
+ 9EDA34EB000592D5EAB9CAAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
9F026AC7E95B4C723F18903C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; };
9F5B773064345EFCF3C35D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; };
9F9B445E6755CAA19E4344ED = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
AA668D8E33AD917D7DFC70E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; };
AA7350771ED17561EB915EED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
AAA409C3E3CEA220DEF9BC16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
- AAB108F5A7F3D826559E3162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
AAF5E82B9F1E9BD0895BDE1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; };
AB129CA989DE9BC3D702E89A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPEValue.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEValue.h"; sourceTree = "SOURCE_ROOT"; };
AB2D654FC6C6C7F42E1AA95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameterWithID.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorParameterWithID.h"; sourceTree = "SOURCE_ROOT"; };
B0935EBBA4F6E2B05F3D1C0A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
B1068476E683AADD3CD8AD55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
B159ECAA4A14524B34DC6318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
+ B1906DD297D6920B2EA73F81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
B1C6B9E4B9FDC17AA298E541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphEditorPanel.cpp; path = ../../Source/GraphEditorPanel.cpp; sourceTree = "SOURCE_ROOT"; };
B1CA1F3AE7555C4FB4CE52D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
B1D5ED2A628748002723A9B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; };
C348ED5DC9B29CCB522F6E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; };
C371DC1B5AA7CB8029D130FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
C3A16EC88BEF2A636558BB6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; };
- C3EF919C59C75375ED4EF23E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
- C3F4A1EA3239C631ED2EF8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
C40A3633ACC2BE38B3764309 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
C43150F92FA4DE8381209FA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
+ C4398541C235F9E618208BEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
C45FD137A5257D8C39F2063E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; };
C46223B526679E23A270826E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
C46CE9BB7E066240FB6DBBD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; };
E47E7E5220482A860A16C572 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; };
E4A23878398A810023FB91B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; };
E4C80E4A79A8DBD69192B3DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
- E4EFA38400DEA114542E53EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
E513696B3670F32F12D807C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
E51F8E2405278D9F3CC38EBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MPEZoneLayout.cpp"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPEZoneLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
E535F21BB1635AAD456D969B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inffast.c; path = "../../../../modules/juce_core/zip/zlib/inffast.c"; sourceTree = "SOURCE_ROOT"; };
F86E07B5B542F6F4B7F77A4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; };
F86F912E470660B0C7047823 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; };
F8700C66EB5AE3292B585E19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; };
+ F88D166360E180210259FBEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
F8D23A339EA851D0838B8D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; };
F8D4181043B6E13CF16E7E00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
F8D4B164A423E3A891708A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jconfig.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jconfig.h"; sourceTree = "SOURCE_ROOT"; };
97790EAEA01CFA5C3CA9737A = {isa = PBXGroup; children = (
9BA1DD697B98005D24F7EC3C,
2B143B5431318DDB2104B46E,
+ 01FE7ED58992BC9683BA3C94,
+ 18DD15714443AFC3BAAE211C,
B1C6B9E4B9FDC17AA298E541,
DD8E5D0C88FA2C287F824357,
A66EFAC64B1B67B536C73415,
1EC0F33A3BABE58138317375,
6692043E22BB181F01767845, ); name = "Plugin Host"; sourceTree = "<group>"; };
EBC9CD52F42C330D1A15D3A4 = {isa = PBXGroup; children = (
+ C4398541C235F9E618208BEE,
+ 1933AB0C95683ACEDAB2B702,
DC30BDE9C4EE1FD059D06902,
CBF6F0F3C2D85A2BCC427A34,
272F04D06B1FAFF3580B0DDA,
67896E2C98F4857F93982D9D,
627709CC8F994ADFE362022E,
67896E2C98F4857F93982D9D, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- BD4C518CD2C742B426320C16 = {isa = PBXGroup; children = (
- E4EFA38400DEA114542E53EC,
- 3D8997AC616A681F378B2518,
- AAB108F5A7F3D826559E3162, ); name = "audio_cd"; sourceTree = "<group>"; };
- F54277225A18F10D0365E29D = {isa = PBXGroup; children = (
+ 8F2A6CC3FD8B76DB0D2F60C1 = {isa = PBXGroup; children = (
2696ECADDD4CF572708A2952,
8EDBBAAA918B853D54834142,
E146C1CCDC8EA0498CD33E5D,
ACEFDEF38DAB391EA33B0266,
986DCE49CDE712122B201CBA,
AC3115EF08961FE738E897E6, ); name = "audio_io"; sourceTree = "<group>"; };
- B4895DE018A31A2A6647F640 = {isa = PBXGroup; children = (
+ A4ABA8223906FDF6D1EA60DE = {isa = PBXGroup; children = (
C218366267FA66AF1AC8F328,
9A1DB88858E4F86376D3C754,
14E06A6B79437E04E334F7AB,
A9E135CB7BEA812D224DAF49,
8D32F4321284799FCC3ABE0E,
1F7D3EA90275DA64EA6A8507,
- C3EF919C59C75375ED4EF23E,
FFFA6E3ECEFDF1DE95D0F632,
6CC390D80BA517A67F855CA3,
- C3F4A1EA3239C631ED2EF8A4,
- 72FA5B162110FF64A6A0C3C9,
EDE3D5B0BCDB2436CB75478F,
6A5B9749B809D0483AA63F7B,
EA85B5D125D82A1E07FF58FD,
B8E2DE991BF0D13E2C488E1C,
- 6FBC39368BDC233144DA4D36,
- 4AABDD8641E622401CEB4F4F,
E7734E1F585ACB33420E44B4,
AE7BE10688B3F7C18D21E9B9,
D3EF8617364177AD4D247124, ); name = native; sourceTree = "<group>"; };
- BAB9DC98A728E1E8FF97316D = {isa = PBXGroup; children = (
+ C14B0AD8CA5CE5784BC1449F = {isa = PBXGroup; children = (
8724A36432DF521445B2496B,
233EFCD6D704C40126925CAB,
42DA01E6360F8AE6711AB47D,
275701F5A51CC67E9E93E178, ); name = sources; sourceTree = "<group>"; };
B68FC62EE96CDB34938C40D4 = {isa = PBXGroup; children = (
- BD4C518CD2C742B426320C16,
- F54277225A18F10D0365E29D,
- B4895DE018A31A2A6647F640,
+ 8F2A6CC3FD8B76DB0D2F60C1,
+ A4ABA8223906FDF6D1EA60DE,
15AA6334C73AEC9EFBF2E9BE,
- BAB9DC98A728E1E8FF97316D,
+ C14B0AD8CA5CE5784BC1449F,
823B63E3AF6C3B9A3EEEFC1E,
14E94077B6856B9AD6AE0D45,
5656FCEE17FE65E49EF3A891,
1B6A039FE3A63210FC1936D2,
084D91B2AD459A0FEBEFD449,
1B6A039FE3A63210FC1936D2, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 0A8EC3BAE84B17F0CCFAA08E = {isa = PBXGroup; children = (
+ 3ED812FC194789D9AF08E03F = {isa = PBXGroup; children = (
157C1BBF0329BDB102534A38,
7EC4BF7FFDD52F005ACDF6CC,
C231F5F352D49DF474C24FEF,
C9EBFF5064D2B5EEE2C95FE1, ); name = format; sourceTree = "<group>"; };
- 8A1776147DE1F56F2AD018F8 = {isa = PBXGroup; children = (
+ CBFDD002777F1F8DF44AC4C3 = {isa = PBXGroup; children = (
+ F88D166360E180210259FBEA,
4CAFE02422227FB8CDD130A5,
397E6AC0BA27761D41FF7E5B,
C2F0321856C5812A685B349D,
D99B064D47C6B0FDDBC66B02,
ACE3FF969AC408A50E9A6A4C,
B1CA1F3AE7555C4FB4CE52D2,
+ 14C89FAA1E3A8F2B3DBB4DF2,
069AD628740BD9731986CDFC,
10EE0138720A51EBAD46FFCC,
A53F1F6AAA9F18823C239E6C,
C270737E2B85C6D98E145525, ); name = "format_types"; sourceTree = "<group>"; };
- 28B2A64060E5DD1193AEDD8F = {isa = PBXGroup; children = (
- 1AB268A2EC53E0104B612174,
- 147E02A7F9A65F317BE4256D,
+ 485352F28C9A76AE5E94A6D8 = {isa = PBXGroup; children = (
E2696473F0CBB933DB4BE257,
01434FE2B225D0BA4417F860,
3A3C58CDCD2789D07F1C92F4,
2E82C650752108DC296CBD6B,
C8F6BD92FD1A6C6799664B6A, ); name = utilities; sourceTree = "<group>"; };
0FB8D0CA8D202CE76367B337 = {isa = PBXGroup; children = (
- 0A8EC3BAE84B17F0CCFAA08E,
- 8A1776147DE1F56F2AD018F8,
- 28B2A64060E5DD1193AEDD8F,
+ 3ED812FC194789D9AF08E03F,
+ CBFDD002777F1F8DF44AC4C3,
+ 485352F28C9A76AE5E94A6D8,
62236C627F4DE4A894D8A09A,
F0B73165A2FD3FCE2464EAAF,
59808039879586960196605F,
973D507D2DF9F9FDE7A59EB8,
D5C074653417ED69A2B570AC,
973D507D2DF9F9FDE7A59EB8, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ DE93E508E7F8EA203D16E7AE = {isa = PBXGroup; children = (
+ 75304BF9EFA3E6C709616049,
+ B1906DD297D6920B2EA73F81,
+ 0F78EEA7296448EDA33CBF54, ); name = "audio_cd"; sourceTree = "<group>"; };
124E418CC9F0EADCC90BE628 = {isa = PBXGroup; children = (
FCE0E6E130E6EF32593CC613,
7DBB713E52BEF9A059959B9A,
8172BF790F1E5A471E8D1C58 = {isa = PBXGroup; children = (
F1B643F08AF0BCB7C9E7880F,
156C01AA299B6079BEB4690F,
+ 9EDA34EB000592D5EAB9CAAC,
F191F96929D19C734B392BEB,
+ 314E234F8C00598CD85A3E97,
+ 324FCD80D05DF0BF5DA5B2A0,
3A94337CF17F8EBF0C72D174,
- 9D77769D5A899B4E435AAEFA, ); name = native; sourceTree = "<group>"; };
- 0A772CCB43ABD6159310846F = {isa = PBXGroup; children = (
+ 9D77769D5A899B4E435AAEFA,
+ 347F0C7F5E71A95F5269A6DC,
+ 4954A5CAC2FE00F2A4B4E44C, ); name = native; sourceTree = "<group>"; };
+ FF0AC15C5EE1BFEDE927306A = {isa = PBXGroup; children = (
370374649557B8288479B99A,
- F86E07B5B542F6F4B7F77A4F, ); name = players; sourceTree = "<group>"; };
+ F86E07B5B542F6F4B7F77A4F,
+ 12DBAE918651FE26C8D6348B,
+ 19CD7571944C6A30D84C1A59, ); name = players; sourceTree = "<group>"; };
FD5B55759ED270C0BD315748 = {isa = PBXGroup; children = (
+ DE93E508E7F8EA203D16E7AE,
124E418CC9F0EADCC90BE628,
8172BF790F1E5A471E8D1C58,
- 0A772CCB43ABD6159310846F,
+ FF0AC15C5EE1BFEDE927306A,
12859C280C98C8F5A8B3A5D1,
10BB6B4CD8BA76B7D9A2237A,
FE7C03DACFC725D712D9F508,
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.11;
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion";
PRODUCT_BUNDLE_IDENTIFIER = com.roli.pluginhost;
SDKROOT_ppc = macosx10.5; }; name = Debug; };
49453CC5AD9F08D2738464AC = {isa = XCBuildConfiguration; buildSettings = {
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.5;
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
+ OTHER_CPLUSPLUSFLAGS = "-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion";
PRODUCT_BUNDLE_IDENTIFIER = com.roli.pluginhost;
SDKROOT_ppc = macosx10.5; }; name = Release; };
8D1CA827F1EFD443BDCF198A = {isa = XCBuildConfiguration; buildSettings = {
D92C7BF86C9CCF6B4D14F809, ); runOnlyForDeploymentPostprocessing = 0; };
E8E94B3C187DA578BFCBDA98 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
4C88899EB7993A76A97643FE,
+ 485A37478F7EAA352DD1A86A,
040EB574807E8A86F124D851,
A1B0416DA378BB0C3AD6F74B,
D493393499E0822C70009A63,
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\FilterGraph.cpp"/>\r
+ <ClCompile Include="..\..\Source\FilterIOConfiguration.cpp"/>\r
<ClCompile Include="..\..\Source\GraphEditorPanel.cpp"/>\r
<ClCompile Include="..\..\Source\HostStartup.cpp"/>\r
<ClCompile Include="..\..\Source\InternalFilters.cpp"/>\r
<ClCompile Include="..\..\Source\MainHostWindow.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\FilterGraph.h"/>\r
+ <ClInclude Include="..\..\Source\FilterIOConfiguration.h"/>\r
<ClInclude Include="..\..\Source\GraphEditorPanel.h"/>\r
<ClInclude Include="..\..\Source\InternalFilters.h"/>\r
<ClInclude Include="..\..\Source\MainHostWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\FilterGraph.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\Source\FilterIOConfiguration.cpp">\r
+ <Filter>Plugin Host</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\Source\GraphEditorPanel.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\Source\MainHostWindow.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\FilterGraph.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\Source\FilterIOConfiguration.h">\r
+ <Filter>Plugin Host</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\Source\GraphEditorPanel.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\Source\MainHostWindow.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\FilterGraph.cpp"/>\r
+ <ClCompile Include="..\..\Source\FilterIOConfiguration.cpp"/>\r
<ClCompile Include="..\..\Source\GraphEditorPanel.cpp"/>\r
<ClCompile Include="..\..\Source\HostStartup.cpp"/>\r
<ClCompile Include="..\..\Source\InternalFilters.cpp"/>\r
<ClCompile Include="..\..\Source\MainHostWindow.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\FilterGraph.h"/>\r
+ <ClInclude Include="..\..\Source\FilterIOConfiguration.h"/>\r
<ClInclude Include="..\..\Source\GraphEditorPanel.h"/>\r
<ClInclude Include="..\..\Source\InternalFilters.h"/>\r
<ClInclude Include="..\..\Source\MainHostWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\FilterGraph.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\Source\FilterIOConfiguration.cpp">\r
+ <Filter>Plugin Host</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\Source\GraphEditorPanel.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\Source\MainHostWindow.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\FilterGraph.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\Source\FilterIOConfiguration.h">\r
+ <Filter>Plugin Host</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\Source\GraphEditorPanel.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\Source\MainHostWindow.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\FilterGraph.cpp"/>\r
+ <ClCompile Include="..\..\Source\FilterIOConfiguration.cpp"/>\r
<ClCompile Include="..\..\Source\GraphEditorPanel.cpp"/>\r
<ClCompile Include="..\..\Source\HostStartup.cpp"/>\r
<ClCompile Include="..\..\Source\InternalFilters.cpp"/>\r
<ClCompile Include="..\..\Source\MainHostWindow.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\FilterGraph.h"/>\r
+ <ClInclude Include="..\..\Source\FilterIOConfiguration.h"/>\r
<ClInclude Include="..\..\Source\GraphEditorPanel.h"/>\r
<ClInclude Include="..\..\Source\InternalFilters.h"/>\r
<ClInclude Include="..\..\Source\MainHostWindow.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\FilterGraph.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\Source\FilterIOConfiguration.cpp">\r
+ <Filter>Plugin Host</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\Source\GraphEditorPanel.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\Source\MainHostWindow.cpp">\r
<Filter>Plugin Host</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\FilterGraph.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\Source\FilterIOConfiguration.h">\r
+ <Filter>Plugin Host</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\Source\GraphEditorPanel.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\Source\MainHostWindow.h">\r
<Filter>Plugin Host</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- #define JUCE_USE_CDREADER 0\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- #define JUCE_USE_CDBURNER 0\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
#define JUCE_PLUGINHOST_AU 1\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ #define JUCE_USE_CDREADER 0\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ #define JUCE_USE_CDBURNER 0\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
<JUCERPROJECT id="NTe0XB0ij" name="Plugin Host" projectType="guiapp" version="1.0.0"\r
juceFolder="../../../juce" vstFolderMac="~/SDKs/vstsdk2.4" vstFolderPC="c:\SDKs\vstsdk2.4"\r
- bundleIdentifier="com.roli.pluginhost" jucerVersion="4.2.4" companyName="ROLI Ltd."\r
+ bundleIdentifier="com.roli.pluginhost" jucerVersion="4.3.0" companyName="ROLI Ltd."\r
includeBinaryInAppConfig="1">\r
<EXPORTFORMATS>\r
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="" rtasFolder="~/SDKs/PT_80_SDK"\r
- objCExtraSuffix="M73TRi" vst3Folder="">\r
+ objCExtraSuffix="M73TRi" vst3Folder="" extraCompilerFlags="-Wall -Wshadow -Wno-missing-field-initializers -Wshadow -Wshorten-64-to-32 -Wstrict-aliasing -Wuninitialized -Wunused-parameter -Wconversion -Wsign-compare -Wint-conversion -Woverloaded-virtual -Wreorder -Wconstant-conversion -Wsign-conversion">\r
<CONFIGURATIONS>\r
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="Plugin Host"\r
osxSDK="default" osxCompatibility="default" osxArchitecture="default"/>\r
file="Source/FilterGraph.cpp"/>\r
<FILE id="auGSxnlTU" name="FilterGraph.h" compile="0" resource="0"\r
file="Source/FilterGraph.h"/>\r
+ <FILE id="cnfPX5" name="FilterIOConfiguration.cpp" compile="1" resource="0"\r
+ file="Source/FilterIOConfiguration.cpp"/>\r
+ <FILE id="ZVUq7Q" name="FilterIOConfiguration.h" compile="0" resource="0"\r
+ file="Source/FilterIOConfiguration.h"/>\r
<FILE id="2b09bSUt" name="GraphEditorPanel.cpp" compile="1" resource="0"\r
file="Source/GraphEditorPanel.cpp"/>\r
<FILE id="sj8Yug8cu" name="GraphEditorPanel.h" compile="0" resource="0"\r
addFilter (internalFormat.getDescriptionFor (InternalPluginFormat::midiInputFilter), 0.25f, 0.1f);\r
addFilter (internalFormat.getDescriptionFor (InternalPluginFormat::audioOutputFilter), 0.5f, 0.9f);\r
\r
+ graph.addListener (this);\r
+\r
setChangedFlag (false);\r
}\r
\r
FilterGraph::~FilterGraph()\r
{\r
+ graph.addListener (this);\r
graph.clear();\r
}\r
\r
}\r
else\r
{\r
+ instance->enableAllBuses();\r
AudioProcessorGraph::Node* node = graph.addNode (instance);\r
\r
if (node != nullptr)\r
{\r
jassert (node->getProcessor() != nullptr);\r
\r
- if (PluginWindow* const w = PluginWindow::getWindowFor (node, type))\r
+ if (PluginWindow* const w = PluginWindow::getWindowFor (node, type, graph))\r
w->toFront (true);\r
}\r
}\r
/**\r
A collection of filters and some connections between them.\r
*/\r
-class FilterGraph : public FileBasedDocument\r
+class FilterGraph : public FileBasedDocument, public AudioProcessorListener\r
{\r
public:\r
//==============================================================================\r
\r
\r
//==============================================================================\r
+ void audioProcessorParameterChanged (AudioProcessor*, int, float) override {}\r
+ void audioProcessorChanged (AudioProcessor*) override { changed(); }\r
\r
+ //==============================================================================\r
XmlElement* createXml() const;\r
void restoreFromXml (const XmlElement& xml);\r
\r
//==============================================================================\r
void newDocument();\r
- String getDocumentTitle();\r
- Result loadDocument (const File& file);\r
- Result saveDocument (const File& file);\r
- File getLastDocumentOpened();\r
- void setLastDocumentOpened (const File& file);\r
+ String getDocumentTitle() override;\r
+ Result loadDocument (const File& file) override;\r
+ Result saveDocument (const File& file) override;\r
+ File getLastDocumentOpened() override;\r
+ void setLastDocumentOpened (const File& file) override;\r
+\r
+ //==============================================================================\r
+\r
\r
/** The special channel index used to refer to a filter's midi channel.\r
*/\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+ */\r
+#include "../JuceLibraryCode/JuceHeader.h"\r
+#include "GraphEditorPanel.h"\r
+#include "InternalFilters.h"\r
+#include "MainHostWindow.h"\r
+\r
+#include "FilterIOConfiguration.h"\r
+\r
+//==============================================================================\r
+class NumberedBoxes : public TableListBox, private TableListBoxModel, private Button::Listener\r
+{\r
+public:\r
+ struct Listener\r
+ {\r
+ virtual ~Listener() {}\r
+\r
+ virtual void addColumn() = 0;\r
+ virtual void removeColumn() = 0;\r
+ virtual void columnSelected (int columnId) = 0;\r
+ };\r
+\r
+ enum\r
+ {\r
+ plusButtonColumnId = 128,\r
+ minusButtonColumnId = 129\r
+ };\r
+\r
+ //==============================================================================\r
+ NumberedBoxes (Listener& listenerToUse, bool canCurrentlyAddColumn, bool canCurrentlyRemoveColumn)\r
+ : TableListBox ("NumberedBoxes", this),\r
+ listener (listenerToUse),\r
+ canAddColumn (canCurrentlyAddColumn),\r
+ canRemoveColumn (canCurrentlyRemoveColumn)\r
+ {\r
+ TableHeaderComponent& tableHeader = getHeader();\r
+\r
+ for (int i = 0; i < 16; ++i)\r
+ tableHeader.addColumn (String (i + 1), i + 1, 40);\r
+\r
+ setHeaderHeight (0);\r
+ setRowHeight (40);\r
+\r
+ if (ScrollBar* scrollbar = getHorizontalScrollBar())\r
+ scrollbar->setAutoHide (false);\r
+ }\r
+\r
+ void setSelected (int columnId)\r
+ {\r
+ if (TextButton* button = dynamic_cast<TextButton*> (getCellComponent (columnId, 0)))\r
+ button->setToggleState (true, NotificationType::dontSendNotification);\r
+ }\r
+\r
+ void setCanAddColumn (bool canCurrentlyAdd)\r
+ {\r
+ if (canCurrentlyAdd != canAddColumn)\r
+ {\r
+ canAddColumn = canCurrentlyAdd;\r
+\r
+ if (TextButton* button = dynamic_cast<TextButton*> (getCellComponent (plusButtonColumnId, 0)))\r
+ button->setEnabled (true);\r
+ }\r
+ }\r
+\r
+ void setCanRemoveColumn (bool canCurrentlyRemove)\r
+ {\r
+ if (canCurrentlyRemove != canRemoveColumn)\r
+ {\r
+ canRemoveColumn = canCurrentlyRemove;\r
+\r
+ if (TextButton* button = dynamic_cast<TextButton*> (getCellComponent (minusButtonColumnId, 0)))\r
+ button->setEnabled (true);\r
+ }\r
+ }\r
+\r
+private:\r
+ //==============================================================================\r
+ int getNumRows() override { return 1; }\r
+ void paintCell (Graphics&, int, int, int, int, bool) override {}\r
+ void paintRowBackground (Graphics& g, int, int, int, bool) override { g.fillAll (Colours::grey); }\r
+\r
+ Component* refreshComponentForCell (int, int columnId, bool,\r
+ Component* existingComponentToUpdate) override\r
+ {\r
+ TextButton* textButton = dynamic_cast<TextButton*> (existingComponentToUpdate);\r
+ if (textButton == nullptr)\r
+ textButton = new TextButton ("");\r
+\r
+ textButton->setButtonText (getButtonName (columnId));\r
+ textButton->setConnectedEdges (Button::ConnectedOnLeft | Button::ConnectedOnRight |\r
+ Button::ConnectedOnTop | Button::ConnectedOnBottom);\r
+\r
+ const bool isPlusMinusButton = (columnId == plusButtonColumnId || columnId == minusButtonColumnId);\r
+\r
+ if (isPlusMinusButton)\r
+ {\r
+ textButton->setEnabled (columnId == plusButtonColumnId ? canAddColumn : canRemoveColumn);\r
+ }\r
+ else\r
+ {\r
+ textButton->setRadioGroupId (1, NotificationType::dontSendNotification);\r
+ textButton->setClickingTogglesState (true);\r
+\r
+ Colour busColour = Colours::green.withRotatedHue (static_cast<float> (columnId) / 5.0f);\r
+ textButton->setColour (TextButton::buttonColourId, busColour);\r
+ textButton->setColour (TextButton::buttonOnColourId, busColour.withMultipliedBrightness (2.0f));\r
+ }\r
+\r
+ textButton->addListener (this);\r
+\r
+ return textButton;\r
+ }\r
+\r
+ //==============================================================================\r
+ String getButtonName (int columnId)\r
+ {\r
+ if (columnId == plusButtonColumnId) return "+";\r
+ if (columnId == minusButtonColumnId) return "-";\r
+\r
+ return String (columnId);\r
+ }\r
+\r
+ void buttonClicked (Button* btn) override\r
+ {\r
+ const String& text = btn->getButtonText();\r
+\r
+ if (text == "+") listener.addColumn();\r
+ else if (text == "-") listener.removeColumn();\r
+ }\r
+\r
+ void buttonStateChanged (Button* btn) override\r
+ {\r
+ const String& text = btn->getButtonText();\r
+\r
+ if (text == "+" || text == "-") return;\r
+\r
+ if (btn->getToggleState())\r
+ listener.columnSelected (text.getIntValue());\r
+ }\r
+\r
+ //==============================================================================\r
+ Listener& listener;\r
+ bool canAddColumn, canRemoveColumn;\r
+};\r
+\r
+//==============================================================================\r
+class FilterIOConfigurationWindow::InputOutputConfig\r
+ : public Component, private ComboBox::Listener, private Button::Listener, private NumberedBoxes::Listener\r
+{\r
+public:\r
+ InputOutputConfig (FilterIOConfigurationWindow& parent, bool direction)\r
+ : owner (parent),\r
+ ioTitle ("ioLabel", direction ? "Input Configuration" : "Output Configuration"),\r
+ nameLabel ("nameLabel", "Bus Name:"),\r
+ layoutLabel ("layoutLabel", "Channel Layout:"),\r
+ enabledToggle ("Enabled"),\r
+ ioBuses (*this, false, false),\r
+ isInput (direction),\r
+ currentBus (0)\r
+ {\r
+ ioTitle.setFont (ioTitle.getFont().withStyle (Font::bold));\r
+ nameLabel.setFont (nameLabel.getFont().withStyle (Font::bold));\r
+ layoutLabel.setFont (layoutLabel.getFont().withStyle (Font::bold));\r
+ enabledToggle.setClickingTogglesState (true);\r
+\r
+ layouts.addListener (this);\r
+ enabledToggle.addListener (this);\r
+\r
+ addAndMakeVisible (layoutLabel);\r
+ addAndMakeVisible (layouts);\r
+ addAndMakeVisible (enabledToggle);\r
+ addAndMakeVisible (ioTitle);\r
+ addAndMakeVisible (nameLabel);\r
+ addAndMakeVisible (name);\r
+ addAndMakeVisible (ioBuses);\r
+\r
+ updateBusButtons();\r
+ updateBusLayout();\r
+ }\r
+\r
+ void paint (Graphics& g) override\r
+ {\r
+ g.fillAll (Colours::white);\r
+ }\r
+\r
+ void resized() override\r
+ {\r
+ Rectangle<int> r = getLocalBounds().reduced (10);\r
+\r
+ ioTitle.setBounds (r.removeFromTop (14));\r
+ r.reduce (10, 0);\r
+ r.removeFromTop (16);\r
+\r
+ ioBuses.setBounds (r.removeFromTop (60));\r
+\r
+ {\r
+ Rectangle<int> label = r.removeFromTop (24);\r
+\r
+ nameLabel.setBounds (label.removeFromLeft (100));\r
+ enabledToggle.setBounds (label.removeFromRight (80));\r
+ name.setBounds (label);\r
+ }\r
+\r
+ {\r
+ Rectangle<int> label = r.removeFromTop (24);\r
+\r
+ layoutLabel.setBounds (label.removeFromLeft (100));\r
+ layouts.setBounds (label);\r
+ }\r
+ }\r
+\r
+private:\r
+ void updateBusButtons()\r
+ {\r
+ if (AudioProcessor* filter = owner.getAudioProcessor())\r
+ {\r
+ TableHeaderComponent& header = ioBuses.getHeader();\r
+ header.removeAllColumns();\r
+\r
+ const int n = filter->getBusCount (isInput);\r
+ for (int i = 0; i < n; ++i)\r
+ header.addColumn ("", i + 1, 40);\r
+\r
+ header.addColumn ("+", NumberedBoxes::plusButtonColumnId, 20);\r
+ header.addColumn ("-", NumberedBoxes::minusButtonColumnId, 20);\r
+\r
+ ioBuses.setCanAddColumn (filter->canAddBus (isInput));\r
+ ioBuses.setCanRemoveColumn (filter->canRemoveBus (isInput));\r
+ }\r
+\r
+ ioBuses.setSelected (currentBus + 1);\r
+ }\r
+\r
+ void updateBusLayout()\r
+ {\r
+ if (AudioProcessor* filter = owner.getAudioProcessor())\r
+ {\r
+ if (AudioProcessor::Bus* bus = filter->getBus (isInput, currentBus))\r
+ {\r
+ int i;\r
+\r
+ for (i = 1; i < AudioChannelSet::maxChannelsOfNamedLayout; ++i)\r
+ if ((layouts.indexOfItemId(i) == -1) != bus->supportedLayoutWithChannels (i).isDisabled())\r
+ break;\r
+\r
+ // supported layouts have changed\r
+ if (i < AudioChannelSet::maxChannelsOfNamedLayout)\r
+ {\r
+ layouts.clear();\r
+\r
+ for (i = 1; i < AudioChannelSet::maxChannelsOfNamedLayout; ++i)\r
+ {\r
+ AudioChannelSet set = bus->supportedLayoutWithChannels (i);\r
+ if (! set.isDisabled())\r
+ layouts.addItem (set.getDescription(), i);\r
+ }\r
+ }\r
+\r
+ layouts.setSelectedId (bus->getLastEnabledLayout().size());\r
+\r
+ const bool canBeDisabled = bus->isNumberOfChannelsSupported (0);\r
+\r
+ if (canBeDisabled != enabledToggle.isEnabled())\r
+ {\r
+ enabledToggle.setEnabled (canBeDisabled);\r
+ enabledToggle.setToggleState (bus->isEnabled(), NotificationType::dontSendNotification);\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ //==============================================================================\r
+ void comboBoxChanged (ComboBox* combo) override\r
+ {\r
+ if (combo == &layouts)\r
+ {\r
+ if (AudioProcessor* filter = owner.getAudioProcessor())\r
+ {\r
+ if (AudioProcessor::Bus* bus = filter->getBus (isInput, currentBus))\r
+ {\r
+ const int selectedNumChannels = layouts.getSelectedId();\r
+\r
+ if (selectedNumChannels != bus->getLastEnabledLayout().size())\r
+ {\r
+ if (isPositiveAndBelow (selectedNumChannels, (int) AudioChannelSet::maxChannelsOfNamedLayout)\r
+ && bus->setCurrentLayoutWithoutEnabling (bus->supportedLayoutWithChannels (selectedNumChannels)))\r
+ {\r
+ if (InputOutputConfig* config = owner.getConfig (! isInput))\r
+ config->updateBusLayout();\r
+\r
+ owner.update();\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ void buttonClicked (Button*) override {}\r
+\r
+ void buttonStateChanged (Button* btn) override\r
+ {\r
+ if (btn == &enabledToggle && enabledToggle.isEnabled())\r
+ {\r
+ if (AudioProcessor* filter = owner.getAudioProcessor())\r
+ {\r
+ if (AudioProcessor::Bus* bus = filter->getBus (isInput, currentBus))\r
+ {\r
+ if (bus->isEnabled() != enabledToggle.getToggleState())\r
+ {\r
+ bool success;\r
+\r
+ if (enabledToggle.getToggleState())\r
+ success = bus->enable();\r
+ else\r
+ success = bus->setCurrentLayout (AudioChannelSet::disabled());\r
+\r
+ if (success)\r
+ {\r
+ updateBusLayout();\r
+\r
+ if (InputOutputConfig* config = owner.getConfig (! isInput))\r
+ config->updateBusLayout();\r
+\r
+ owner.update();\r
+ }\r
+ else\r
+ {\r
+ enabledToggle.setToggleState (! enabledToggle.getToggleState(),\r
+ NotificationType::dontSendNotification);\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ //==============================================================================\r
+ void addColumn() override\r
+ {\r
+ if (AudioProcessor* filter = owner.getAudioProcessor())\r
+ {\r
+ if (filter->canAddBus (isInput))\r
+ {\r
+ if (filter->addBus (isInput))\r
+ {\r
+ updateBusButtons();\r
+ updateBusLayout();\r
+\r
+ if (InputOutputConfig* config = owner.getConfig (! isInput))\r
+ {\r
+ config->updateBusButtons();\r
+ config->updateBusLayout();\r
+ }\r
+\r
+ owner.update();\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ void removeColumn() override\r
+ {\r
+ if (AudioProcessor* filter = owner.getAudioProcessor())\r
+ {\r
+ if (filter->getBusCount (isInput) > 1 && filter->canRemoveBus (isInput))\r
+ {\r
+ if (filter->removeBus (isInput))\r
+ {\r
+ currentBus = jmin (filter->getBusCount (isInput) - 1, currentBus);\r
+\r
+ updateBusButtons();\r
+ updateBusLayout();\r
+\r
+ if (InputOutputConfig* config = owner.getConfig (! isInput))\r
+ {\r
+ config->updateBusButtons();\r
+ config->updateBusLayout();\r
+ }\r
+\r
+ owner.update();\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ void columnSelected (int columnId) override\r
+ {\r
+ const int newBus = columnId - 1;\r
+ if (currentBus != newBus)\r
+ {\r
+ currentBus = newBus;\r
+ ioBuses.setSelected (currentBus + 1);\r
+ updateBusLayout();\r
+ }\r
+ }\r
+\r
+ //==============================================================================\r
+ FilterIOConfigurationWindow& owner;\r
+ Label ioTitle, nameLabel, name, layoutLabel;\r
+ ToggleButton enabledToggle;\r
+ ComboBox layouts;\r
+ NumberedBoxes ioBuses;\r
+ bool isInput;\r
+ int currentBus;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InputOutputConfig)\r
+};\r
+\r
+\r
+FilterIOConfigurationWindow::FilterIOConfigurationWindow (AudioProcessor* const p)\r
+ : AudioProcessorEditor (p),\r
+ title ("title", p->getName())\r
+{\r
+ jassert (p != nullptr);\r
+ setOpaque (true);\r
+\r
+ title.setFont (title.getFont().withStyle (Font::bold));\r
+ addAndMakeVisible (title);\r
+\r
+ {\r
+ ScopedLock renderLock (p->getCallbackLock());\r
+ p->suspendProcessing (true);\r
+ p->releaseResources();\r
+ }\r
+\r
+ if (p->getBusCount (true) > 0 || p->canAddBus (true))\r
+ addAndMakeVisible (inConfig = new InputOutputConfig (*this, true));\r
+\r
+ if (p->getBusCount (false) > 0 || p->canAddBus (false))\r
+ addAndMakeVisible (outConfig = new InputOutputConfig (*this, false));\r
+\r
+ currentLayout = p->getBusesLayout();\r
+ setSize (400, (inConfig != nullptr && outConfig != nullptr ? 160 : 0) + 200);\r
+}\r
+\r
+FilterIOConfigurationWindow::~FilterIOConfigurationWindow()\r
+{\r
+ if (AudioProcessorGraph* graph = getGraph())\r
+ {\r
+ if (AudioProcessor* p = getAudioProcessor())\r
+ {\r
+ ScopedLock renderLock (graph->getCallbackLock());\r
+\r
+ graph->suspendProcessing (true);\r
+ graph->releaseResources();\r
+\r
+ p->prepareToPlay (graph->getSampleRate(), graph->getBlockSize());\r
+ p->suspendProcessing (false);\r
+\r
+ graph->prepareToPlay (graph->getSampleRate(), graph->getBlockSize());\r
+ graph->suspendProcessing (false);\r
+ }\r
+ }\r
+}\r
+\r
+void FilterIOConfigurationWindow::paint (Graphics& g)\r
+{\r
+ g.fillAll (Colours::white);\r
+}\r
+\r
+void FilterIOConfigurationWindow::resized()\r
+{\r
+ Rectangle<int> r = getLocalBounds().reduced (10);\r
+\r
+ title.setBounds (r.removeFromTop (14));\r
+ r.reduce (10, 0);\r
+\r
+ if (inConfig != nullptr)\r
+ inConfig->setBounds (r.removeFromTop (160));\r
+\r
+ if (outConfig != nullptr)\r
+ outConfig->setBounds (r.removeFromTop (160));\r
+}\r
+\r
+void FilterIOConfigurationWindow::update()\r
+{\r
+ const int32 nodeId = getNodeId();\r
+\r
+ if (AudioProcessorGraph* graph = getGraph())\r
+ if (nodeId != -1)\r
+ graph->disconnectNode (static_cast<uint32> (nodeId));\r
+\r
+ if (GraphDocumentComponent* graphEditor = getGraphEditor())\r
+ if (GraphEditorPanel* panel = graphEditor->graphPanel)\r
+ panel->updateComponents();\r
+}\r
+\r
+int32 FilterIOConfigurationWindow::getNodeId() const\r
+{\r
+ if (AudioProcessorGraph* graph = getGraph())\r
+ {\r
+ const int n = graph->getNumNodes();\r
+\r
+ for (int i = 0; i < n; ++i)\r
+ if (AudioProcessorGraph::Node* node = graph->getNode (i))\r
+ if (node->getProcessor() == getAudioProcessor())\r
+ return static_cast<int32> (node->nodeId);\r
+ }\r
+\r
+ return -1;\r
+}\r
+\r
+MainHostWindow* FilterIOConfigurationWindow::getMainWindow() const\r
+{\r
+ Component* comp;\r
+\r
+ for (int idx = 0; (comp = Desktop::getInstance().getComponent(idx)) != nullptr; ++idx)\r
+ if (MainHostWindow* mainWindow = dynamic_cast<MainHostWindow*> (comp))\r
+ return mainWindow;\r
+\r
+ return nullptr;\r
+}\r
+\r
+GraphDocumentComponent* FilterIOConfigurationWindow::getGraphEditor() const\r
+{\r
+ if (MainHostWindow* mainWindow = getMainWindow())\r
+ {\r
+ if (GraphDocumentComponent* graphEditor = mainWindow->getGraphEditor())\r
+ return graphEditor;\r
+ }\r
+\r
+ return nullptr;\r
+}\r
+\r
+AudioProcessorGraph* FilterIOConfigurationWindow::getGraph() const\r
+{\r
+ if (GraphDocumentComponent* graphEditor = getGraphEditor())\r
+ if (FilterGraph* filterGraph = graphEditor->graph)\r
+ return &filterGraph->getGraph();\r
+\r
+ return nullptr;\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+ */\r
+\r
+#ifndef FILTERIOCONFIGURATION_H_INCLUDED\r
+#define FILTERIOCONFIGURATION_H_INCLUDED\r
+\r
+#include "FilterGraph.h"\r
+\r
+class FilterIOConfigurationWindow : public AudioProcessorEditor\r
+{\r
+public:\r
+ class InputOutputConfig;\r
+\r
+ //==============================================================================\r
+ FilterIOConfigurationWindow (AudioProcessor* const p);\r
+ ~FilterIOConfigurationWindow();\r
+\r
+ //==============================================================================\r
+ void paint (Graphics& g) override;\r
+ void resized() override;\r
+\r
+ //==============================================================================\r
+ InputOutputConfig* getConfig (bool isInput) noexcept { return isInput ? inConfig : outConfig; }\r
+ void update();\r
+private:\r
+\r
+ //==============================================================================\r
+ MainHostWindow* getMainWindow() const;\r
+ GraphDocumentComponent* getGraphEditor() const;\r
+ AudioProcessorGraph* getGraph() const;\r
+ int32 getNodeId() const;\r
+\r
+ //==============================================================================\r
+ friend class InputOutputConfig;\r
+\r
+ AudioProcessor::BusesLayout currentLayout;\r
+ Label title;\r
+ ScopedPointer<InputOutputConfig> inConfig, outConfig;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FilterIOConfigurationWindow)\r
+};\r
+\r
+\r
+#endif // FILTERIOCONFIGURATION_H_INCLUDED\r
#include "GraphEditorPanel.h"\r
#include "InternalFilters.h"\r
#include "MainHostWindow.h"\r
+#include "FilterIOConfiguration.h"\r
\r
\r
//==============================================================================\r
\r
PluginWindow::PluginWindow (Component* const pluginEditor,\r
AudioProcessorGraph::Node* const o,\r
- WindowFormatType t)\r
+ WindowFormatType t,\r
+ AudioProcessorGraph& audioGraph)\r
: DocumentWindow (pluginEditor->getName(), Colours::lightblue,\r
DocumentWindow::minimiseButton | DocumentWindow::closeButton),\r
+ graph (audioGraph),\r
owner (o),\r
type (t)\r
{\r
\r
//==============================================================================\r
PluginWindow* PluginWindow::getWindowFor (AudioProcessorGraph::Node* const node,\r
- WindowFormatType type)\r
+ WindowFormatType type,\r
+ AudioProcessorGraph& audioGraph)\r
{\r
jassert (node != nullptr);\r
\r
ui = new GenericAudioProcessorEditor (processor);\r
else if (type == Programs)\r
ui = new ProgramAudioProcessorEditor (processor);\r
+ else if (type == AudioIO)\r
+ ui = new FilterIOConfigurationWindow (processor);\r
}\r
\r
if (ui != nullptr)\r
if (AudioPluginInstance* const plugin = dynamic_cast<AudioPluginInstance*> (processor))\r
ui->setName (plugin->getName());\r
\r
- return new PluginWindow (ui, node, type);\r
+ return new PluginWindow (ui, node, type, audioGraph);\r
}\r
\r
return nullptr;\r
: filterID (filterID_),\r
index (index_),\r
isInput (isInput_),\r
+ busIdx (0),\r
graph (graph_)\r
{\r
if (const AudioProcessorGraph::Node::Ptr node = graph.getNodeForId (filterID_))\r
}\r
else\r
{\r
- const AudioProcessor::AudioBusArrangement& busArrangement = node->getProcessor()->busArrangement;\r
+ const AudioProcessor& processor = *node->getProcessor();\r
\r
- const Array<AudioProcessor::AudioProcessorBus>& buses = isInput ? busArrangement.inputBuses\r
- : busArrangement.outputBuses;\r
+ int channel;\r
+ channel = processor.getOffsetInBusBufferForAbsoluteChannelIndex (isInput, index, busIdx);\r
\r
- if (buses.size() > 0)\r
- tip = AudioChannelSet::getChannelTypeName (buses.getReference(0).channels.getTypeOfChannel (index));\r
+ if (const AudioProcessor::Bus* bus = processor.getBus (isInput, busIdx))\r
+ tip = bus->getName() + String (": ")\r
+ + AudioChannelSet::getAbbreviatedChannelTypeName (bus->getCurrentLayout().getTypeOfChannel (channel));\r
+ else\r
+ tip = (isInput ? "Main Input: "\r
+ : "Main Output: ") + String (index + 1);\r
\r
- if (tip.isEmpty())\r
- tip = (isInput ? "Input "\r
- : "Output ") + String (index + 1);\r
}\r
\r
setTooltip (tip);\r
\r
p.addRectangle (w * 0.4f, isInput ? (0.5f * h) : 0.0f, w * 0.2f, h * 0.5f);\r
\r
- g.setColour (index == FilterGraph::midiChannelNumber ? Colours::red : Colours::green);\r
+ Colour colour = (index == FilterGraph::midiChannelNumber ? Colours::red : Colours::green);\r
+\r
+ g.setColour (colour.withRotatedHue (static_cast<float> (busIdx) / 5.0f));\r
g.fillPath (p);\r
}\r
\r
const uint32 filterID;\r
const int index;\r
const bool isInput;\r
+ int busIdx;\r
\r
private:\r
FilterGraph& graph;\r
m.addItem (3, "Show plugin UI");\r
m.addItem (4, "Show all programs");\r
m.addItem (5, "Show all parameters");\r
- m.addItem (6, "Test state save/load");\r
+ m.addSeparator();\r
+ m.addItem (6, "Configure Audio I/O");\r
+ m.addItem (7, "Test state save/load");\r
\r
const int r = m.show();\r
\r
AudioProcessor* const processor = f->getProcessor();\r
jassert (processor != nullptr);\r
\r
- if (r == 6)\r
+ if (r == 7)\r
{\r
MemoryBlock state;\r
processor->getStateInformation (state);\r
{\r
case 4: type = PluginWindow::Programs; break;\r
case 5: type = PluginWindow::Parameters; break;\r
+ case 6: type = PluginWindow::AudioIO; break;\r
\r
default: break;\r
};\r
\r
- if (PluginWindow* const w = PluginWindow::getWindowFor (f, type))\r
+ if (PluginWindow* const w = PluginWindow::getWindowFor (f, type, graph.getGraph()))\r
w->toFront (true);\r
}\r
}\r
else if (e.getNumberOfClicks() == 2)\r
{\r
if (const AudioProcessorGraph::Node::Ptr f = graph.getNodeForId (filterID))\r
- if (PluginWindow* const w = PluginWindow::getWindowFor (f, PluginWindow::Normal))\r
+ if (PluginWindow* const w = PluginWindow::getWindowFor (f, PluginWindow::Normal, graph.getGraph()))\r
w->toFront (true);\r
}\r
}\r
\r
void resized() override\r
{\r
- for (int i = 0; i < getNumChildComponents(); ++i)\r
+ if (AudioProcessorGraph::Node::Ptr f = graph.getNodeForId (filterID))\r
{\r
- if (PinComponent* const pc = dynamic_cast<PinComponent*> (getChildComponent(i)))\r
+ if (AudioProcessor* const processor = f->getProcessor())\r
{\r
- const int total = pc->isInput ? numIns : numOuts;\r
- const int index = pc->index == FilterGraph::midiChannelNumber ? (total - 1) : pc->index;\r
+ for (int i = 0; i < getNumChildComponents(); ++i)\r
+ {\r
+ if (PinComponent* const pc = dynamic_cast<PinComponent*> (getChildComponent(i)))\r
+ {\r
+ const bool isInput = pc->isInput;\r
+ int busIdx, channelIdx;\r
\r
- pc->setBounds (proportionOfWidth ((1 + index) / (total + 1.0f)) - pinSize / 2,\r
- pc->isInput ? 0 : (getHeight() - pinSize),\r
- pinSize, pinSize);\r
+ channelIdx =\r
+ processor->getOffsetInBusBufferForAbsoluteChannelIndex (isInput, pc->index, busIdx);\r
+\r
+ const int total = isInput ? numIns : numOuts;\r
+ const int index = pc->index == FilterGraph::midiChannelNumber ? (total - 1) : pc->index;\r
+\r
+ const float totalSpaces = static_cast<float> (total) + (static_cast<float> (jmax (0, processor->getBusCount (isInput) - 1)) * 0.5f);\r
+ const float indexPos = static_cast<float> (index) + (static_cast<float> (busIdx) * 0.5f);\r
+\r
+ pc->setBounds (proportionOfWidth ((1.0f + indexPos) / (totalSpaces + 1.0f)) - pinSize / 2,\r
+ pc->isInput ? 0 : (getHeight() - pinSize),\r
+ pinSize, pinSize);\r
+ }\r
+ }\r
}\r
}\r
}\r
return;\r
}\r
\r
- numIns = f->getProcessor()->getMainBusNumInputChannels();\r
+ numIns = f->getProcessor()->getTotalNumInputChannels();\r
if (f->getProcessor()->acceptsMidi())\r
++numIns;\r
\r
- numOuts = f->getProcessor()->getMainBusNumOutputChannels();\r
+ numOuts = f->getProcessor()->getTotalNumOutputChannels();\r
if (f->getProcessor()->producesMidi())\r
++numOuts;\r
\r
deleteAllChildren();\r
\r
int i;\r
- for (i = 0; i < f->getProcessor()->getMainBusNumInputChannels(); ++i)\r
+ for (i = 0; i < f->getProcessor()->getTotalNumInputChannels(); ++i)\r
addAndMakeVisible (new PinComponent (graph, filterID, i, true));\r
\r
if (f->getProcessor()->acceptsMidi())\r
addAndMakeVisible (new PinComponent (graph, filterID, FilterGraph::midiChannelNumber, true));\r
\r
- for (i = 0; i < f->getProcessor()->getMainBusNumOutputChannels(); ++i)\r
+ for (i = 0; i < f->getProcessor()->getTotalNumOutputChannels(); ++i)\r
addAndMakeVisible (new PinComponent (graph, filterID, i, false));\r
\r
if (f->getProcessor()->producesMidi())\r
AudioProcessorPlayer graphPlayer;\r
MidiKeyboardState keyState;\r
\r
+public:\r
GraphEditorPanel* graphPanel;\r
+\r
+private:\r
Component* keyboardComp;\r
Component* statusBar;\r
\r
Generic,\r
Programs,\r
Parameters,\r
+ AudioIO,\r
NumTypes\r
};\r
\r
- PluginWindow (Component* pluginEditor, AudioProcessorGraph::Node*, WindowFormatType);\r
+ PluginWindow (Component* pluginEditor, AudioProcessorGraph::Node*, WindowFormatType, AudioProcessorGraph&);\r
~PluginWindow();\r
\r
- static PluginWindow* getWindowFor (AudioProcessorGraph::Node*, WindowFormatType);\r
+ static PluginWindow* getWindowFor (AudioProcessorGraph::Node*, WindowFormatType, AudioProcessorGraph&);\r
\r
static void closeCurrentlyOpenWindowsFor (const uint32 nodeId);\r
static void closeAllCurrentlyOpenWindows();\r
void closeButtonPressed() override;\r
\r
private:\r
+ AudioProcessorGraph& graph;\r
AudioProcessorGraph::Node* owner;\r
WindowFormatType type;\r
\r
\r
<JUCERPROJECT id="AKfc5m" name="AudioPerformanceTest" projectType="guiapp"\r
version="1.0.0" bundleIdentifier="com.juce.AudioPerformanceTest"\r
- includeBinaryInAppConfig="1" jucerVersion="4.2.4">\r
+ includeBinaryInAppConfig="1" jucerVersion="4.3.0">\r
<MAINGROUP id="b1eVTe" name="AudioPerformanceTest">\r
<GROUP id="{AB66118C-9D88-1C3A-D95C-42892D828E4B}" name="Source">\r
<FILE id="SqGU9p" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>\r
7D6AEBA4AD90EC541711C680 = {isa = PBXBuildFile; fileRef = 70D0CB56D167630AB1912B0B; };
5144E6127912F3BAE3E6CCC8 = {isa = PBXBuildFile; fileRef = C4B5CF7830AAA69A7E9A12C2; };
0074C214F900501DFE1595DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
+ 008293C9C2A486BC561590B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
00B3EB5421ADC0A47CE075CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
012D15DF2BF8C2A8D78BBCB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
014DFF3FB0FDC135308C6E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- 01A4B617EA0597B206DCF8EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
01A829E9DEA5A0EF38D602AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; };
01C80A9FE3E329557A47B805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
0237CD1164BCA5B4E670C8E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; };
0245FDA8CC461E9B127C78C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; };
02AEF119DAE26DD4377CF71A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; };
02EB0ED6B77472A4FCFFBA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
- 034E7453A74EABC222A41A79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
035A7C1007632AA97B3529A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
035DDB4D18E65692DB8E6E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; };
0384DEB6A07A2E9D89F7D1D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
0EF073B785B39E125D870A19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; };
0F1DE6A679F43ABFE421EE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
0F8B72901197C072D8A251C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
+ 0F9B5AA7D335F478D0D4E27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
106C967892E555BACA1CBA84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
109334022834C066626A9B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; };
10D3D9E820330B4B1A0BBA94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
12C680C68A15B9A590264B18 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
12D5247115B5E1E84191DE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
12EB34780425AA36FE1DC245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
- 12ED958D3515DDC17E799069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
1319902A86F0CFB586000874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; };
133E18FB3B6527A6F52765BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
135928C66EE16C7492632ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; };
2041B8796B90FEDB95078CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
205ADC8CC71D24C402FF2B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
206E356909BCD419F0227EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
- 208C4054409C79403B243A5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
210267A63B6A116B12EEA4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
210EB9B831928D624AE206CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
21BCE5884162A97546632579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
24D257A12D67B90281563F49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_core/containers/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; };
24EA9C07A83DC5806DE5AFA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
24F347645D513C30E1123176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; };
- 25172C328483B5E3B5CE98C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
253A664F26DF025980A1B7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
2540AED5BA43C7271F857F45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
258844F8716360A9253F29C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; };
2589398BE0711F5A44669EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; };
+ 258A83BC0AA92808CAFFE4A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
258C0F0E4C520517F02BB1A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; };
258F21663E397877675E9E7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
25BAE9C3274FCB9B18BA8CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
25EEF84280B5F3EA7326C500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
25F3117D7C70C9C3232AC4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 261A44B01EA2B7DAF0BFFE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
26256BDC3ADD6959CE1C407D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; };
268C2DD7A5086C06C48AE554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
26D06882123226836ADE4CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; };
2C22B4DA114E482B23796BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
2CC7B66A627E070BFA76CEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; };
2CC92A99C7844EF5FB57D59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; };
- 2CF5D92890121EE3A9DDE043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
2D21CD49127EDB94ABBF55BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; };
- 2D32B472E16741F9238FC28A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
2D9D7B0B9A11492FD8495FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; };
2E09645AF3BD530AE2F4DFDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
2E1707957B3A71C40A6F1F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
35D58A1347E7CC7089D2AD12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
362C86206432CC5C84EFBB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
36A22D2BE15728117A7DEDD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 36C50D5F676E532785B72880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
36D7CF7F39DA551F46CE799C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; };
3713B247A275EEEB9B652EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; };
374CF3F673D1531ED15AB53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
52EF8B186F54CBA4B001FEC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
52FFB30B59CE07A3D9065649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
534E6D1CF198BEAE77022FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 53565276E79B7C8BE5D52B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
53EA28A33DA374C82A64CF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; };
53EFA64C90C33873A3781E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
548925C0C47E873AD639FE55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
6760F9B20993C2913615D62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; };
6788C449954B63D0D4777833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; };
67FCADC2EB97BC70A9D811B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 68339804EE6143C4E30C15EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
68D13E2D9B08BD4A7ACA1303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
693F7FBD5205D2EA1462C99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
6950C104FD807D0B7E6DB812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; };
86E6FB896CF1D678661022E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
880EE63A76B76105861A8508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
8821F4AA705B46FBA4E94B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; };
+ 8885A1C1DB5BC19384235030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
88B183F4F890F4A330C41B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
88B4A6D6D7414567B77AF2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
89021205A4D054ED8FB19640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
89C9BA494E35F165F3EE6C56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
8A2EFC2A1E0E3776BEC1166E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
8A9814BA560F0DC64E58403F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
+ 8AE54A5AD361CEA555312BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
8B3A2BF481E5D8A840D38A8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
8B3F9A7C79AA3D6CAAC11E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
8BD123306A2D1EF7C1D22245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
915E7E2F19B34D7C2817FC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTInterface.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTInterface.h"; sourceTree = "SOURCE_ROOT"; };
9163D3EF55AD0B2B197493EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
917260F53ED8BE9007BBD18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 91A2FA3AC8D96F89AAA848B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
91EA75E4BBE8A87A9618D202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
91F42C2FFCED2524DAC78E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
920A9AC6E84BD8C5F577F300 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
93E9653ABCA391191830B40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
93F257873F26CD7B863C0A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; };
9423EE84AD1D727F1A54C319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
- 9455531514206C9FAD0E0582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
948419EDC66FC6FE3CF9D34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
948915DF1F924C4541081A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
948E6A2F9801318A6BACA604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; };
A8987822AEB05A94888A8B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
A8B10D5403457AC452A79974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
A91240691DCAFDC80A86B252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
- A9195101DAEB146C07DD97B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
A920865BBBF3F798E162D02B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; };
A9618D15D748099F0AE3F2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
A9EAFCAB28E5A0615B7B13E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; };
AA2978CA07499EAB148542E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; };
AA2E4B5C4C6B1164F902721F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; };
AA7C5FBE142FDA49CF98F8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AA811EDFD832810476B97BF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
AAB519EC4A32696EFE753119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; };
AB6971C8443CCD45581FFE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
ABB0DA29DC36D9B5D4A1B0E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; };
BB648AA7052709F97D4A874D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; };
BB9B97EE17846FF5D9FE7338 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
BBF07C581A05714CBD5DF3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- BBF2546E01AB5753F3CFC166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
BC590B8EE8379F286471E441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; };
BCA0899EFE4D4F673DAB9FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; };
BCD0AACFBE72D3B11FEA6C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
D3BB3499A2D0306D01A8F3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; };
D3D4DD7FE5C3AF27D3F58FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
D3DB1C4E8913529248441007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; };
+ D3FCA4FAC19740D41F437F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
D4324C514ABF25BF589F4D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
D4CBCCDAEDCA252F0B18EFB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
D510B6C30B99F0E434C923D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
E1700A08F9EF7F151F30E60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
E1871D3D858086CF673A183A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
E18F04B8EBF4E3AB1362BDC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ E1A487F01ADAB559AEEAF59C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
E1DF3FBEE1DEA8C39D336EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
E26676BD5A6B2C3F0BB2BE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
E271B40EBE7CD08B9BC9DD06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = float.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/float.h"; sourceTree = "SOURCE_ROOT"; };
FD12D972996815663FE91DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
FD26DAE53C7C6BCC9006C7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
FD459D4DC2737E5078BBFD21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
+ FD4A5318094887B477B02588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
FD905113460D6EA444D70D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
FDDAC94C3AB05BFD61CA61A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
FDDD9731C8CD1CD968C96BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
4E2981EC48DBFD725AD8E626 = {isa = PBXGroup; children = (
9F54D12C977843F8FEFCF041, ); name = AudioPerformanceTest; sourceTree = "<group>"; };
AF32DB31A2C3295BC01931A5 = {isa = PBXGroup; children = (
+ 53565276E79B7C8BE5D52B27,
+ 36C50D5F676E532785B72880,
EC4677E8D193A9D892B5CF54,
948E6A2F9801318A6BACA604,
C2386580F272DD8DA717AC5F,
68D13E2D9B08BD4A7ACA1303,
210267A63B6A116B12EEA4D2,
68D13E2D9B08BD4A7ACA1303, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- B8057D839E104AF44DA838FC = {isa = PBXGroup; children = (
- A9195101DAEB146C07DD97B7,
- 01A4B617EA0597B206DCF8EF,
- BBF2546E01AB5753F3CFC166, ); name = "audio_cd"; sourceTree = "<group>"; };
- F611F673DB94C9ECDBAA990B = {isa = PBXGroup; children = (
+ 8B53B5E27A3B59CE392F3210 = {isa = PBXGroup; children = (
4DC5892113DCC74FF9C2221B,
4B223BE03B161EC55F06A8CD,
67227017A993DC10991AFF59,
E7EB024409B9DEC37BD8D754,
8042077CBB3B876988394E42,
BCD0AACFBE72D3B11FEA6C7D, ); name = "audio_io"; sourceTree = "<group>"; };
- FB703B855F514CFEF5204BBB = {isa = PBXGroup; children = (
+ 1049E8F6A808A6F6148AC1C5 = {isa = PBXGroup; children = (
A76E706A649469B7EE53B6B9,
2335BE9EABE76A9CE1A36942,
6347424185D8863263EEC3D2,
90BCC51EEB48DE909139B357,
035A7C1007632AA97B3529A1,
F67C1BF09F2B3CCFF02C24F6,
- 2D32B472E16741F9238FC28A,
25F3117D7C70C9C3232AC4FC,
92A08DAD1AB84B6AEA3A186B,
- 12ED958D3515DDC17E799069,
- 208C4054409C79403B243A5E,
22E3F6B9DDFD03BD6A370215,
16243DDF5E3AB5A10A8A2BC4,
F192469D119B30470860D0B4,
06875F947CD23FBF85B3C92F,
- 9455531514206C9FAD0E0582,
- 25172C328483B5E3B5CE98C5,
1DDC6D7570A00F8953FE5D4C,
70168B0928AC533A7A382FAA,
EC1BE55B8ACFD3CC5710B0DD, ); name = native; sourceTree = "<group>"; };
- F1FC73052723D9A4241A2C63 = {isa = PBXGroup; children = (
+ 02C36FB3337EDCF3905A6FD8 = {isa = PBXGroup; children = (
3893090992F41B8C2319B043,
98CE9C68EA30EC98C4461E11,
0C3FA548837CFC7413AD19DD,
40B50860F40E23FE342878E3, ); name = sources; sourceTree = "<group>"; };
C69D55E0340A2960D86B9779 = {isa = PBXGroup; children = (
- B8057D839E104AF44DA838FC,
- F611F673DB94C9ECDBAA990B,
- FB703B855F514CFEF5204BBB,
+ 8B53B5E27A3B59CE392F3210,
+ 1049E8F6A808A6F6148AC1C5,
05CC3717B0D2656095500E50,
- F1FC73052723D9A4241A2C63,
+ 02C36FB3337EDCF3905A6FD8,
47B912490FE5F913DE48D285,
FF467611D066C9EA28C89B1A,
23750FB9BDD75177C64F9AF9,
0237CD1164BCA5B4E670C8E3,
5DBE129199F61C74A5CCB575,
0237CD1164BCA5B4E670C8E3, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- D62926A63A5E7AB2D6F09F3C = {isa = PBXGroup; children = (
+ D58CE4A2A3F6008B38AB3D9C = {isa = PBXGroup; children = (
5222344B220646AB6EE56F3B,
56D5DA60AEFC0EAAC929A163,
F828FBBE22188E0819D5655F,
FF8DA2206EFE4F5CAAC6DF9B, ); name = format; sourceTree = "<group>"; };
- 6148F6E0CD8940FED55C6C34 = {isa = PBXGroup; children = (
+ F0E2424876D69CF10A516CFE = {isa = PBXGroup; children = (
+ 008293C9C2A486BC561590B5,
391774514515C9FC87A3C6F6,
BCA0899EFE4D4F673DAB9FC1,
62FA9E776551B423E6B3F379,
3DC079D7D7EFDF308DC44D4F,
A5EF5FDF979BC1FF68D3EA33,
8F9FE852D4F12052C098EECE,
+ 91A2FA3AC8D96F89AAA848B7,
915E7E2F19B34D7C2817FC67,
45333ACAF454F661FC30924E,
123831F52D2C1E9A68B75613,
B8B0992FEC384EAE2FC83B39, ); name = "format_types"; sourceTree = "<group>"; };
- C85244C2685D373E286C1CBB = {isa = PBXGroup; children = (
- 2CF5D92890121EE3A9DDE043,
- 034E7453A74EABC222A41A79,
+ F2EA58E32D8F94862DAB122F = {isa = PBXGroup; children = (
E2C7D05E6D7964D2381EB883,
B724FA711D3E1CF40F3476CA,
F27663B1521AE9B2838E0306,
3AC2629D782CFE655ACD6C65,
3713B247A275EEEB9B652EC8, ); name = utilities; sourceTree = "<group>"; };
BECEC234765DCB2A1916AF07 = {isa = PBXGroup; children = (
- D62926A63A5E7AB2D6F09F3C,
- 6148F6E0CD8940FED55C6C34,
- C85244C2685D373E286C1CBB,
+ D58CE4A2A3F6008B38AB3D9C,
+ F0E2424876D69CF10A516CFE,
+ F2EA58E32D8F94862DAB122F,
1A159268BDE54C8019CA51DF,
6FA59793599F883A73C24E98,
8929A374F1046A91D08C5504,
4DFD997E7F702C64C63A6D4F,
958486C51C2FDFD3734B281C,
4DFD997E7F702C64C63A6D4F, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ 9EB17DC028FB2BE3BD9ED5B2 = {isa = PBXGroup; children = (
+ AA811EDFD832810476B97BF5,
+ 261A44B01EA2B7DAF0BFFE95,
+ 0F9B5AA7D335F478D0D4E27B, ); name = "audio_cd"; sourceTree = "<group>"; };
7748404D21E6E8B500D4CDA2 = {isa = PBXGroup; children = (
FEF01BDC64048ADAC8FBF791,
C0EE1D9B98C8AD2A1D605827,
D931EB7077ACAF1A97847088 = {isa = PBXGroup; children = (
98B3E514464A269121E203DA,
4C6BB183E191BFA82A1AA237,
+ E1A487F01ADAB559AEEAF59C,
6EB796353187279DE4E47BD0,
+ 258A83BC0AA92808CAFFE4A5,
+ 68339804EE6143C4E30C15EA,
0D114F1D47457A91C806FCBA,
- 5F36515D94A9F80D32BAF9E4, ); name = native; sourceTree = "<group>"; };
- 8EF92B66CFB537E97C06CE82 = {isa = PBXGroup; children = (
+ 5F36515D94A9F80D32BAF9E4,
+ FD4A5318094887B477B02588,
+ 8AE54A5AD361CEA555312BC6, ); name = native; sourceTree = "<group>"; };
+ F9B55DBA29406FCFBB3BB3A9 = {isa = PBXGroup; children = (
389D048419931AB624A374C2,
- DE4546899B5678F164D13F52, ); name = players; sourceTree = "<group>"; };
+ DE4546899B5678F164D13F52,
+ D3FCA4FAC19740D41F437F82,
+ 8885A1C1DB5BC19384235030, ); name = players; sourceTree = "<group>"; };
F0B729F57D59F6E7F7109036 = {isa = PBXGroup; children = (
+ 9EB17DC028FB2BE3BD9ED5B2,
7748404D21E6E8B500D4CDA2,
D931EB7077ACAF1A97847088,
- 8EF92B66CFB537E97C06CE82,
+ F9B55DBA29406FCFBB3BB3A9,
949C18982D04A8743EA86E78,
9AC277673AEAAC17ED5F35B9,
10D3D9E820330B4B1A0BBA94,
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\..\Source\MainComponent.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>AudioPerformanceTest\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\MainComponent.h">\r
<Filter>AudioPerformanceTest\Source</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
7D6AEBA4AD90EC541711C680 = {isa = PBXBuildFile; fileRef = 70D0CB56D167630AB1912B0B; };
5144E6127912F3BAE3E6CCC8 = {isa = PBXBuildFile; fileRef = C4B5CF7830AAA69A7E9A12C2; };
0074C214F900501DFE1595DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "setup_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/setup_16.h"; sourceTree = "SOURCE_ROOT"; };
+ 008293C9C2A486BC561590B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
00B3EB5421ADC0A47CE075CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; };
012D15DF2BF8C2A8D78BBCB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; };
014DFF3FB0FDC135308C6E21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- 01A4B617EA0597B206DCF8EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
01A829E9DEA5A0EF38D602AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; };
01C80A9FE3E329557A47B805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
0237CD1164BCA5B4E670C8E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; };
0245FDA8CC461E9B127C78C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; };
02AEF119DAE26DD4377CF71A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; };
02EB0ED6B77472A4FCFFBA2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; };
- 034E7453A74EABC222A41A79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
035A7C1007632AA97B3529A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; };
035DDB4D18E65692DB8E6E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcparam.c"; sourceTree = "SOURCE_ROOT"; };
0384DEB6A07A2E9D89F7D1D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; };
0EF073B785B39E125D870A19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; };
0F1DE6A679F43ABFE421EE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; };
0F8B72901197C072D8A251C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; };
+ 0F9B5AA7D335F478D0D4E27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
106C967892E555BACA1CBA84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = block.c; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/block.c"; sourceTree = "SOURCE_ROOT"; };
109334022834C066626A9B1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; };
10D3D9E820330B4B1A0BBA94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; };
12C680C68A15B9A590264B18 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
12D5247115B5E1E84191DE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
12EB34780425AA36FE1DC245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; };
- 12ED958D3515DDC17E799069 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
1319902A86F0CFB586000874 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; };
133E18FB3B6527A6F52765BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; };
135928C66EE16C7492632ED9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; };
2041B8796B90FEDB95078CA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
205ADC8CC71D24C402FF2B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; };
206E356909BCD419F0227EAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; };
- 208C4054409C79403B243A5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
210267A63B6A116B12EEA4D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; };
210EB9B831928D624AE206CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; };
21BCE5884162A97546632579 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrutil.c"; sourceTree = "SOURCE_ROOT"; };
24D90B40648CC05A9B1AA55B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; };
24EA9C07A83DC5806DE5AFA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
24F347645D513C30E1123176 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcmarker.c"; sourceTree = "SOURCE_ROOT"; };
- 25172C328483B5E3B5CE98C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
253A664F26DF025980A1B7C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jccolor.c"; sourceTree = "SOURCE_ROOT"; };
2540AED5BA43C7271F857F45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
258844F8716360A9253F29C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; };
2589398BE0711F5A44669EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; };
+ 258A83BC0AA92808CAFFE4A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
258C0F0E4C520517F02BB1A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; };
258F21663E397877675E9E7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; };
25BAE9C3274FCB9B18BA8CE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; };
25EEF84280B5F3EA7326C500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; };
25F3117D7C70C9C3232AC4FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 261A44B01EA2B7DAF0BFFE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
26256BDC3ADD6959CE1C407D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; };
268C2DD7A5086C06C48AE554 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; };
26D06882123226836ADE4CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; };
2C22B4DA114E482B23796BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; };
2CC7B66A627E070BFA76CEDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; };
2CC92A99C7844EF5FB57D59A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; };
- 2CF5D92890121EE3A9DDE043 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
2D21CD49127EDB94ABBF55BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; };
- 2D32B472E16741F9238FC28A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
2D9D7B0B9A11492FD8495FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FFT.h"; path = "../../../../modules/juce_audio_basics/effects/juce_FFT.h"; sourceTree = "SOURCE_ROOT"; };
2E09645AF3BD530AE2F4DFDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; };
2E1707957B3A71C40A6F1F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; };
35D58A1347E7CC7089D2AD12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
362C86206432CC5C84EFBB20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
36A22D2BE15728117A7DEDD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 36C50D5F676E532785B72880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
36D7CF7F39DA551F46CE799C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = trees.c; path = "../../../../modules/juce_core/zip/zlib/trees.c"; sourceTree = "SOURCE_ROOT"; };
3713B247A275EEEB9B652EC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorValueTreeState.h"; path = "../../../../modules/juce_audio_processors/utilities/juce_AudioProcessorValueTreeState.h"; sourceTree = "SOURCE_ROOT"; };
374CF3F673D1531ED15AB53D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
52EF8B186F54CBA4B001FEC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MPESynthesiserVoice.h"; path = "../../../../modules/juce_audio_basics/mpe/juce_MPESynthesiserVoice.h"; sourceTree = "SOURCE_ROOT"; };
52FFB30B59CE07A3D9065649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/format.h"; sourceTree = "SOURCE_ROOT"; };
534E6D1CF198BEAE77022FF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 53565276E79B7C8BE5D52B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
53EA28A33DA374C82A64CF18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = all.h; path = "../../../../modules/juce_audio_formats/codecs/flac/all.h"; sourceTree = "SOURCE_ROOT"; };
53EFA64C90C33873A3781E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
548925C0C47E873AD639FE55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; };
6760F9B20993C2913615D62B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; };
6788C449954B63D0D4777833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_16.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_16.h"; sourceTree = "SOURCE_ROOT"; };
67FCADC2EB97BC70A9D811B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; };
+ 68339804EE6143C4E30C15EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_utils/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
68D13E2D9B08BD4A7ACA1303 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; };
693F7FBD5205D2EA1462C99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = inflate.c; path = "../../../../modules/juce_core/zip/zlib/inflate.c"; sourceTree = "SOURCE_ROOT"; };
6950C104FD807D0B7E6DB812 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; };
86E6FB896CF1D678661022E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
880EE63A76B76105861A8508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = transupp.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/transupp.h"; sourceTree = "SOURCE_ROOT"; };
8821F4AA705B46FBA4E94B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; };
+ 8885A1C1DB5BC19384235030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SoundPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.h"; sourceTree = "SOURCE_ROOT"; };
88B183F4F890F4A330C41B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; };
88B4A6D6D7414567B77AF2B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CachedValue.cpp"; path = "../../../../modules/juce_data_structures/values/juce_CachedValue.cpp"; sourceTree = "SOURCE_ROOT"; };
89021205A4D054ED8FB19640 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; };
89C9BA494E35F165F3EE6C56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/private/window.h"; sourceTree = "SOURCE_ROOT"; };
8A2EFC2A1E0E3776BEC1166E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; };
8A9814BA560F0DC64E58403F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; };
+ 8AE54A5AD361CEA555312BC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
8B3A2BF481E5D8A840D38A8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; };
8B3F9A7C79AA3D6CAAC11E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RuntimePermissions.h"; path = "../../../../modules/juce_core/misc/juce_RuntimePermissions.h"; sourceTree = "SOURCE_ROOT"; };
8BD123306A2D1EF7C1D22245 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; };
915E7E2F19B34D7C2817FC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTInterface.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTInterface.h"; sourceTree = "SOURCE_ROOT"; };
9163D3EF55AD0B2B197493EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jidctflt.c"; sourceTree = "SOURCE_ROOT"; };
917260F53ED8BE9007BBD18A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jddctmgr.c"; sourceTree = "SOURCE_ROOT"; };
+ 91A2FA3AC8D96F89AAA848B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
91EA75E4BBE8A87A9618D202 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
91F42C2FFCED2524DAC78E4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; };
920A9AC6E84BD8C5F577F300 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
93E9653ABCA391191830B40A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; };
93F257873F26CD7B863C0A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; };
9423EE84AD1D727F1A54C319 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; };
- 9455531514206C9FAD0E0582 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
948419EDC66FC6FE3CF9D34B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
948915DF1F924C4541081A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; };
948E6A2F9801318A6BACA604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; };
A8987822AEB05A94888A8B3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; };
A8B10D5403457AC452A79974 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
A91240691DCAFDC80A86B252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; };
- A9195101DAEB146C07DD97B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
A920865BBBF3F798E162D02B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; };
A9618D15D748099F0AE3F2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = bitrate.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/bitrate.h"; sourceTree = "SOURCE_ROOT"; };
A9EAFCAB28E5A0615B7B13E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; };
AA2978CA07499EAB148542E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; };
AA2E4B5C4C6B1164F902721F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; };
AA7C5FBE142FDA49CF98F8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; };
+ AA811EDFD832810476B97BF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_utils/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
AAB519EC4A32696EFE753119 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngset.c"; sourceTree = "SOURCE_ROOT"; };
AB6971C8443CCD45581FFE27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; };
ABB0DA29DC36D9B5D4A1B0E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; };
BB648AA7052709F97D4A874D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_44p51.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_44p51.h"; sourceTree = "SOURCE_ROOT"; };
BB9B97EE17846FF5D9FE7338 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
BBF07C581A05714CBD5DF3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
- BBF2546E01AB5753F3CFC166 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
BC590B8EE8379F286471E441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jmemnobs.c"; sourceTree = "SOURCE_ROOT"; };
BCA0899EFE4D4F673DAB9FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; };
BCD0AACFBE72D3B11FEA6C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; };
D3BB3499A2D0306D01A8F3BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; };
D3D4DD7FE5C3AF27D3F58FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; };
D3DB1C4E8913529248441007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = "stream_encoder_framing.c"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/stream_encoder_framing.c"; sourceTree = "SOURCE_ROOT"; };
+ D3FCA4FAC19740D41F437F82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SoundPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_SoundPlayer.cpp"; sourceTree = "SOURCE_ROOT"; };
D4324C514ABF25BF589F4D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = trees.h; path = "../../../../modules/juce_core/zip/zlib/trees.h"; sourceTree = "SOURCE_ROOT"; };
D4CBCCDAEDCA252F0B18EFB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; };
D510B6C30B99F0E434C923D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; };
E1700A08F9EF7F151F30E60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jchuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jchuff.h"; sourceTree = "SOURCE_ROOT"; };
E1871D3D858086CF673A183A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; };
E18F04B8EBF4E3AB1362BDC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../JuceLibraryCode/juce_core.mm"; sourceTree = "SOURCE_ROOT"; };
+ E1A487F01ADAB559AEEAF59C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
E1BB9D521BF6C055F5B88628 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
E1DF3FBEE1DEA8C39D336EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jfdctint.c"; sourceTree = "SOURCE_ROOT"; };
E26676BD5A6B2C3F0BB2BE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; };
FD12D972996815663FE91DAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; };
FD26DAE53C7C6BCC9006C7AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; };
FD459D4DC2737E5078BBFD21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "residue_8.h"; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/modes/residue_8.h"; sourceTree = "SOURCE_ROOT"; };
+ FD4A5318094887B477B02588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_utils/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
FD905113460D6EA444D70D28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; };
FDDAC94C3AB05BFD61CA61A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; };
FDDD9731C8CD1CD968C96BF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
4E2981EC48DBFD725AD8E626 = {isa = PBXGroup; children = (
9F54D12C977843F8FEFCF041, ); name = AudioPerformanceTest; sourceTree = "<group>"; };
AF32DB31A2C3295BC01931A5 = {isa = PBXGroup; children = (
+ 53565276E79B7C8BE5D52B27,
+ 36C50D5F676E532785B72880,
EC4677E8D193A9D892B5CF54,
948E6A2F9801318A6BACA604,
C2386580F272DD8DA717AC5F,
68D13E2D9B08BD4A7ACA1303,
210267A63B6A116B12EEA4D2,
68D13E2D9B08BD4A7ACA1303, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- B8057D839E104AF44DA838FC = {isa = PBXGroup; children = (
- A9195101DAEB146C07DD97B7,
- 01A4B617EA0597B206DCF8EF,
- BBF2546E01AB5753F3CFC166, ); name = "audio_cd"; sourceTree = "<group>"; };
- F611F673DB94C9ECDBAA990B = {isa = PBXGroup; children = (
+ 8B53B5E27A3B59CE392F3210 = {isa = PBXGroup; children = (
4DC5892113DCC74FF9C2221B,
4B223BE03B161EC55F06A8CD,
67227017A993DC10991AFF59,
E7EB024409B9DEC37BD8D754,
8042077CBB3B876988394E42,
BCD0AACFBE72D3B11FEA6C7D, ); name = "audio_io"; sourceTree = "<group>"; };
- FB703B855F514CFEF5204BBB = {isa = PBXGroup; children = (
+ 1049E8F6A808A6F6148AC1C5 = {isa = PBXGroup; children = (
A76E706A649469B7EE53B6B9,
2335BE9EABE76A9CE1A36942,
6347424185D8863263EEC3D2,
90BCC51EEB48DE909139B357,
035A7C1007632AA97B3529A1,
F67C1BF09F2B3CCFF02C24F6,
- 2D32B472E16741F9238FC28A,
25F3117D7C70C9C3232AC4FC,
92A08DAD1AB84B6AEA3A186B,
- 12ED958D3515DDC17E799069,
- 208C4054409C79403B243A5E,
22E3F6B9DDFD03BD6A370215,
16243DDF5E3AB5A10A8A2BC4,
F192469D119B30470860D0B4,
06875F947CD23FBF85B3C92F,
- 9455531514206C9FAD0E0582,
- 25172C328483B5E3B5CE98C5,
1DDC6D7570A00F8953FE5D4C,
70168B0928AC533A7A382FAA,
EC1BE55B8ACFD3CC5710B0DD, ); name = native; sourceTree = "<group>"; };
- F1FC73052723D9A4241A2C63 = {isa = PBXGroup; children = (
+ 02C36FB3337EDCF3905A6FD8 = {isa = PBXGroup; children = (
3893090992F41B8C2319B043,
98CE9C68EA30EC98C4461E11,
0C3FA548837CFC7413AD19DD,
40B50860F40E23FE342878E3, ); name = sources; sourceTree = "<group>"; };
C69D55E0340A2960D86B9779 = {isa = PBXGroup; children = (
- B8057D839E104AF44DA838FC,
- F611F673DB94C9ECDBAA990B,
- FB703B855F514CFEF5204BBB,
+ 8B53B5E27A3B59CE392F3210,
+ 1049E8F6A808A6F6148AC1C5,
05CC3717B0D2656095500E50,
- F1FC73052723D9A4241A2C63,
+ 02C36FB3337EDCF3905A6FD8,
47B912490FE5F913DE48D285,
FF467611D066C9EA28C89B1A,
23750FB9BDD75177C64F9AF9,
0237CD1164BCA5B4E670C8E3,
5DBE129199F61C74A5CCB575,
0237CD1164BCA5B4E670C8E3, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- D62926A63A5E7AB2D6F09F3C = {isa = PBXGroup; children = (
+ D58CE4A2A3F6008B38AB3D9C = {isa = PBXGroup; children = (
5222344B220646AB6EE56F3B,
56D5DA60AEFC0EAAC929A163,
F828FBBE22188E0819D5655F,
FF8DA2206EFE4F5CAAC6DF9B, ); name = format; sourceTree = "<group>"; };
- 6148F6E0CD8940FED55C6C34 = {isa = PBXGroup; children = (
+ F0E2424876D69CF10A516CFE = {isa = PBXGroup; children = (
+ 008293C9C2A486BC561590B5,
391774514515C9FC87A3C6F6,
BCA0899EFE4D4F673DAB9FC1,
62FA9E776551B423E6B3F379,
3DC079D7D7EFDF308DC44D4F,
A5EF5FDF979BC1FF68D3EA33,
8F9FE852D4F12052C098EECE,
+ 91A2FA3AC8D96F89AAA848B7,
915E7E2F19B34D7C2817FC67,
45333ACAF454F661FC30924E,
123831F52D2C1E9A68B75613,
B8B0992FEC384EAE2FC83B39, ); name = "format_types"; sourceTree = "<group>"; };
- C85244C2685D373E286C1CBB = {isa = PBXGroup; children = (
- 2CF5D92890121EE3A9DDE043,
- 034E7453A74EABC222A41A79,
+ F2EA58E32D8F94862DAB122F = {isa = PBXGroup; children = (
E2C7D05E6D7964D2381EB883,
B724FA711D3E1CF40F3476CA,
F27663B1521AE9B2838E0306,
3AC2629D782CFE655ACD6C65,
3713B247A275EEEB9B652EC8, ); name = utilities; sourceTree = "<group>"; };
BECEC234765DCB2A1916AF07 = {isa = PBXGroup; children = (
- D62926A63A5E7AB2D6F09F3C,
- 6148F6E0CD8940FED55C6C34,
- C85244C2685D373E286C1CBB,
+ D58CE4A2A3F6008B38AB3D9C,
+ F0E2424876D69CF10A516CFE,
+ F2EA58E32D8F94862DAB122F,
1A159268BDE54C8019CA51DF,
6FA59793599F883A73C24E98,
8929A374F1046A91D08C5504,
4DFD997E7F702C64C63A6D4F,
958486C51C2FDFD3734B281C,
4DFD997E7F702C64C63A6D4F, ); name = "juce_audio_processors"; sourceTree = "<group>"; };
+ 9EB17DC028FB2BE3BD9ED5B2 = {isa = PBXGroup; children = (
+ AA811EDFD832810476B97BF5,
+ 261A44B01EA2B7DAF0BFFE95,
+ 0F9B5AA7D335F478D0D4E27B, ); name = "audio_cd"; sourceTree = "<group>"; };
7748404D21E6E8B500D4CDA2 = {isa = PBXGroup; children = (
FEF01BDC64048ADAC8FBF791,
C0EE1D9B98C8AD2A1D605827,
D931EB7077ACAF1A97847088 = {isa = PBXGroup; children = (
98B3E514464A269121E203DA,
4C6BB183E191BFA82A1AA237,
+ E1A487F01ADAB559AEEAF59C,
6EB796353187279DE4E47BD0,
+ 258A83BC0AA92808CAFFE4A5,
+ 68339804EE6143C4E30C15EA,
0D114F1D47457A91C806FCBA,
- 5F36515D94A9F80D32BAF9E4, ); name = native; sourceTree = "<group>"; };
- 8EF92B66CFB537E97C06CE82 = {isa = PBXGroup; children = (
+ 5F36515D94A9F80D32BAF9E4,
+ FD4A5318094887B477B02588,
+ 8AE54A5AD361CEA555312BC6, ); name = native; sourceTree = "<group>"; };
+ F9B55DBA29406FCFBB3BB3A9 = {isa = PBXGroup; children = (
389D048419931AB624A374C2,
- DE4546899B5678F164D13F52, ); name = players; sourceTree = "<group>"; };
+ DE4546899B5678F164D13F52,
+ D3FCA4FAC19740D41F437F82,
+ 8885A1C1DB5BC19384235030, ); name = players; sourceTree = "<group>"; };
F0B729F57D59F6E7F7109036 = {isa = PBXGroup; children = (
+ 9EB17DC028FB2BE3BD9ED5B2,
7748404D21E6E8B500D4CDA2,
D931EB7077ACAF1A97847088,
- 8EF92B66CFB537E97C06CE82,
+ F9B55DBA29406FCFBB3BB3A9,
949C18982D04A8743EA86E78,
9AC277673AEAAC17ED5F35B9,
10D3D9E820330B4B1A0BBA94,
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
--- /dev/null
+# Doxyfile 1.8.12
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all text
+# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
+# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
+# for the list of possible encodings.
+# The default value is: UTF-8.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
+PROJECT_NAME = "The BLOCKS SDK"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
+PROJECT_NUMBER =
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF =
+
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
+
+PROJECT_LOGO =
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
+OUTPUT_DIRECTORY =
+
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
+CREATE_SUBDIRS = NO
+
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
+ALLOW_UNICODE_NAMES = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
+ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
+FULL_PATH_NAMES = NO
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
+SHORT_NAMES = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
+# first line (until the first dot) of a Javadoc-style comment as the brief
+# description. If set to NO, the Javadoc-style will behave just like regular Qt-
+# style comments (thus requiring an explicit @brief command for a brief
+# description.)
+# The default value is: NO.
+
+JAVADOC_AUTOBRIEF = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
+# line (until the first dot) of a Qt-style comment as the brief description. If
+# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
+# requiring an explicit \brief command for a brief description.)
+# The default value is: NO.
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
+# documentation from any documented member that it re-implements.
+# The default value is: YES.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
+# The default value is: NO.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
+TAB_SIZE = 4
+
+# This tag can be used to specify a number of aliases that act as commands in
+# the documentation. An alias has the form:
+# name=value
+# For example adding
+# "sideeffect=@par Side Effects:\n"
+# will allow you to put the command \sideeffect (or @sideeffect) in the
+# documentation, which will result in a user-defined paragraph with heading
+# "Side Effects:". You can put \n's in the value part of an alias to insert
+# newlines.
+
+#######################################################################################################################
+## ##
+#######################################################################################################################
+#######################################################################################################################
+#######################################################################################################################
+#######################################################################################################################
+
+ALIASES = "topictag{1}=\1" \
+ "box{1}=<dl class=\"section attention\"><dt>\1</dt><dd>" \
+ "endbox=</dd></dl>" \
+ "c_void=@s_code{void}" \
+ "c_bool=@s_code{bool}" \
+ "c_char=@s_code{char}" \
+ "c_float=@s_code{float}" \
+ "c_double=@s_code{double}" \
+ "c_int=@s_code{int}" \
+ "c_nullptr=@s_code{nullptr}" \
+ "c_for=@s_code{for()}" \
+ "c_if=@s_code{if()}" \
+ "c_ifelse=@s_code{if..else}" \
+ "c_while=@s_code{while()}" \
+ "c_true=@s_code{true}" \
+ "c_false=@s_code{false}" \
+ "c_enum=@s_code{enum}" \
+ "c_switch=@s_code{switch..case}" \
+ "c_static=@s_code{static}" \
+ "c_new=@s_code{new}" \
+ "c_typedef=@s_code{typedef}"
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
+
+## ##
+########################################################################################################################
+
+TCL_SUBST =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
+# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
+# Fortran. In the later case the parser tries to guess whether the code is fixed
+# or free formatted code, this is the default for Fortran type files), VHDL. For
+# instance to make doxygen treat .inc files as Fortran files (default is PHP),
+# and .f files as C (default is Fortran), use: inc=Fortran f=C.
+#
+# Note: For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
+MARKDOWN_SUPPORT = YES
+
+# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
+# to that level are automatically included in the table of contents, even if
+# they do not have an id attribute.
+# Note: This feature currently applies only to Markdown headings.
+# Minimum value: 0, maximum value: 99, default value: 0.
+# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
+
+TOC_INCLUDE_HEADINGS = 0
+
+# When enabled doxygen tries to link words that correspond to documented
+# classes, or namespaces to their corresponding documentation. Such a link can
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
+# The default value is: YES.
+
+AUTOLINK_SUPPORT = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
+BUILTIN_STL_SUPPORT = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
+IDL_PROPERTY_SUPPORT = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+# The default value is: NO.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# If one adds a struct or class to a group and this option is enabled, then also
+# any nested class or struct is added to the same group. By default this option
+# is disabled and one has to add nested compounds explicitly via \ingroup.
+# The default value is: NO.
+
+GROUP_NESTED_COMPOUNDS = NO
+
+# Set the SUBGROUPING tag to YES to allow class member groups of the same type
+# (for instance a group of public functions) to be put as a subgroup of that
+# type (e.g. under the Public Functions section). Set it to NO to prevent
+# subgrouping. Alternatively, this can be done per class using the
+# \nosubgrouping command.
+# The default value is: YES.
+
+SUBGROUPING = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
+# are shown inside the group in which they are included (e.g. using \ingroup)
+# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
+# and RTF).
+#
+# Note that this feature does not work in combination with
+# SEPARATE_MEMBER_PAGES.
+# The default value is: NO.
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
+# with only public data fields or simple typedef fields will be shown inline in
+# the documentation of the scope in which they are defined (i.e. file,
+# namespace, or group documentation), provided this scope is documented. If set
+# to NO, structs, classes, and unions are shown on a separate page (for HTML and
+# Man pages) or section (for LaTeX and RTF).
+# The default value is: NO.
+
+INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
+TYPEDEF_HIDES_STRUCT = NO
+
+# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
+# cache is used to resolve symbols given their name and scope. Since this can be
+# an expensive process and often the same symbol appears multiple times in the
+# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
+# doxygen will become slower. If the cache is too large, memory is wasted. The
+# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
+# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
+# symbols. At the end of a run doxygen will report the cache usage and suggest
+# the optimal cache size from a speed point of view.
+# Minimum value: 0, maximum value: 9, default value: 0.
+
+LOOKUP_CACHE_SIZE = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
+# documentation are documented, even if no documentation was available. Private
+# class members and static file members will be hidden unless the
+# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
+# Note: This will also disable the warnings about undocumented members that are
+# normally produced when WARNINGS is set to YES.
+# The default value is: NO.
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
+# scope will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PACKAGE = NO
+
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
+EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
+# only classes defined in header files are included. Does not have any effect
+# for Java sources.
+# The default value is: YES.
+
+EXTRACT_LOCAL_CLASSES = NO
+
+# This flag is only useful for Objective-C code. If set to YES, local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
+# included.
+# The default value is: NO.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
+HIDE_UNDOC_CLASSES = YES
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO, these declarations will be
+# included in the documentation.
+# The default value is: NO.
+
+HIDE_FRIEND_COMPOUNDS = YES
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO, these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
+HIDE_IN_BODY_DOCS = YES
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
+INTERNAL_DOCS = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES, upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+# The default value is: system dependent.
+
+CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES, the
+# scope will be hidden.
+# The default value is: NO.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
+SHOW_INCLUDE_FILES = NO
+
+# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
+# grouped member an include statement to the documentation, telling the reader
+# which file to include in order to use the member.
+# The default value is: NO.
+
+SHOW_GROUPED_MEMB_INC = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
+INLINE_INFO = NO
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order.
+# The default value is: YES.
+
+SORT_MEMBER_DOCS = NO
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
+SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
+SORT_GROUP_NAMES = YES
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
+SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
+STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
+# The default value is: YES.
+
+GENERATE_TODOLIST = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
+# The default value is: YES.
+
+GENERATE_TESTLIST = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
+GENERATE_BUGLIST = NO
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
+# ... \endcond blocks.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
+MAX_INITIALIZER_LINES = 32
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES, the
+# list will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
+SHOW_USED_FILES = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
+SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
+SHOW_NAMESPACES = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
+FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
+LAYOUT_FILE = DoxygenLayout.xml
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
+CITE_BIB_FILES =
+
+#---------------------------------------------------------------------------
+# Configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
+QUIET = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
+WARNINGS = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO, doxygen will only warn about wrong or incomplete
+# parameter documentation, but not about the absence of documentation.
+# The default value is: NO.
+
+WARN_NO_PARAMDOC = NO
+
+# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
+# a warning is encountered.
+# The default value is: NO.
+
+WARN_AS_ERROR = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
+WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+# Note: If this tag is empty the current directory is searched.
+
+INPUT = build pages
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: http://www.gnu.org/software/libiconv) for the list of
+# possible encodings.
+# The default value is: UTF-8.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# read by doxygen.
+#
+# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
+# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
+# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
+# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
+# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf.
+
+FILE_PATTERNS = juce_*.h \
+ *.dox
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
+EXCLUDE_SYMLINKS = YES
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
+EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
+EXAMPLE_PATH = ../standalone_sdk/examples ../../../examples/BLOCKS ../../../modules
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
+EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
+EXAMPLE_RECURSIVE = YES
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
+IMAGE_PATH = images
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+# <filter> <input-file>
+#
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
+FILTER_SOURCE_FILES = YES
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
+FILTER_SOURCE_PATTERNS =
+
+# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
+# is part of the input, its contents will be placed on the main page
+# (index.html). This can be useful if you have a project on for instance GitHub
+# and want to reuse the introduction page also for the doxygen output.
+
+USE_MDFILE_AS_MAINPAGE =
+
+#---------------------------------------------------------------------------
+# Configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
+SOURCE_BROWSER = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
+# function all documented functions referencing it will be listed.
+# The default value is: NO.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES then for each documented function
+# all documented entities called/used by that function will be listed.
+# The default value is: NO.
+
+REFERENCES_RELATION = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+SOURCE_TOOLTIPS = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see http://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
+# The default value is: NO.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
+ALPHABETICAL_INDEX = YES
+
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+COLS_IN_ALPHA_INDEX = 3
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+# The default value is: YES.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_OUTPUT = doc
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_HEADER = header.html
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_FOOTER = footer.html
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_STYLESHEET =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_STYLESHEET = stylesheet.css
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the style sheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to YES can help to show when doxygen was last run and thus if the
+# documentation is up to date.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_SECTIONS = YES
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
+# shown in the various tree structured indices initially; the user can expand
+# and collapse entries dynamically later on. Doxygen will expand the tree to
+# such a level that at most the specified number of entries are visible (unless
+# a fully collapsed tree already exceeds this amount). So setting the number of
+# entries 1 will produce a full collapsed tree by default. 0 is a special value
+# representing an infinite number of entries and will result in a full expanded
+# tree by default.
+# Minimum value: 0, maximum value: 9999, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: http://developer.apple.com/tools/xcode/), introduced with
+# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_DOCSET = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_HTMLHELP = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_FILE =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+HHC_LOCATION =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the master .chm file (NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+GENERATE_CHI = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+CHM_INDEX_ENCODING =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
+TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_VIRTUAL_FOLDER = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHP_SECT_FILTER_ATTRS =
+
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
+QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+DISABLE_INDEX = YES
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+GENERATE_TREEVIEW = YES
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+TREEVIEW_WIDTH = 320
+
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# http://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_FORMAT = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from http://www.mathjax.org before deployment.
+# The default value is: http://cdn.mathjax.org/mathjax/latest.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_RELPATH = http://www.mathjax.org/mathjax
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_EXTENSIONS =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
+MATHJAX_CODEFILE =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use <access key> + S
+# (what the <access key> is depends on the OS and browser, but it is typically
+# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+# key> to jump into the search results window, the results can be navigated
+# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+# to select a filter and <Enter> or <escape> to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a web server instead of a web client using Javascript. There
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SERVER_BASED_SEARCH = NO
+
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: http://xapian.org/). See the section "External Indexing and
+# Searching" for details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHENGINE_URL =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+SEARCHDATA_FILE = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTERNAL_SEARCH_ID =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
+EXTRA_SEARCH_MAPPINGS =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
+# The default value is: YES.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked.
+#
+# Note that when enabling USE_PDFLATEX this option is only used for generating
+# bitmaps for formulas in the HTML output, but not in the Makefile that is
+# written to the output directory.
+# The default file is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. The package can be specified just
+# by its name or with the correct syntax as to be used with the LaTeX
+# \usepackage command. To get the times font for instance you can specify :
+# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
+# To use the option intlimits with the amsmath package you can specify:
+# EXTRA_PACKAGES=[intlimits]{amsmath}
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+# generated LaTeX document. The header should contain everything until the first
+# chapter. If it is left blank doxygen will generate a standard header. See
+# section "Doxygen usage" for information on how to let doxygen write the
+# default header to a separate file.
+#
+# Note: Only use a user-defined header if you know what you are doing! The
+# following commands have a special meaning inside the header: $title,
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
+# string, for the replacement values of the other commands the user is referred
+# to HTML_HEADER.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HEADER =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+# generated LaTeX document. The footer should contain everything after the last
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
+#
+# Note: Only use a user-defined footer if you know what you are doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_FOOTER =
+
+# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# LaTeX style sheets that are included after the standard style sheets created
+# by doxygen. Using this option one can overrule certain style aspects. Doxygen
+# will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_STYLESHEET =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_FILES =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES, to get a
+# higher quality PDF documentation.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help. This option is also used
+# when generating formulas in HTML.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BATCHMODE = NO
+
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_HIDE_INDICES = NO
+
+# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+# code with syntax highlighting in the LaTeX output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_SOURCE_CODE = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. See
+# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_BIB_STYLE = plain
+
+# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_TIMESTAMP = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's config
+# file, i.e. a series of assignments. You only have to provide replacements,
+# missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's config file. A template extensions file can be generated
+# using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_EXTENSIONS_FILE =
+
+# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
+# with syntax highlighting in the RTF output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_SOURCE_CODE = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_EXTENSION = .3
+
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_SUBDIR =
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_OUTPUT = xml
+
+# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to the DOCBOOK output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
+
+GENERATE_DOCBOOK = NO
+
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_OUTPUT = docbook
+
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
+DOCBOOK_PROGRAMLISTING = NO
+
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+# AutoGen Definitions (see http://autogen.sf.net) file that captures the
+# structure of the code including all documentation. Note that this feature is
+# still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO, the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+# in the source code. If set to NO, only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES, the include files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that are
+# defined before the preprocessor is started (similar to the -D option of e.g.
+# gcc). The argument of the tag is a list of macros of the form: name or
+# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
+# is assumed. To prevent a macro definition from being undefined via #undef or
+# recursively expanded use the := operator instead of the = operator.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+PREDEFINED = WIN32=1 \
+ JUCE_WIN32=1 \
+ JUCE_MAC=1 \
+ JUCE_IOS=1 \
+ JUCE_ANDROID=1 \
+ JUCE_LINUX=1 \
+ DOXYGEN=1 \
+ JUCE_COMPILER_SUPPORTS_NOEXCEPT=1 \
+ JUCE_COMPILER_SUPPORTS_NULLPTR=1 \
+ JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS=1 \
+ JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS=1 \
+ JUCE_COMPILER_SUPPORTS_VARIADIC_TEMPLATES=1 \
+ JUCE_COMPILER_SUPPORTS_OVERRIDE_AND_FINAL=1 \
+ JUCE_MODAL_LOOPS_PERMITTED=1
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
+# tag can be used to specify a list of macro names that should be expanded. The
+# macro definition that is found in the sources will be used. Use the PREDEFINED
+# tag if you want to use a different macro definition that overrules the
+# definition found in the source code.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration options related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have a unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+# the class index. If set to NO, only the inherited external classes will be
+# listed.
+# The default value is: NO.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will be
+# listed.
+# The default value is: YES.
+
+EXTERNAL_GROUPS = YES
+
+# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
+EXTERNAL_PAGES = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of 'which perl').
+# The default file (with absolute path) is: /usr/bin/perl.
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see:
+# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
+DIA_PATH =
+
+# If set to YES the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
+
+HIDE_UNDOC_RELATIONS = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: NO.
+
+HAVE_DOT = YES
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_NUM_THREADS = 0
+
+# When you want a differently looking font in the dot files that doxygen
+# generates you can specify the font name using DOT_FONTNAME. You need to make
+# sure dot is able to find the font, which can be done by putting it in a
+# standard location or by setting the DOTFONTPATH environment variable or by
+# setting DOT_FONTPATH to the directory containing the font.
+# The default value is: Helvetica.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTNAME =
+
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+COLLABORATION_GRAPH = NO
+
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GROUP_GRAPHS = NO
+
+# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LOOK = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+UML_LIMIT_NUM_FIELDS = 10
+
+# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
+# collaboration graphs will show the relations between templates and their
+# instances.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+TEMPLATE_RELATIONS = NO
+
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDE_GRAPH = NO
+
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INCLUDED_BY_GRAPH = NO
+
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command. Disabling a call graph can be
+# accomplished by means of the command \hidecallgraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command. Disabling a caller graph can be
+# accomplished by means of the command \hidecallergraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GRAPHICAL_HIERARCHY = NO
+
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DIRECTORY_GRAPH = NO
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. For an explanation of the image formats see the section
+# output formats in the documentation of the dot tool (Graphviz (see:
+# http://www.graphviz.org/)).
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
+# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
+# png:gdiplus:gdiplus.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_IMAGE_FORMAT = svg
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+INTERACTIVE_SVG = NO
+
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOTFILE_DIRS =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
+
+MSCFILE_DIRS =
+
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
+DIAFILE_DIRS =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+
+PLANTUML_JAR_PATH =
+
+# When using plantuml, the specified paths are searched for files specified by
+# the !include statement in a plantuml block.
+
+PLANTUML_INCLUDE_PATH =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_TRANSPARENT = YES
+
+# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_MULTI_TARGETS = NO
+
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+GENERATE_LEGEND = NO
+
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
+# files that are used to generate the various graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
+DOT_CLEANUP = YES
--- /dev/null
+<doxygenlayout version="1.0">
+
+ <navindex>
+ <tab type="pages" visible="yes" title="Documentation" intro="How to use the BLOCKS SDK"/>
+ <tab type="modules" visible="yes" title="JUCE Modules" intro="A list of the JUCE modules included in the SDK"/>
+ <tab type="user" visible="yes" title="Get the JUCE framework" url="https://github.com/julianstorer/JUCE"/>
+ <tab type="user" visible="yes" title="Get the standalone BLOCKS SDK" url="https://github.com/WeAreROLI/BLOCKS-SDK"/>
+ </navindex>
+
+ <class>
+ <detaileddescription title="Description"/>
+ <includes visible="$SHOW_INCLUDE_FILES"/>
+ <inheritancegraph visible="$CLASS_GRAPH"/>
+ <collaborationgraph visible="$COLLABORATION_GRAPH"/>
+ <memberdecl>
+ <publicmethods title=""/>
+ <publicstaticmethods title=""/>
+ <publicattributes title=""/>
+ <publicstaticattributes title=""/>
+ <protectedtypes title=""/>
+ <protectedslots title=""/>
+ <protectedmethods title=""/>
+ <protectedstaticmethods title=""/>
+ <protectedattributes title=""/>
+ <protectedstaticattributes title=""/>
+ <packagetypes title=""/>
+ <packagemethods title=""/>
+ <packagestaticmethods title=""/>
+ <packageattributes title=""/>
+ <packagestaticattributes title=""/>
+ <properties title=""/>
+ <events title=""/>
+ <privatetypes title=""/>
+ <privateslots title=""/>
+ <privatemethods title=""/>
+ <privatestaticmethods title=""/>
+ <privateattributes title=""/>
+ <privatestaticattributes title=""/>
+ <nestedclasses visible="yes" title=""/>
+ <publictypes title=""/>
+ <services title=""/>
+ <interfaces title=""/>
+ <publicslots title=""/>
+ <signals title=""/>
+ <friends title=""/>
+ <related title="" subtitle=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <memberdef>
+ <inlineclasses title=""/>
+ <constructors title=""/>
+ <functions title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
+ <services title=""/>
+ <interfaces title=""/>
+ <related title=""/>
+ <variables title=""/>
+ <properties title=""/>
+ <events title=""/>
+ </memberdef>
+ <allmemberslink visible="yes"/>
+ <usedfiles visible="$SHOW_USED_FILES"/>
+ <authorsection visible="yes"/>
+ </class>
+
+ <group>
+ <detaileddescription title="Description"/>
+ <groupgraph visible="$GROUP_GRAPHS"/>
+ <memberdecl>
+ <nestedgroups visible="yes" title=""/>
+ <dirs visible="yes" title=""/>
+ <files visible="yes" title=""/>
+ <classes visible="yes" title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ <membergroups visible="yes"/>
+ </memberdecl>
+ <memberdef>
+ <pagedocs/>
+ <inlineclasses title=""/>
+ <functions title=""/>
+ <variables title=""/>
+ </memberdef>
+ <authorsection visible="yes"/>
+ </group>
+
+</doxygenlayout>
--- /dev/null
+SHELL := /bin/bash
+
+SOURCE_FILES := $(shell find ../../../modules -type f -name "juce_*.h" | sed 's/ /\\ /g')
+EXAMPLE_DIRS := ../standalone_sdk/examples ../../../examples/BLOCKS
+EXAMPLE_SOURCE_FILES := $(foreach DIR,$(EXAMPLE_DIRS),$(shell find $(DIR) -type f -name "*.h" -or -name "*.cpp" | sed 's/ /\\ /g'))
+DOCUMENTATION_FILES := $(shell find pages -type f -name "*.dox" | sed 's/ /\\ /g')
+IMAGES := $(shell find images -type f | sed 's/ /\\ /g')
+
+.PHONEY: clean
+
+doc/index.html: build/juce_modules.dox Doxyfile DoxygenLayout.xml footer.html header.html stylesheet.css $(DOCUMENTATION_FILES) $(EXAMPLE_SOURCE_FILES) $(IMAGES)
+ doxygen
+
+build/juce_modules.dox: process_source_files.py $(SOURCE_FILES)
+ python $<
+
+clean:
+ rm -rf build doc
--- /dev/null
+<hr class="footer"/>
+<address class="footer"><small>All content © ROLI Ltd.</small></address><br/>
+</body>
+</html>
--- /dev/null
+<!-- HTML header for doxygen 1.8.12-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen $doxygenversion"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
+<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
+<script type="text/javascript" src="$relpath^jquery.js"></script>
+<script type="text/javascript" src="$relpath^dynsections.js"></script>
+
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+</script>
+
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { init_search(); });
+</script>
+
+$mathjax
+
+$extrastylesheet
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+
+<!--BEGIN TITLEAREA-->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <!--BEGIN PROJECT_LOGO-->
+ <td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
+ <!--END PROJECT_LOGO-->
+ <!--BEGIN PROJECT_NAME-->
+ <td id="projectalign" style="padding-left: 0.5em;">
+ <div id="projectname">$projectname
+ <!--BEGIN PROJECT_NUMBER--> <span id="projectnumber">$projectnumber</span><!--END PROJECT_NUMBER-->
+ </div>
+ <!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
+ </td>
+ <!--END PROJECT_NAME-->
+ <!--BEGIN !PROJECT_NAME-->
+ <!--BEGIN PROJECT_BRIEF-->
+ <td style="padding-left: 0.5em;">
+ <div id="projectbrief">$projectbrief</div>
+ </td>
+ <!--END PROJECT_BRIEF-->
+ <!--END !PROJECT_NAME-->
+ <!--BEGIN DISABLE_INDEX-->
+ <!--BEGIN SEARCHENGINE-->
+ <td>$searchbox</td>
+ <!--END SEARCHENGINE-->
+ <!--END DISABLE_INDEX-->
+ </tr>
+ </tbody>
+</table>
+</div>
+<!--END TITLEAREA-->
+<!-- end header part -->
--- /dev/null
+/**
+@page connecting_blocks Connecting BLOCKS
+
+Lightpads can be conected to a computer either via USB or Bluetooth, and Control Blocks can be connected via Bluetooth or by snapping to an already connected Lightpad.
+Both devices communicate with your computer using System Exclusive (SysEx) MIDI messages.
+
+@section usb USB
+
+To connect a Lightpad to your computer over USB, you need to insert a USB-C cable into the top of the device and connect it to a USB port on your computer.
+When powered on by pressing the power button on the bottom edge, you will be able to send and receive data from the block over the USB connection.
+
+@section bluetooth Bluetooth
+
+The power button also functions as a toggle for the Bluetooth connection - when the blue light on the button is illuminated, the device is able to connect via Bluetooth and send and receive MIDI data.
+Pressing this button will turn the light off and disable the Bluetooth functionality.
+Currently MIDI over Bluetooth is only supported on Mac OS.
+
+@subsection mac_bluetooth MacOS
+
+To connect a BLOCKS device via Bluetooth on MacOS, follow these steps:
+
+- Open the "Audio Midi Setup" application (found in Applications/Utilities)
+- Click on the menu item: Window -> Show MIDI Studio
+- Double-click on the "Bluetooth" icon in the MIDI Studio window
+- Click the "Connect" button next to the block you want to connect to
+- Your device should show up in the MIDI Studio window with a Bluetooth icon and can now send and receive MIDI data over Bluetooth
+
+@section connecting_blocks_to_each_other Connecting BLOCKS together
+
+Lightpad and Control Blocks can be connected together in any number of combinations via their DNA edge connectors, sharing a common connection to your computer.
+To do this, simply snap your devices together and the magnetic connectors will handle the rest.
+*/
+
--- /dev/null
+/**
+@page controlling_control_buttons Controlling control buttons
+
+In addition to sending button pressed and button released events, ControlButton objects can allow your application code to change the colour of the LED behind the corresponding physical button on a BLOCKS device.
+
+An array of pointers to the available %ControlButton objects can be obtained from the Block::getButtons method of a Block---see the @ref discovering_blocks section for details of how to obtain a %Block object.
+Once you have a %ControlButton, the functions involving the LED are ControlButton::hasLight and ControlButton::setLightColour, which are descriptively named.
+A code snippet showing how to turn all the available buttons of a %Block red is shown below.
+@code{.cpp}
+void setAllButtonsRed (Block& block)
+{
+ for (auto button : block->getButtons())
+ if (button->hasLight())
+ button->setLightColour (Colours::red);
+}
+@endcode
+*/
+
--- /dev/null
+/**
+@page controlling_led_grids Controlling LED grids
+
+@section basic_usage Basic usage
+
+An LED grid on a BLOCKS device can be controlled via an LEDGrid object, which can be obtained from the Block::getLEDGrid function of a Block---see the @ref discovering_blocks section for details of how to obtain a %Block object.
+
+Using an LED grid requires an LEDGrid::Program to operate the LEDs.
+This program specifies some code to run on the device, and can also provide methods to be called from your application which can comminucate with the code running on the device via a block of shared memory.
+The code which runs on the device must be specified using @ref the_littlefoot_language, which is described in the corresponding section.
+However, for a very wide range of applications, the BitmapLEDProgram provided with the BLOCKS SDK is sufficient and you will not need to create your own.
+Using a %BitmapLEDProgram to change the colour of LEDs is demonstated below.
+
+@code{.cpp}
+// This should be called when doing the initial configuration of your application.
+void setBitmapLEDProgram (Block& block)
+{
+ if (auto grid = block->getLEDGrid())
+ grid->setProgram (new BitmapLEDProgram (*grid));
+}
+
+// Once a BitmapLEDProgram is loaded we can use its setLED method to change the
+// colour of LEDs on the corresponding device.
+void setLED (Block& block, int x, int y, Colour c)
+{
+ if (auto grid = block->getLEDGrid())
+ if (auto program = dynamic_cast<BitmapLEDProgram*> (grid->getProgram()))
+ program->setLED (x, y, c);
+}
+@endcode
+
+@section advanced_usage Advanced Usage
+
+Using a custom %LEDGrid::Program allows more precise control over the operation of the LEDs.
+The code which will actually execute on the device, returned by your overriden LEDGrid::Program::getLittleFootProgram() function, must be specified in the LittleFoot language.
+
+@subsection the_littlefoot_language The LittleFoot Language
+
+A description of the LittleFoot language is contained in the SDK source code at <tt>juce_blocks_basics/littlefoot/LittleFoot Language README.txt</tt>:
+@includedoc "LittleFoot Language README.txt"
+
+@subsection littlefoot_example A LittleFoot example
+
+The %BitmapLEDProgram class is a simple example of a LittleFoot program.
+
+<tt>%juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h</tt>
+@include juce_blocks_basics/visualisers/juce_BitmapLEDProgram.h
+
+<tt>juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp</tt>
+@include juce_blocks_basics/visualisers/juce_BitmapLEDProgram.cpp
+
+The repaint() method of the LittleFoot program is called at approximately 25 Hz, and each time it simply inspects the heap (the shared area of memory used to communicate between your application code and your LittleFoot program) and sets the LEDs based on the heap's content.
+To update the heap, and hence the LEDS, your application code calls BitmapLEDProgram::setLED.
+
+A more advanced example can be found in the source code of the DrumPadGridProgram class.
+*/
+
--- /dev/null
+/**
+@page controlling_led_strips Controlling LED strips
+
+Control Blocks have a strip of LEDs which can be controlled via an LEDRow object.
+
+A pointer to an %LEDRow object can be obtained from the Block::getLEDRow method of a Block---see the @ref discovering_blocks section for details of how to obtain a %Block object.
+Once you have an %LEDRow there are a few functions that you can use to interact with the strip of LEDs on a device.
+A code snippet showing how to turn the whole strip of LEDs on a %Block orange is shown below.
+@code{.cpp}
+void setWholeLEDRowOrange (Block& block)
+{
+ if (auto ledRow = block->getLEDRow())
+ for (int i = 0; i < ledRow.getNumLEDs(); ++i)
+ ledRow.setLEDColour (i, Colours::orange);
+}
+@endcode
+*/
+
--- /dev/null
+/**
+@page discovering_blocks Discovering BLOCKS
+
+Any BLOCKS application would be pretty limited without the ability to discover the BLOCKS that are connected to your computer.
+This page gives an overview of the classes and methods available to aid BLOCKS discovery and provides sample code for getting notifications of any connections or disconnections.
+
+@section the_block_topology_object The BlockTopology object
+
+Groups of connected Lightpad and Control Blocks are described by a BlockTopology.
+
+A %BlockTopology contains an array of references to Block objects, which provide access to Lightpad and Control %Block functionality, and an array of BlockDeviceConnection objects, which describe the connections between devices.
+Once you have a %BlockTopology you have all the information required to visualise and interact with your Lightpads and Control Blocks.
+For more information about using %Block objects see the @ref the_block_object section.
+
+For Lightpads and Control Blocks a %BlockTopology can be obtained from a PhysicalTopologySource.
+
+@section the_physical_topology_source_object The PhysicalTopologySource object
+
+The current topology is provided by a %PhysicalTopologySource.
+When instantiated, a %PhysicalTopologySource monitors for any connections from your computer to any Lightpad and Control Blocks and the PhysicalTopologySource::getCurrentTopology() method returns the current %BlockTopology.
+
+In an environment where Lightpad and Control can be connected and disconnected dynamically it is convenient to register your code for <code>topologyChanged()</code> callbacks from a %PhysicalTopologySource.
+Then, when the current %BlockTopology changes, your application is able to react to the new configuration.
+You can do this by inheriting from the TopologySource::Listener class and registering as a listener to a %PhysicalTopologySource object.
+When you inherit from %TopologySource::Listener you must override the pure virtual method TopologySource::Listener::topologyChanged(), which is then called by a %PhysicalTopologySource on topology changes when you register as a listener.
+A simple example is shown below.
+
+BlockFinder.h:
+@include BlockFinder/BlockFinder.h
+
+BlockFinder.cpp:
+@include BlockFinder/BlockFinder.cpp
+
+When instantiated this class simply monitors for changes to the connected Lightpad and Control Blocks and prints some information about them to stdout.
+Once you have the current %BlockTopology object you have access to the available %Block objects and can start to interact with them.
+A more complex application would probably do much more in the <tt>topologyChanged()</tt> method---see the @ref example_applications page.
+
+@section the_block_object The Block object
+
+A Block object is the main entry point for communicating between your application and any Lightpad and Control Blocks that are connected to your computer.
+
+All the different %Block types are subclasses of %Block so they provide the same interface (see the %Block class documentation).
+About half of the %Block public member functions return information about the physical device it represents.
+In the example code above you can see that we use some of these methods to query each %Block about its current status.
+The more interesting %Block methods return pointers to objects you can use to control and receive events from individual BLOCKS.
+More detail about these methods can be obtained from the following pages:
+
+@ref getting_touch_events
+
+@ref getting_control_button_events
+
+@ref controlling_led_grids
+
+@ref controlling_led_strips
+*/
+
--- /dev/null
+/**
+@page downloading_the_sdk Downloading the SDK
+
+The BLOCKS SDK is distributed as part of the <a href="https://www.juce.com/">JUCE framework</a>, which can be obtained from GitHub <a href="https://github.com/julianstorer/JUCE">here</a>.
+The JUCE repository also contains the code for the @ref example_applications, which require the JUCE framework to compile.
+Whilst you don't need to know anything about JUCE to build the examples using the supplied Visual Studio/Xcode/etc projects, it will probably be worthwhile reading a brief introduction to JUCE, which can be found <a href="https://www.juce.com/learn/getting-started">here</a>.
+
+You can also download the standalone BLOCKS SDK from GitHub <a href="https://github.com/WeAreROLI/BLOCKS-SDK">here</a>.
+This is a stripped down version of what JUCE provides, including only the features required for the SDK.
+Using this version of the SDK is much more complicated but may be more suitable for integrating BLOCKS into an existing application.
+More details are provided in the @ref the_standalone_blocks_sdk section.
+*/
--- /dev/null
+/**
+@page example_applications Example Applications
+
+@section downloading_the_example_code Downloading the example code
+
+These example applications demonstrate the functionality of the BLOCKS SDK.
+
+The example applications are all distributed as part of the <a href="https://www.juce.com/">JUCE framework</a>, which can be obtained from GitHub <a href="https://github.com/julianstorer/JUCE">here</a>.
+You will find the examples in the <tt>JUCE/examples/BLOCKS/</tt> directory.
+Each example comes with projects for Visual Studio, Xcode, etc in the <tt>Builds</tt> subdirectory or each example directory, and these should open, compile and run without any trouble in the respective IDEs.
+
+A quick guide to getting up and running with JUCE can be found <a href="https://www.juce.com/learn/getting-started">here</a>.
+
+<h1>Overview</h1>
+
+@subpage example_blocks_monitor
+
+BlocksMonitor is a simple JUCE application that shows currently connected Lightpad and Control %Block devices and visualises touches and button presses.
+It also displays some basic information about the Blocks.
+
+@subpage example_blocks_drawing
+
+BlocksDrawing is a JUCE application that allows you to use your Lightpad as a drawing surface.
+You can choose from a palette of 9 base colours and paint them on the 15x15 LED grid, blending between colours using touch pressure.
+
+@subpage example_blocks_synth
+
+BlocksSynth is a JUCE application that turns your Lightpad into a simple monophonic synthesiser capable of playing 4 different waveshapes - sine, square, sawtooth and triangle.
+*/
+
--- /dev/null
+/**
+@page example_blocks_drawing BlocksDrawing
+
+In order to compile and run this application you need to first download the <a href="https://www.juce.com/">JUCE framework</a>, which can be obtained from GitHub <a href="https://github.com/julianstorer/JUCE">here</a>.
+
+@section blocks_drawing_introduction Introduction
+
+BlocksDrawing is a JUCE application that allows you to use your Lightpad as a drawing surface. You can choose from a palette of 9 base colours and paint them on the 15x15 LED grid, blending between colours using touch pressure.
+
+Navigate to the <tt>JUCE/examples/BLOCKS/BlocksDrawing/Builds/</tt> directory and open the code project in your IDE of choice. Run the application and connect your Lightpad (if you do not know how to do this, see @ref connecting_blocks) - it should now display a 3x3 grid of colours to choose from. Touch a colour to set it as the current brush colour and then press the mode button to switch to canvas mode where you will be presented with a blank touch surface. Touch anywhere on the LED grid to start painting and use the pressure of your touch to control how bright the colour is. Try painting over an already painted LED to increase its brightness and blend between different colours by doing this with a different brush colour. To clear the canvas and start over, double-click the mode button.
+
+The concept of a BLOCKS topology and the methods for receiving callbacks from a Block object are covered in the @ref example_blocks_monitor example and this tutorial will cover the methods in the API for displaying grids and setting LEDs on the Lightpad.
+
+@section blocks_drawing_led_grid The LEDGrid Object
+
+Lightpads have a 15x15 LED grid which can be accessed and controlled through the LEDGrid object, a pointer to which is returned by the Block::getLEDGrid() method (for more details on how the %LEDGrid object operates, see @ref controlling_led_grids). In the <code>topologyChanged()</code> method of <code>MainComponent</code> this %LEDGrid pointer is passed to the <code>setLEDProgram()</code> method, which sets the LEDGrid::Program to either a DrumPadGridProgram or BitmapLEDProgram, depending on the selected mode.
+
+@section blocks_drawing_colour_palette Colour Palette
+
+In the colour palette mode the Lightpad displays a 3x3 grid of colours, constructed using the %DrumPadGridProgram class. A %DrumPadGridProgram pointer called <code>colourPaletteProgram</code> is declared as a private member variable of <code>MainComponent</code> and in the <code>MainComponent::setLEDProgram()</code> method this is set to point to a new %DrumPadGridProgram object and is passed the %LEDGrid object of the Lightpad in its constructor. After the program has been initialised, it is passed to the LEDGrid to display using the LEDGrid::setProgram() method and the layout of the grid is set up using the DrumPadGridProgram::setGridFills() method. This function takes 3 arguments: the number of rows, number of columns and an array of DrumPadGridProgram::GridFill objects containing a <code>GridFill</code> for each pad that controls its colour and fill type. The <code>ColourGrid</code> struct in MainComponent.h contains all of this information and handles the construction of the <code>GridFill</code> array in the <code>ColourGrid::constructGridFillArray()</code> method. An instance of this object called <code>layout</code> is declared as a member variable of <code>MainComponent</code> to easily change how the grid looks. The <code>ColourGrid::setActiveColourForTouch()</code> method is called in the <code>MainComponent::touchChanged()</code> callback and is used to determine which brush colour has been selected based on a Touch coordinate from the Lightpad.
+
+\image html BlocksDrawing_palette.JPG "Colour palette mode"
+
+@section blocks_drawing_canvas Canvas
+
+In canvas mode, the %LEDGrid program is set to an instance of %BitmapLEDProgram and uses the BitmapLEDProgram::setLED() method to set individual LEDs on the Lightpad to a particular colour. The <code>ActiveLED</code> struct declared in the private section of <code>MainComponent</code> is used to keep track of which LEDs are on and their colour and brightness. <code>MainComponent</code> contains an %Array of these objects called <code>activeLeds</code>.
+In the <code>MainComponent::setLEDProgram()</code> method the program is set up and passed to the %LEDGrid object the same way as in the colour palette mode but the <code>MainComponent::redrawLEDs()</code> method is also called which iterates over the <code>activeLeds</code> array and sets the appropriate LEDs on the Lightpad so the LED states persist between mode switches. When a Touch is received in the <code>MainComponent::touchChanged()</code> callback the <code>MainComponent::drawLEDs()</code> method is called with 4 arguments: x and y coordinates, touch pressure and brush colour. This method iterates over the <code>activeLed</code> array and checks to see if there is an active LED at the given coordinate. If it is blank, an <code>ActiveLED</code> object is created and added to the array with the given coordinates and colour using touch pressure for brightness. If there is already an active LED at the coordinate, the colour of that LED will be blended with the current brush colour, the proportion of which is determined by the touch pressure.
+
+\image html BlocksDrawing_canvas.JPG "Unleash your inner Picasso!"
+
+@section blocks_drawing_summary Summary
+
+This tutorial and the accompanying code project have introduced the %LEDGrid object and shown how to use the %LEDGrid::Program object to display basic grids and set individual LEDs on the Lightpad.
+
+*/
--- /dev/null
+/**
+@page example_blocks_monitor BlocksMonitor
+
+In order to compile and run this application you need to first download the <a href="https://www.juce.com/">JUCE framework</a>, which can be obtained from GitHub <a href="https://github.com/julianstorer/JUCE">here</a>.
+
+@section blocks_monitor_introduction Introduction
+
+BlocksMonitor is a simple JUCE application that shows currently connected Lightpad and Control %Block devices and visualises touches and button presses. It also displays some basic information about the Blocks.
+
+Navigate to the <tt>JUCE/examples/BLOCKS/BlocksMonitor/Builds/</tt> directory and open the code project in your IDE of choice. Run the application and connect your Blocks (if you do not know how to do this, see @ref connecting_blocks). Any devices that you have connected should now show up in the application window and this display will be updated as you add and remove Blocks. Lightpads are represented as a black square and will display the current touches as coloured circles, the size of which depend on the touch pressure, and Control Blocks are shown as rectangles containing the LED row and clickable buttons on the hardware. If you hover the mouse cursor over a %Block, a tooltip will appear displaying the name, UID, serial number and current battery level.
+
+\image html BlocksMonitor.png "The BlocksMonitor application with a Lightpad and Control Block connected"
+
+@section blocks_monitor_topology Topology
+
+One of the fundamental concepts of the BLOCKS API is topology - a topology is a set of physically connected Blocks and the connections between them. Knowing when the topology has changed and accessing a data structure containing the current topology is the basis of any Blocks application.
+
+To access the current topology, <code>MainComponent</code> inherits from the TopologySource::Listener base class and implements the TopologySource::Listener::topologyChanged() method, a callback which is used to inform listeners when any physical devices have been added or removed. In order to receive these callbacks, <code>MainComponent</code> contains an instance of the PhysicalTopologySource class and registers itself as a listener to this object in its constructor. When the <code>topologyChanged()</code> method is called, this object can be used to access the updated topology through the PhysicalTopologySource::getCurrentTopology() method which returns a BlockTopology struct containing an array of currently connected Block objects and an array of BlockDeviceConnection structs representing the connections between them.
+
+@section blocks_monitor_block_object The Block Object
+
+The array of %Block objects contained in the %BlockTopology struct can be used to access individual %Block objects and determine their type using the Block::getType() method. The application uses this information to construct an on-screen representation of the currently connected Blocks by creating either a <code>LightpadComponent</code> or <code>ControlBlockComponent</code> object for each %Block in the current topology. Both of these classes derive from <code>BlockComponent</code>, a relatively simple base class that contains some virtual functions for painting the %Block on screen and handling callbacks from the touch surface and/or buttons on the %Block. In its constructor, <code>BlockComponent</code> takes a reference to the %Block object that it represents and adds itself as a listener to the touch surface (if it is a Lightpad) and buttons using the Block::getTouchSurface() and Block::getButtons() methods, respectively. It inherits from the TouchSurface::Listener and ControlButton::Listener classes and overrides the TouchSurface::Listener::touchChanged(), ControlButton::Listener::buttonPressed() and ControlButton::Listener::buttonReleased() methods to call its own virtual methods, which are implemented by the <code>LightpadComponent</code> and <code>ControlBlockComponent</code> classes to update the on-screen components.
+
+To visualise touches on the Lightpad, <code>LightpadComponent</code> contains an instance of the TouchList class called <code>touches</code> and calls the TouchList::updateTouch() method whenever it receives a touch surface listener callback in the <code>LightpadComponent::handleTouchChange()</code> method. The <code>LightpadBlock::paint()</code> method then iterates over the current TouchSurface::Touch objects in the %TouchList and visualises them on the component at 25Hz.
+
+The <code>ControlBlockComponent</code> class represents a generic Control %Block with 15 LEDs, 8 circular buttons and 1 rounded rectangular button. When a button is pressed on the physical Control %Block, the <code>BlockComponent::handleButtonPressed()</code> function is called and this class uses the ControlButton::ButtonFunction variable to determine which button was pressed and should be activated on the on-screen component. The same process is repeated for when the button is released. This class also overrides the <code>BlockComponent::handleBatteryLevelUpdate()</code> method to update which LEDs should be on based on the battery level, which is accessed in the <code>BlockComponent</code> base class using the Block::getBatteryLevel() and Block::isBatteryCharging() methods.
+
+These callback methods are a simple and powerful way to get user input from the Blocks and use this data to drive some process in your application. In this example, the input is simply mirrored on the screen but it could be used to control any number of things such as audio synthesis (see the @ref example_blocks_synth example) and graphics (see the @ref example_blocks_drawing example).
+
+@section blocks_monitor_summary Summary
+
+This tutorial and the accompanying code has introduced the %BlockTopology and %Block objects, and demonstrated how to receive callbacks from connected Blocks when the touch surface or buttons are pressed, allowing you to use this input in your own applications.
+*/
+
--- /dev/null
+/**
+@page example_blocks_synth BlocksSynth
+
+In order to compile and run this application you need to first download the <a href="https://www.juce.com/">JUCE framework</a>, which can be obtained from GitHub <a href="https://github.com/julianstorer/JUCE">here</a>.
+
+@section blocks_synth_introduction Introduction
+
+BlocksSynth is a JUCE application that turns your Lightpad into a simple monophonic synthesiser capable of playing 4 different waveshapes - sine, square, sawtooth and triangle.
+
+Navigate to the <tt>JUCE/examples/BLOCKS/BlocksSynth/Builds/</tt> directory and open the code project in your IDE of choice. Run the application and connect your Lightpad (if you do not know how to do this, see @ref connecting_blocks) - it should now display a simple 5x5 grid where each pad plays a note in the chromatic scale using a sine wave starting from the bottom-left (C3). It is possible to play any of the 25 notes but for ease of use tonics (the root note of the scale) are highlighted in white and notes in the C-major scale are highlighted in green. When a note has been played it is possible to change the amplitude using touch pressure and to pitch bend between adjacent notes by sliding left and right. Pressing the mode button on the Lightpad will change to the waveshape selection screen where the currently selected waveshape is rendered on the LEDs and you can switch between the 4 different waveshapes by touching anywhere on the %Block surface.
+
+The concept of a BLOCKS topology and the methods for receiving callbacks from the Block object are covered in the @ref example_blocks_monitor example and the basic methods for displaying grids and setting LEDs on the %Block are covered in the @ref example_blocks_drawing example. This example will cover how to render more complex displays on the LEDGrid and how to do some simple audio synthesis using data from the Lightpad.
+
+@section blocks_synth_note_grid Note Grid
+
+In the synthesiser mode the Lightpad displays a 5x5 grid constructed using the DrumPadGridProgram class. The <code>SynthGrid</code> struct in <tt>MainComponent.h</tt> handles the setup and layout of this grid and sets the colours of the pads to white for tonics, green for notes in the C major scale and black for notes that are not in the C major scale. The <code>ColourGrid::getNoteNumberForPad()</code> method is called in the <code>MainComponent::touchChanged()</code> callback and returns the corresponding MIDI note number for a Touch coordinate on the Lightpad. This note number is then passed to the <code>Audio</code> class to be played on the synthesiser.
+
+\image html BlocksSynth_grid.JPG "Synthesiser note grid"
+
+@section blocks_synth_waveshape_display Waveshape Display
+
+In the waveshape selection mode the LEDGrid::Program is set to an instance of BitmapLEDProgram and uses a Timer to draw moving waveshapes onto the LEDs of the Lightpad. In the constructor of <code>MainComponent</code> the <code>MainComponent::generateWaveshapes()</code> method is called - this function generates 45 Y coordinates scaled and offset to fit the LED grid of the Lightpad for each of the 4 waveshapes and stores them in 4 separate arrays: <code>sineWaveY</code>, <code>squareWaveY</code>, <code>sawWaveY</code> and <code>triangleWaveY</code>. Then in the <code>MainComponent::timerCallback()</code> method, a <code>for</code> loop iterates over the 15 LEDs on the X-axis and draws an LED 'circle' using the <code>MainComponent::drawLEDCircle()</code> method at the corresponding Y coordinate for the selected waveshape. The read position of the array is offset using the <code>yOffset</code> variable which is incremented each timer callback and wraps back around when the end of the array is reached to draw a 'moving' waveshape.
+
+\image html BlocksSynth_waveshape.gif "A sine wave dispayed in the waveshape selection mode"
+
+@section blocks_synth_audio Audio
+
+The <code>Audio</code> class handles the audio synthesis for this application and overrides the AudioIODeviceCallback::audioDeviceIOCallback() method to call the Synthesiser::renderNextBlock() method of a Synthesiser object. This object is initialised to be capable of rendering sine, square, sawtooth and triangle waves on separate MIDI channels in the constructor of <code>Audio</code>, and <code>Audio</code> contains methods for sending note on, note off, channel pressure and pitch wheel messages to the Synthesiser. When a note is triggered on the Lightpad, the <code>Audio::noteOn()</code> method is called with 3 arguments: a MIDI channel corresponding to the waveshape that should be generated, a MIDI note number and an initial velocity. Whilst the note is playing, the amplitude and pitch are modulated by calling the <code>Audio::pressureChange()</code> and <code>Audio::pitchChange()</code> methods from the <code>MainComponent::touchChanged()</code> callback. The pressure value of the Touch instance is used to directly control the Synthesiser amplitude and the distance from the initial note trigger on the X-axis of the Lightpad is scaled to +/-1.0 and used to modulate the frequency of the currently playing note.
+The <tt>Oscillators.h</tt> file contains the waveshape rendering code. It contains an <code>Oscillator</code> base class which inherits from SynthesiserVoice and has a pure virtual <code>Oscillator::renderWaveShape()</code> method that is overridden by subclasses to render the 4 different waveshapes.
+
+@section blocks_synth_summary Summary
+
+This tutorial and the accompanying code project have expanded on the topics covered by previous tutorials, showing you how to display more complex programs on the %LEDGrid and how to control simple audio synthesis parameters using the Lightpad.
+
+*/
--- /dev/null
+/**
+@page getting_control_button_events Getting control button events
+
+Control button events are communicated from Lightpad and Control Blocks to your application via ControlButton objects.
+
+You can obtain an array of %ControlButton pointers associated with a specific Lightpad or Control %Block from its corresponding Block object using the Block::getButtons method---see the @ref discovering_blocks page for an example of how to obtain %Block objects.
+Each pointer to a %ControlButton will be valid for the lifetime of the %Block object.
+
+Once you have a %ControlButton you must register as a ControlButton::Listener to receive button pressed and button released callbacks.
+The process for doing this is to have one of your application's classes inherit from %ControlButton::Listener and override the pure virtual methods ControlButton::Listener::buttonPressed and ControlButton::Listener::buttonReleased.
+Then, when you register your derived class as a listener to a particular %ControlButton, your overriden methods will be called when the corresponding button is pressed and released.
+
+Registering a class derived from %ControlButton::Listener with multiple %ControlButton objects is done as follows:
+@code{.cpp}
+class ControlButtonListenerExample : public ControlButton::Listener
+{
+public:
+ ControlButtonListenerExample (Block& block)
+ {
+ for (auto button : block->getButtons())
+ button->addListener (this);
+ }
+
+ virtual void buttonPressed (ControlButton&, sourceControlButton, Block::Timestamp timestamp) override
+ {
+ // Do something when the sourceControlButton is pressed!
+ }
+
+ virtual void buttonReleased (ControlButton&, sourceControlButton, Block::Timestamp timestamp) override
+ {
+ // Do something when the sourceControlButton is released!
+ }
+};
+@endcode
+
+When your overriden <code>buttonPressed</code> or <code>buttonReleased</code> methods are called you have access to two paramters: a reference to the %ControlButton that generated this event and timestamp for the event.
+
+You will find multiple examples of control button listeners in the @ref example_applications pages.
+*/
+
--- /dev/null
+/**
+@page getting_touch_events Getting touch events
+
+Touch events are communicated from BLOCKS devices to your application code via TouchSurface objects.
+
+You can obtain a pointer to the %TouchSurface associated with a specific BLOCKS device from its corresponding Block object using the Block::getTouchSurface() method---see the @ref discovering_blocks page for an example of how to obtain %Block objects.
+For devices without a touch surface (such as the Control Block) this method will return <code>nullptr</code>, but if the device is capable of sending touch events then the pointer to the %TouchSurface will be valid for the lifetime of the %Block object.
+
+Once you have a %TouchSurface you must register as a TouchSurface::Listener to get touch events.
+The process for doing this is to have one of your application's classes inherit from %TouchSurface::Listener and override the pure virtual method TouchSurface::Listener::touchChanged.
+Then, when you register your derived class as a listener to a particular %TouchSurface, your overriden method will be called when the corresponding device is touched.
+
+A safe way of registering a class derived from %TouchSurface::Listener with a %TouchSurface is as follows.
+@code{.cpp}
+class TouchSurfaceListenerExample : public TouchSurface::Listener
+{
+public:
+ TouchSurfaceListenerExample (Block& block)
+ {
+ if (auto touchSurface = block->getTouchSurface())
+ touchSurface->addListener (this);
+ }
+
+ virtual void touchChanged (TouchSurface& sourceTouchSurface, const TouchSurface::Touch& touchEvent) override
+ {
+ // Do something with touchEvent here!
+ }
+};
+@endcode
+
+When your overriden <code>touchChanged</code> method is called you have access to two paramters: a reference to the %TouchSurface that generated this event and a reference to a TouchSurface::Touch.
+The %TouchSurface::Touch class contains member variables describing the postion, pressure, velocity, timestamp and more.
+
+You will find multiple examples of using TouchSurfaces in the @ref example_applications pages.
+*/
+
--- /dev/null
+/**
+@mainpage Documentation
+
+Welcome to the BLOCKS SDK documentation.
+<br>
+
+Here you will find all the information required to start creating BLOCKS applications.
+A brief summary of the main sections is below.
+
+<br>
+@subpage downloading_the_sdk
+
+This section describes how to obtain the SDK source code, either via the <a href="https://github.com/julianstorer/JUCE">JUCE framework</a> or @ref the_standalone_blocks_sdk.
+
+<br>
+@subpage connecting_blocks
+
+Lightpad and Control Blocks communicate with a computer over USB-C or Bluetooth, and communicate with each other via magnetic connections on their sides.
+This section contains instructions for configuring your setup so that all the components can communicate with each other.
+
+<br>
+@subpage discovering_blocks
+
+Once you have connected your device to your computer you need to be able to discover it from your application.
+This section outlines the procedure for Lightpad and Control %Block discovery and provides some simple example code which monitors for new connections.
+
+<br>
+@subpage getting_touch_events
+
+This section explains how to capture touch events from a compatible device and, building on the @ref discovering_blocks section, displays some example code.
+
+<br>
+@subpage getting_control_button_events
+
+Lightpad and Control Blocks have control buttons, either a mode button on their side or labelled buttons on top, and this section shows you how to obtain button pressed and button released events.
+
+<br>
+@subpage controlling_led_grids
+
+This section explains how to control the LED grid on a Lightpad.
+
+<br>
+@subpage controlling_led_strips
+
+Control Blocks have a strip of lights running along one side and this section provides instructions for controling the individual LEDs.
+
+<br>
+@subpage controlling_control_buttons
+
+As well as providing button pressed and button released events, control buttons also have LEDs.
+This section explains how to change the colour of different buttons.
+
+<br>
+@subpage the_standalone_blocks_sdk
+
+The easiest way to get started using the SDK is via the <a href="https://github.com/julianstorer/JUCE">JUCE framework</a>, but if you want to integrate BLOCKS functionality into your existing application then it may be more convenient to use @ref the_standalone_blocks_sdk.
+This section gives an overview of building and using the BLOCKS SDK as a library.
+*/
--- /dev/null
+/**
+@page the_standalone_blocks_sdk The standalone BLOCKS SDK
+
+The easiest way to get started developing BLOCKS applications is to use <a href="https://github.com/julianstorer/JUCE">the JUCE framework</a>, but if you would prefer not to use JUCE directly the standalone BLOCKS SDK can be obtained from the <a href="https://github.com/WeAreROLI/BLOCKS-SDK">BLOCKS-SDK repository</a>.
+
+The most straightforward way to use the SDK is to compile the SDK source code into a static library.
+Then, in your BLOCKS application code, you can use the header files in the SDK to give you access to the BLOCKS classes and functions.
+Finally, when you want to compile your application, you must link against the static library to get all the BLOCKS functionality.
+
+@section standalone_building_library Building the SDK library
+
+The source code for the BLOCKS SDK library is contained within the SDK directory of the BLOCKS-SDK repository.
+Here you will find a header file that you can include in your own projects and the <tt>Build</tt> directory contains an XCode project, a Visual Studio project and a Linux Makefile for compiling the SDK source code into a static library.
+Open the appropriate project for your platform, select either the "Debug" or "Release" configuration, and build the project.
+For MacOS and Linux this will produce <tt>libBLOCKS-SDK.a</tt> in either a <tt>Debug/</tt> or <tt>Release/</tt> directory, and for Windows this will produce <tt>BLOCKS-SDK.lib</tt> in <tt>x64/Debug/</tt> or <tt>x64/Release/</tt>.
+
+@section standalone_using_header Using the SDK header file
+
+To use BLOCKS classes and functions in your application you must include the <tt>BlocksHeader.h</tt> file in your source code.
+You must also tell the compiler to look in the <tt>SDK/</tt> directory for additional header files, which you can configure inside your XCode or Visual Studio project.
+If you are using the command line to compile your application then you can see an example of how to do this in <tt>examples/BLOCKS-SDK/BlockFinder/Linux/Makefile</tt> (which is also appropriate for MacOS, despite being located inside the Linux directory).
+
+@section standalone_linking Linking against the SDK library
+
+You must also tell your compiler where to find the SDK static library before your BLOCKS application will compile, and include all of the dependencies for your platform, which are listed in the @ref standalone_dependencies section.
+Again, this is configured in your XCode or Visual Studio project, but if you are using the command line you can see an example of how to do this in <tt>examples/BLOCKS-SDK/BlockFinder/Linux/Makefile</tt> (which, again, is also appropriate for MacOS).
+
+@section standalone_example An example application
+
+The source code for this example can be found in the <a href="https://github.com/WeAreROLI/BLOCKS-SDK">BLOCKS-SDK repository</a> at <tt>examples/BlockFinder/</tt>, with the parts that are specific to different operating systems in the corresonding subdirectories.
+
+The main functionality of the application is contained within the following class:
+
+<tt>BlockFinder/BlockFinder.h</tt>:
+@include BlockFinder/BlockFinder.h
+
+<tt>BlockFinder/BlockFinder.cpp</tt>:
+@include BlockFinder/BlockFinder.cpp
+
+All this class does is create a PhysicalTopologySource and register for TopologySource::Listener::topologyChanged() callbacks---for more information about how this works you should see the @ref discovering_blocks section.
+When the topology changes we print some information about the available BLOCKS.
+
+The <tt>main</tt> function of the MacOS application is the easiest to understand.
+
+<tt>BlockFinder/MacOS/main.mm</tt>:
+@include BlockFinder/MacOS/main.mm
+
+Here we simply perform some JUCE initialisation, instantiate a BlockFinder class, then run the event loop.
+Whilst in the event loop, the <tt>finder</tt> object receives TopologySource::Listener::topologyChanged() callbacks and we see output printed to stdout when BLOCKS are connected or disconnected.
+
+@section standalone_dependencies Standalone SDK dependencies
+
+- A C++11 compatible compiler
+
+@subsection standalone_libraries_macos MacOS frameworks
+
+- Accelerate
+- AudioToolbox
+- CoreAudio
+- CoreMIDI
+
+@subsection standalone_libraries_linux Linux packages
+
+- x11
+- alsa
+- libcurl
+*/
+
--- /dev/null
+import os
+import shutil
+import re
+
+
+def get_curly_brace_scope_end(string, start_pos):
+ """Given a string and the position of an opening curly brace, find the
+ position of the closing brace.
+ """
+ if string[start_pos] != "{":
+ raise ValueError("string must have \"{\" at start pos")
+ string_end = len(string)
+ bracket_counter = 1
+ start_pos += 1
+ while start_pos < string_end:
+ if string[start_pos] == "{":
+ bracket_counter += 1
+ elif string[start_pos] == "}":
+ bracket_counter -= 1
+ if bracket_counter == 0:
+ return start_pos
+ start_pos += 1
+ return -1
+
+
+def add_doxygen_group(path, group_name):
+ """Add a Doxygen group to the file at 'path'.
+
+ Namespaces cause all kinds of problems, and we need to ensure that if
+ the classes in a source file are contained within a namespace then we
+ also put the @weakgroup inside.
+ """
+ filename = os.path.basename(path)
+ if filename.startswith("juce_") and filename.endswith(".h"):
+
+ group_definition_start = ("\n/** @weakgroup "
+ + group_name
+ + "\n * @{\n */\n")
+ group_definition_end = "\n/** @}*/\n"
+
+ with open(path, "r") as f:
+ content = f.read()
+
+ # Put the group definitions inside all namespaces.
+ namespace_regex = re.compile(r"\s+namespace\s+\S+\s+{")
+ match = namespace_regex.search(content)
+ while (match is not None):
+ namespace_end = get_curly_brace_scope_end(content, match.end() - 1)
+ if namespace_end == -1:
+ raise ValueError("error finding end of namespace "
+ + match.group()
+ + " in "
+ + path)
+ content = (content[:match.end()]
+ + group_definition_start
+ + content[match.end():namespace_end]
+ + group_definition_end
+ + content[namespace_end:])
+ search_start = (namespace_end
+ + len(group_definition_start)
+ + len(group_definition_end))
+
+ match = namespace_regex.search(content, search_start)
+
+ with open(path, "w") as f:
+ f.write(group_definition_start)
+ f.write(content)
+ f.write(group_definition_end)
+
+
+###############################################################################
+
+# Get the list of JUCE modules to include.
+juce_modules = []
+with open("../juce_modules.txt", "r") as f:
+ for line in f:
+ juce_modules.append(line.strip())
+
+# A temporary directory to hold our preprocessed source files.
+build_directory = "build"
+
+# Make sure we have a clean temporary directory.
+try:
+ shutil.rmtree(build_directory)
+except OSError as e:
+ if e.errno != 2:
+ # An errno of 2 indicates that the directory does not exist, which is
+ # fine!
+ raise e
+
+# Copy the JUCE modules to the temporary directory, and process the source
+# files.
+module_definitions = []
+for module_name in juce_modules:
+
+ # Copy the required modules.
+ original_module_dir = os.path.join("..", "..", "..", "modules", module_name)
+ module_path = os.path.join(build_directory, module_name)
+ shutil.copytree(original_module_dir, module_path)
+
+ # Parse the module header to get module information.
+ module_header = os.path.join(module_path, module_name + ".h")
+ with open (module_header, "r") as f:
+ content = f.read()
+ block_info_result = re.match(r".*BEGIN_JUCE_MODULE_DECLARATION"
+ "(.*)"
+ "END_JUCE_MODULE_DECLARATION.*",
+ content,
+ re.DOTALL)
+ detail_lines = []
+ for line in block_info_result.group(1).split("\n"):
+ stripped_line = line.strip()
+ if stripped_line:
+ result = re.match(r"^.*?description:\s*(.*)$", stripped_line)
+ if result:
+ short_description = result.group(1)
+ else:
+ detail_lines.append(stripped_line)
+
+ # The module header causes problems for Doxygen, so delete it.
+ os.remove(module_header)
+
+ # Create a Doxygen group definition for the module.
+ module_definiton = []
+ module_definiton.append("/** @defgroup {n} {n}".format(n=module_name))
+ module_definiton.append(" {d}".format(d=short_description))
+ module_definiton.append("")
+ for line in detail_lines:
+ module_definiton.append(" - {l}".format(l=line))
+ module_definiton.append("")
+ module_definiton.append(" @{")
+ module_definiton.append("*/")
+
+ # Create a list of internal directories we can use as subgroups and create
+ # the Doxygen group hierarchy string.
+ dir_contents = os.listdir(module_path)
+ subdirs = [x for x in dir_contents
+ if os.path.isdir(os.path.join(module_path, x))]
+ module_groups = {}
+ for subdir in subdirs:
+ subgroup_name = "{n}-{s}".format(n=module_name, s=subdir)
+ module_groups[subgroup_name] = os.path.join(module_path, subdir)
+ module_definiton.append("")
+ module_definiton.append(
+ "/** @defgroup {tag} {n} */".format(tag=subgroup_name, n=subdir)
+ )
+ module_definiton.append("")
+ module_definiton.append("/** @} */")
+
+ module_definitions.append("\n".join(module_definiton))
+
+ # Put the top level files into the main group.
+ for filename in (set(dir_contents) - set(subdirs)):
+ add_doxygen_group(os.path.join(module_path, filename), module_name)
+
+ # Put subdirectory files into their respective groups.
+ for group_name in module_groups:
+ for dirpath, dirnames, filenames in os.walk(module_groups[group_name]):
+ for filename in filenames:
+ add_doxygen_group(os.path.join(dirpath, filename), group_name)
+
+# Create an extra header file containing the module hierarchy.
+with open(os.path.join(build_directory, "juce_modules.dox"), "w") as f:
+ f.write("\n\n".join(module_definitions))
--- /dev/null
+@font-face {
+ font-family: Contax Pro;
+ src: url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAJiRAA4AAAABUWAAAAAAAACXEAAAAYEAAAMDAAAAAAAAAABPUy8yAAABmAAAAF4AAABgrdy8RGNtYXAAAAH4AAACDwAABUzY1fOiY3Z0IAAAlRQAAAAYAAAAGANFBVdmcGdtAACVLAAAAbEAAAJlD7Qvp2dhc3AAAJUMAAAACAAAAAj//wADZ2x5ZgAAEPQAAIQWAAEwPGaa+PZoZWFkAAABZAAAADMAAAA2+Sj41mhoZWEAAAQIAAAAIQAAACQIEgR2aG10eAAABCwAAAL3AAAGEERvTmZsb2NhAAAN6AAAAwoAAAMKtUJqCm1heHAAAAFEAAAAIAAAACACowGlbmFtZQAAByQAAAJ1AAAGn7ZGmb5wb3N0AAAJnAAABEwAAAebErxnynByZXAAAJbgAAAALgAAAC6w8isUAAEAAAGEAEoABwAAAAAAAgABAAIAFgAAAQABVwAAAAB42mNgZGBgYGJwFLGtrIznt/nKIM/8AijCcFrhljyM/p//X4zFhSUGyOUAqgUCADoRCy4AeNpjYGK8yjiBgZWBhamLKYKBgcGbaQ9TFwMD410GI4ZfDAxMDGzMzCCKZQEDw3oHBgUvBihIzC7JZAAK/GZh+vdfjDGOxYxRQIGBcbIvUI7xPdMsIKXAwAwACPAQfAAAeNrt0ktQjWEcx/Hv875pwQIVUs3j6THOppkmMzYMKcPM0UzDimEVnVC55FZyOXIJuUvuUW4lQuSWjoSUcmdjGPP2nrO3tKBzXi8L07C0seg/839m/v/NZ+b5/wADMN2Oc1/hjk1EGdXuvIgMBuHBL2JFivCKbOEXlSJsJBpdRrfx2fSbVWaDGTDbpSmHyDFyrMyUc+UCWSjLVZxKUFJp5VFpapKarhqTdbJHGzpaD9UxeoRO0FKnaK/O0Xnjer5HOY7rKWrFSJEqssRs1/lmxBudrvOhn2PIwVJKLTPkHJkjC2SZilXxKkmpX87EP5zhrjP6t+NzHRzHCYHT5gScVqfFqXOmQqQ0XBfJ76sNN4dr+lrCFSFvaFooLZQaiglGgl+DX4If7Ww7y55pe+0Z9mR7gp3S29E7q1dbRVam5bNyrflgzbOyrfFWgjXqU3O0/+cv4qNfiXT+uYTx18pkIbmulOfeajFLyKeAQpayjGEsZwVFrGQVq1nDWoopYR2lrGcDG9mEn82UsYWtbGM75exgJ7uoYDd72Ms+9nOAgxyiksNUcYSjHOM4JzjJKao5zRlqqOUs5zjPBS5SRz2XaOAyV2jkKte4ThM3uEkzt7jNHe5yjxbu00qAB7TxkHYe8ZgndPCUTrp4Rjc9POcFL3nFa97wlne8F1NEukgUSZSI4oFsDmTzf83mDxjVbR0AeNpjYGRgYPr3X4wxjiXnf/7/fBYXBqAIMmBsAQCbfAaQAAAAeNqNVM9LVGEUPfc+8zfTOKCYORJB6mgjI5ppjiGpU4vKGUcGleq5MEiQiqI2RlCLIIjatAiD5g9o68ZlQfsWLSNIKKpd6qqw6dxvniKTAw0czjfvu+99955z7ydH4X5ygeBaDmBWnmNRkzhGnPEq0am/MCXAokzDJ/o1gZs6g2GpRoPM4hR5Tu6infHDxANigBgnmogxopeYC/Z7XDzf5TcG7TvESXmPE94HXNMlQC9jQZ/wnDVynIhiwVP+X8WChHFdviOk5/m8hs9vo1nXyRHudwU8y70+9Mo2ovoO8/ZNFxdHpdYVtrQbh1nHQ+bcQh7TAda8RRE2Gd+Ibl1GTiNIkBOaRkKmEHHrDHKMSWOz8ELW3dr3HjOWz9V38TmLk0nk5AfiMoF67mVlA7VeK6LyBiH5gxp5i1aeO4JPmCEnWf+46U5tzhKjpjsRs31NYZznbVtd8gojzD3mNJvGRZ4P5n3VeXELHUSMz8Z45rR2oM105v9GSWOI7/by3RT9HAoQo+aDTu994N0pfHYexAMPAlD/48QUUUvU0yPs6F8K5uU7Ng/2wjygV9pOvUzvfeC9JkeK+u+FeWQ1UpPfpoueLvri9C+F6eSjwzzYC/PAvHJs9dqZpWy12/nl2HrzmWO43jB90uXZ9e9yeWZvX9FM4Se5mTnWUFtlfZvkg87nMJrIVWSfPK9fOAcfkbZZsH60ebCeNHAu5hmTsfkgJ42lCv4uH0KdRDkL9M1pV4add9Rxl/Por2hkrpwv6/GA+wI+52aOfV+ObR5tJkrZ9YR5859ss2zzZH3kPNyZac7VP5xk7oGn1tOur4J8gh4ybBTnGmF8RYvpznWDriBMLYY5g+3uTrL5XnOcsDvJ3QurgVaWk90FXUFcSc07OZey3TveN/pbjT5igAhJnus879U8z09xRgnGZRl3v2IJnZLl7GaRwqPCDdZX5eVwhDzEXHuIUdf3l9DG/Ct1EPfsfgnu2SJWMKkvmftEEd7TACHk/gKWuhhiAHjarVTNahRBEP6S2VGionjzINIHCQpxs9FEUVHRBUEMGDSI19ndmd0hOz/MdnajJx8gR/FZgs/hY3j27Fc1PZNJBiGHpZnu6qrqr/4HwA38wgoX9IOjO7jp/4aHlc4abz+9v44udUp6Fav+D0d7mHvfHd3B3Zrv48R76ehLuO2fOPoyjjvHjl7DG/xx9BVqV/hXse6njr7WoK/js38L+5gghMEIMcb8LAJMub6SFyLFEBllIT+DhLIh9WPy5U3BPaAkwIAvhDOjdkSMBXmFciJyCp45d0E6JIK8H5Mnyzr7+7SYk4rURkgkQ8xY6ZS30gNLDEPNjDiGUtESD3PyCo1gQp1S9x4l93lu4SnXE1Kv1csjUu/VyjeipNjQ6AfknHph8I6SlMhz8i2RM/Wi61CmPD/W9mZ6C9XLgi/EflfRJs7Hdl5KfhV9mZ1c31vNvegvw2PRDUiN1KZt5VWqc1ZLqiweCJblOahr3ayhxCivDl1tNlwPzag1VYSKm+ibmPHE5zSH1Mzq2pZ9YrkH6lmk2SicdKHeT7TytpE5yU6uWjONbaF9YLULUo0qd37PtbOXl1mp8AdqveX5kLce1xaeYw+fyJFbxe2R29f4Qu1H4XbxCNvkS/cmvCW0FimyVWzrrMf/sT10ugFjeOAi7BJxh7dp3Zld5iPCgWZEvBnz/MK935qZ03lZTs9VU9ecmOLMxBStiek3YjLMY6HTLjEZ7Orbam6CulPk35ToVB0stbYT7aEcz7DJtdDVrlJZvU2+lt5enPtjvdL7CC+Yjcesd+9CVU3W71wgE02NUi5SlfWz1AZHZq/IzPaO2Y3H/wCkvxpLAAAAeNptkgV0E1kUhr+/LRNquLu7tJRSHGrQllKgQqHoNE3TlAikCYXiuu7u7mfd3d3d3d337J4Vts0MTJazc07e972cuffdO/eRQOw5sIVu/M+jvW0LCSSSRDsMXLQnmRRSSSOdDnSkE53pQtfW+O70oCe96E0f+tKP/gxgIIMYzBCGMozhjGAkoxjNGMYyjvFMYCIZZDKJLCaTzRRymMo0pjODmcxiNnOYSy555FNAIfOYTxHFlLCAUhZSxiIWs4RyKqikiqVUs4zl1LCClaxiNWtYi8kl7GUf93I6X7Cf4zmG87iKSzmat9jDKfzEzxzHGRzJw7zHj5zP1fzKL/zGxVzLkzzOddTi5kTqeBoPT/AUz/MMz/IcX1LPy7zAi1yPlx84idd4hVdp4Gu+5Sga8bGOAH6CXEiIDawnTBNRImykma/YRAub2cI2tnIHF7GD7exkF9/wHXcpQYlKUjsZcvE3/6i9kpWiVA4IpSldHSR1VCd1Vhd1VTd1Vw/1VC9+5w/1Vh/1VT/11wAN1CAN1hAN1TAN1wiN5HWN0miN0ViN03hN0ERlKFOTlKXJytYUPuJj5Wiqpmm6ZmimZmm25miucpXHDdyofBWoUPM0X0UqVokWqJQ/+YtP+FQLVaZFWqwlKleFKlWlparWMi1XjVZopVZptdZorUzVcrfcqpNH9XzG51wurxrkU6PWyc8bfMjbvMO7fMCbvM+VXMA5CiiokNZrg8JqUkRRbVSzNmmzWrRFW7VN27VDO7VLu7mJm7mN23mEW7iVR9nNQxzBNTzGfdzPPdrDsZzJ2ZzF91zGyZzLFZzAqZzGna23/wEe1D7t5yVXbsB0h0NBl2nRyK0NezZ6DDMGV27IGwp61rlMi6n5bl/YHQ3U+z2bUt2Ou6JBX0ZmRq7NPKPAbbYlq7NQ0JrZjLgK7aM8NmMvZ06xmeMqtA/zWDQKrWhPDKnz4472Hn70pAybmTYn2cxKLYqLa3A8qajWDCc1tC5GccTnr/MYvhhcxXZ1PpvFdlU+m7G8WRkJxSUJvsbUkrjsjYdXlWX3lpVjc6pRarqjEY/hj8H+N89mvlFqdeyPIam0LhRJ8rcuRpkVFYyLmpxtc4pRZkUFY0gsDHoTPUGva5Fdf8hi+qKGaNBrhqMBvxmNpIfid0a5lT8clz/brj07xyi38octVFjvNsWQWhHXf5PjaZXuUCBgmm63JxhJi8RtjEorTcTqsbJtCpG2KVRZU4haU6g6eEfsa1llXctoDO2qwr6gt120bU2v+k9f0fidq+rgzOzrWx1XbXOcL4/zzY4bNVavLTGk1LSOwmoipcXR3LYqrBfMQ+rKLbRoemJMq4j/Hk1xm5Q8J1WtowWO1jk6z9F6R4scbXB0oaMBRxc7ut7RCkebHK10NHJIjWpv2GydRLOFausLNceQXF3n84Q9Tb6m5OaDllQYDYcS6usT6+t9rT//v56TM1QAAAAAAAAAAAAAADwAYgE0AcQCagNaA3QDlAO0A+wEKARWBHAElATEBQgFSAWcBgAGSgakBvgHLgeuCAIINAiECNAI8Ak6CaAKXArGCzILbAukC94MFAxuDKQMwAzuDUQNag3gDiAOZA6kDxIPcA/WEAQQPBCEEPwRjhHiEhwSQhJwEpoS3BL0Ew4ThhPYFBQUaBS4FQIVaBWqFeQWLBaCFp4XAhdEF4gX3hg0GGIY0BkKGUwZlBoKGpoa9BsuG4IbmhvuHCIcWBy+HTgeGh6gHsIf1CAGIH4g7CFYIX4iCCIiImIirCL+I1wjjCPUJCwkTiSgJNwlMiWYJi4m3CeaKAQogCkQKbQqViroK4Yr8ix0LMAtJi2eLf4uJC5sLsQvBC9gL9YwLDCgMSwxqjIgMrYzdjPANCY0ojUGNX41xDY4Nr43ZjggONI5djoiOso7TDuwPDA8yj1MPXQ9vD4UPlY/ED+GP95AUkDcQVhBykIEQsZDGEOIRApEeET4RU5F1kZQRtRHcEgcSKxJTEmyShhKlksWS2pLwExATMBNNk20ThBOgE7ETx5PbE/aUDpQuFEwUcpSaFMSU55UOFSsVSxVslZEVrhXOleYV/pYSliaWL5Y4FkiWXhZrFnIWgpaglruW1pb1lxQXKRc8l02XYZdzl4eXmJenF7MXzZfll/6YGZgymE2YbBiMmKQYuhjNGOCZB5kvmUsZbxmQGaYZxxneGgQaIRpHGm6amRrFmvCbHBtHG3ObipukG78b2BvqG/6cGhw3HEecWpx0nJCcrJzKHO4dFR0uHUsddp2iHcUd6p4JHiEeOR5MHl8ee56YHrSe5B8XnzwfcZ+Wn72fzh/fn+6f9yAGoBOgIqA3oEygZaB0oJSgsCDDIN2g76EIIRohMCFSIXGhhqGiocKh5KH2ogwiLKJOInUim6LCoumi76L1owGjDaMZoy0jQiNWo2WjeSODI5WjyyPZo+ej8yQOpDUkTCRhpH4khCSXpLGkx6TeJP+lFKUppUUlZiWFJZylyaXvpgeAAB42tS9CZwcdZU4Xt+qvu/7mHumZ6bn7J509cykc0xOEnKSkBtCCCQBEi4FQcMpCioqQTkCm3VxxV1BBKnqGUSyqINyurY/BYwrCqy6iO5PQDeIREnP7733raqu7plJgqj7//MJPT1VPV3fd3zf/d5XEIUtE28L94uPCpLgFpYIRbsg9CruUlGUhF6meLKK85BiLcG/UcHqdPQqrKSwrCKUVC/rVQUWDI3a7C53e7wgqKI7GFKEwsCM4VRQDkVsbZ35odznZDmQbEsk2p5gfzx6Ob5JCPCfKOxmL7Je8d/huXahS8AvtciKWFJsOaY4sor1kGIpKZaAylgvPs7JeoWBGSw1KNvhf9abzd6WybAXX3/9dfiuDvjCuHhAqBea2UlC0Q0wFGFZsiwXoyK8jySS8H7M43dHvb1FsakZflM8paLV4czlcmPhAF1nDY14PVwqxuJ1cJ0pLVm1FR4/VHdw3qK31gjRXpfizijRjOIOqC7LESUaUCOWI5Wb9oySzCj2gGqDm8mAmoAftsAosyXDvaMivVrxFT4y6rAn4I0rMOp0ReGNOzDqcUfgA356DdBrGF/xMzH6DPxVnP4KvrNO/54G/Xsa8TOjTfonm/G6ND/BRKvN7nC63B5/IByJxuKJZF1DY1NzZpr/lPl1hGi7HE3ZU8P0/6BM/8t2+t8O98T4lbFL97b3pD6T6k1ddlX00r2tva03t/W0XHbPzbHPsAM3pX8F/6Vv6voP+K/rJqDywokvst+IrwmtQO2s8ClBsWUVSVa8JaU/V7R5Xb2j821WZ6+SyipNshIpKfFcMZLCy5GoE1hxIKsEDymdJcXZciiouEpKZ0D1sd6iNdIGtFL6SkUp1kTvAmo38YxSj5+sK6kzgHdUrw24015QUsH5TqfgCtbVN7f1Ad8OzOiI2OzR1GCGpYebWDyYYYP5oeFBOQq/2OEi/EwP+lg0EovnO9PBEcZ+c/7a3lV7nAOO1bO2rj5rWe+Srb4ZnsXZcza+OrRg8K25K0dWPLZ8l+Pcc6ynLXANLrKyWHzF7EXbHKefZlk+09Wdt/wuuX7vL60Ls1255wbmRst/sK0UrELXxNviS+LdsBvcQhg4OSX8UChKwMmqExhZqS8Vw8DKqsMNvzSXxuJ2KeztVeKlsZSf3qVKTGknHLWWlFbgT8CBE7AVUBvhHaDZG1Ct8C5ZQs50wztHSXEE1CjDTa12cD6fKf3chawsMeAD1dUK+9sfam4DPKmNTvjFF25K4S/uJO58KV6Hv0Qd8ItdjNWTGIjXw2/MYhXwVnMKfvEGgh7CdLsmFCSWYjbtvZDvbLNFYsZP8aVtH9u27WM95U9k2d5v0nv2xYXbFy7cXv4+/fgZXtrGzju6UbyPbm87+uTZixefvZjdTz9AHpw68UfxYcBln5Bni4WiDWWaVS468adcKiYAkUpjaay3x5kAzAmy0gvIG8wqvkPKQEkZ4EhpKSktAbUL3knAW13IiZLg7C12Sfi2qwd4VYKdDvetJXWIo++HLz33L4g+H2xRJTyuWANKalxJBUYtKStsy3Bg1B62wS4N0msIX/FuB94d7dQ/0093M/hahFstn2z5ZMrmC4YKSmdBsRSK8Hf4S7CgZApKfwG4WpjvstiDqY7O/kwoXNnLbOrLQFqmdrUAZZyJOhkoo0hBhQHpemTYIz4gdW8wpEbrCwUlARuogOIgZrPHU2lbqi0j4vagVzkXt3em2my4NWLNbKgznRpsldL4u5wTH74xZe27bPHaU98/58zB+jUjDU0Npy9YNdjUNSs7p73PaXk1ZUmtY97nf/XBPWvPYJ+cecuSK9af0Tl7ftPIxY31qdnNM0/t6+qc2dmc73dY3xi5criv/I3X5+0Y2SYw1B3CHaQ76klziEA+S1Zhh3DXg7KwkrIIg8y6g5SEAH9z5sQAaxG/JTiFuFC0knZzgQQ6BNsAdwN83mrvHMwPx2H5rKXzHz/Xse/riWffevO5xHM/exn+Pj8xIPxB/3uH/vdWfKT298MRe3poMJ8ejv0B/nhfx+fe/sNz8edeevGHyR/B37+PXc3GQc/6hBmgoSTkyJIigZLxZxX3IdBGagA0qgd0aNHi8hYKQA63FchhQfTb4/a0PT2cHo6nZfswG79xS/cpp3RvuTFwgz3v+JiY7bi46UMfarq4Y4Z8880y6lcmzBZSYqOI0mSNoFizyOW2kuLKFa025F+rBKxss5LYdTi5qgdk2HOog5050P94S0SGl0TifRDOqPQB0I4UiEtALshIWWx8IfMC/Cv/9KeZn/4Unhuc2CV8WZgPtJkvKCIQRYb9Q+QRD5H1EFAlrtKtfM/MWvvKF3HPWOCWIoyLikAMiggF3fPlHYM75sMXE0yzhFdZMwvDdzdodNdIr1sJVm19YCE0v/LKq33wN6dN/FF4QFgOcrWDy1PFXtJ/6pYGLks3MYY0ufQAWS0z8CWJz+6cuI+tFf8Iz55Hz5ayOlAGKEon7CsmZp4BW4hlnmGqJOB7Qco8A3dFpoHFpHSYrX0n+4743++Me6X53B6aDfKfgcxyCkFhkbbSYKnoQFnlgZWGsortkOIvKX4uvWHBYWAYtx+2qkNCdvEEUfBabQLJWiEAm7UzAJs0FIA9GojJIrt257lXXXXuzpXKujPOWCcK5QN3f4Gd94WjN4grbyh/8waO4+vg5XRYh03YJhQZWlJWWMKoxKwO4BI7mGmHADqwQUqqowK1ZEFILRzSg/EnHr8NSWoFA06xjltAUCoiUFbMMMWqU7c1FQSWltnp8u2hR1rF8+f2LMfnD8HLj+D5EeEs/nw0yLyIBQdgIaptOSWQU2OcfwZ6fvRTsr5YxgdPsaph+xGfEhoHIoRg948ykcs+eqzqCMMGc7kDsMEGZnQzNgLaHmQY7Fw5F4tG/KyV/ah8Fkv0t5827zQ5Xbh68yUbXmSDbH5+SWpk85b4+y9Zv+bsd2CdiyfeZr+EdXYIp2vUcpaKjbjORGksGJAavUg/pnRmFQ+tOIrWSEupGG3B7RQNwHZKo2ESAL1atAo2WJESDCopELqhYl19C60QbJNUG9olcg5ES2cvG+RvKiu22ZsY++VHt16zsDd+anbJ2ectW9Z91qY1szb1dc/fs/6CocLCJePrP7Chrqlty8jCdb1z5s5cPNSw7KzlA6uCwW3AdzFgvhhsOgdIirM0SLi4cJdAHJBgcB0CSYXig4Gp5iKZIXBpgASYccOPL+Mb2JaxIrlVl+2IVXGPS4JqcwEJVKtbtytJdLSyoJwKMjF2kVz+Arvloi9MCI8//gT7v+WFbE75ccDtIsDtb8GeTxorcpSKQcRtBCwfnxQky4cpdVklcEiJAk4DhNMw6OQo3x6wKetxe0RhT0gOX5xMEx8aKoDqAOq8eFCJVjAcM/AabI22RhG37Le3X3jWkvY5qzdcct7m5fPYsvKvBnLnXf+zXdfOTc3YceqGMztYNvOo/2q+f2fA/vUDHsNCs7BYW3UjWLFZ4oIW2r11JaUOXAa+PPAs1EhdMDTmlvxkH4Hp1AisYBP8FdKDRhoRh+M+ZscV2fOauoXFiv5Pn7XzpkUXbs+lF3w+OXvF9k/IF69eddFFq1Zf/Ksdn/rkrvk3XXVaZ2Pv3Zn8J86iyxddRPv7NFisH3BrRW9PxFUyuSggblFM2zQxXWQk9BmS2c7JXFj6y0ton4kBRRqXFEkjqROMudZB0V8eG2S58gHxwNFzxAsy8CyJZJoIeyQOVn+vsFfDSk+p6Mfn1ZfGmjskP9CyGZ7cRxhKl0Y9aZuDUJcOqG2EqtGQ0ObAfaUkskqopPYD5hKAqoclf9TZ3tHdQ8jr6AFJaBNgFzUH1agTftaH1JDHjEqwWxjZLdq+kbjNCdgM4ztALOBV/Oj2HdetWDxr9sWnnX7x7FmLV6w69RPrTj1p8al1Z9119o7Pnf3wmosvXjNnl8+3fsZJO3eeNGO9z7eLWfNLl5538rLy4XkbN86bs2ED54nMxH+LHoBf4wni4HhJcWcBPOIJ33Q8YXW6g7YKTwg+J/EEi/hEe3qEDWvw1PKEZ9GFZ3J+WHnmjTedteMmmQgPfMFGgSG2pDlDbNvxqU9t59cvwnWSjmRXgo70C93cf0ZNI2VJRwayihe88Ry6EwK+qkHSlLqLH6rSmEl6ZTvoTflrmv4UyS7gz3ALFwv6d3Phwv0UK2k1xZFDQ8CNaNIlTMVEcGUURwa8XdVpPYLei9t6RBxF79awa9FoUiWQpgoLqqIdFGNlpWEwKPgqo2BW6Gt8guyWmUKz2CK6Qe/B6oQsSjtQ77gn7GRZijlN3x2s+/AT36KNIGUspHAsFlA41vGDr2g3rGDCgDUDd2yWI6rV4oCboMtEK5rkY4JksdoMOxxW188GO6JeJraUE+zX5ZVsrPmlgZcyTz+t2QXC58VG9jGKkyTIkrOVdJvXkdXjIq2DILUGW8XGchP7Bf7PNmdezeB+Hzbguki3mQAuK4dLOGQAddkTj/DdDVpUgqUzyxELmGMHX/kUvwG6PKOKkoNuWhFiGwAlSAgKe4iJBlQ6WB3WQYDMCmDF2RiA9ZujCFTmJYBpEOT7HWALo1zYLhTrkd9QM6JVHICVtQFzHEI4G1Fnwr63BYgVYIekYIfY7CDGwX9vQTGeCKqBKFDbi3azRHZzAF0bwRYKkyHEYKuD/EzBrqlS9hIyBewhEPR3dOYKPUwWewr93acMbW7vz12+4uKvJJE9kmJLdmVXZuX8k7dkOmb3ZefPjW/YcPTfQolEKJhIACznTfyHdKH4pJAXFgjfFoqdCEtfqdiCez1XKs5ktJfGpLo+lHQjaA2Dfc2UhVklewi8dvD/VA/ANrukzOa+OkC5iBNl7shre7g7GUJ3Uo1ZjiiR8dFoLAKeIbxWPEMBnMlIlHw+4x1th8bZwdB8p+T0t3R29+UGSaRInbBFuroLBXUmyJqHBY+tMZUdnK1jC0TLsI8ZAiY+LNs1+TJYkTWok4yPWE3Xh6QLrzo122uPr+4pnHzFyv4Fzkj/XF9TYu6ZX/rkP7302L/efm0sd+/WB3/y1n2ff7J8eKB7zukDHau729k/XHBnobU3u3bhWTfO6Fz6jByua/zw9g/s++6BW+85vblrzmP/8sVf3XN9Sr5mpTx73TLAO26OC0DfgiUifBE8OrRUBWbBCB7IFlFGoYLmi2tyLNGtSZXTXnmIYxfcdNs42qqO8YNPfIlfVS0OBwoix7gi4G0riJtR0cHARbcERiWLA97AFbt+xYlX0OJx4H4QJQy6mSNqral0qz3Fwm4mXlC4oPziBTPZ0FVXXf3mm6JSvoQly6/CDt8JMEVBN4fA8ukUztEiF62loh25KQa2T4vNrtk+adKXrSUllsNwTx0PecFSvbhnwiUlDGK7hPELNdwKfmQACN/SShFaNH0CBSUWUrykHH1iL1hkuSaRa8V0vpdFwbfPZ/j1ERFu9G0o/PKXg6vTwVn5eQuX/vP+z/5rxJ9aPPAv9w4sbvE93Dx7Vko8kBoeqpM3ub1bj1599OvJ/t668m/revvId35bXEl6cIZmcwQ1mNCziRCF/CWMunAv5iGLVXC6+Pbt0N0YHmsgHhNXnvq+fU8/c9P71zadsv6Ke++9Yu2p8uynWMNTczvz9719n4xyE3F5A+ASddqQULTgU70lcmboqQH0ZLS4mJP7U0F6vhc2BxMK3IUiBITQ8Iaf4g3fvvkHP7j5pnuvvP32K9lPy//1LfFAefbv7jn6bYARnsdehue50Xsjv8VVKooi+fljNicTvegzkcYDbeIqKdZc0cXQyHIJGErKwRuH4WJ3MzRD+f/s5fIN7MryI2x2+Qm2VDyQKb+TKb8pmJ7pFObyyD13F1lpTLTaHfBAVBIuXZii8W7XjXd4tcDT3Jr6oCel6Fn0nDy7UrwAn/MkfD3ZjUjDEtAwKezS7Djwy5z4OF9pLBGXnF600MgmB74MlpRggDw0oVSMCfjUWByehzZ5DChcdEpuktVx8McwkpUIKraC4gsV3Z6AZuoYNk6F8kOD4D2IpbGb9z399L79u9JbP7T33nuuuOzAUTaDrdj3xFP7bnr6otbtX3nrK/90WT/Hj7iGaDKHSwhwa4o2XLNLHnNIVpuXe5UeXUbYc7qYcOa0JAf3VBE5MrzK4pp8+ap8nl2fZwvKSP/nWR/hB63ru+FZEth63G9G4k8VlwLfR747nyfEMsEHuvBGeO9Fy0v3dTz0pz6KDMHf+YkxwXlRrbZCjc8SlNmNe88+a167vGzFGfLPd394WcusXRvYI/oeKJCt7xSu4KtSBZssFy0YSpYcsmxiDxsPzAAWGEqQipzMLH/u+1xOkhvPffqDz+1+Nk5yEm0CRjcEvAFutxV9Pnw1PH0nk5kEYIuFZeV72dyF5aeWAA5Xs5Xlh8sPIiIqvGwVerT9YylpKLQRCuFXC+0Xi+aU8G0i8w2Sx51x9DbOq4mJ/5ZOB93gFL7BZShoBqvModWhmuv87TgZPDYweOxo02DYwDJ+8Dv3/vcDBBgabpYAWkNgcThUuxXug4KYs1m7bwcF4YD7znHVIjlUCe+L4we/ffS3X+EGE8uokuggE1GwHlEdTgd8VgDdYDF0A4Pdz20n45LJhGpNuaVUvSidPvjlxx+/d/AnTz8tNhz9vpg9+qqoHP2uOER4Ax/jGoDVLmzg/EMMTpEtix5wsxo5NIT8/8w5tE8LuGUwHAMfsNiPgBJUBTtY06BEraY1WBmwPqBZvKZcl2evyjFx7tGfwOO/I6bJPs0beQs/epQS9x24dHdzOWudLGdVpxcdc5tdJIsEo1h6zoDkbguI/JaQkRJ4qvxfT4F8v+We/7nnnv9ByYu/PVXOvn0fiHtuJyP/HAH+cYH2HNGoTosA48sSILVpgeWESTxZS4o/hxB7OGYiuMH8AS1/CaKnF6EGy8amiX525P2b/iFf2vR++dTFd965mL18yp7yC+KBPZ++/FTQ3BwPmwgPfrBqPy7wXINNBlVd9IkkLMF0Z+jAejBigWGKIFfZlpyarATSrDyQZuWBtP9882kn5yUyUXy496Rx8J5gg6HlTSZeMIry1OsjeRqOB1GGCroMtcftHW1chbbERAOhnznvD4nyz1jAuo8wOcgRu+pDY/Uf77qb4aWnym9p2OVydA7gNipcqksRF0gRlFJgZo1FJeZBZSMDYEyJkdQCBefi2ZFAaZQF0KUHPMe1NMktzx3mITtdbkTHJVWMcltJlQAgJVRQnGim4C7A6BcRgmiCVootJc5ZVH7iA8u3bF72ufzz299/1lpXJ1u55iOrj94mHjj/1JPPt4pcFswA+fqa+EWhQzhN407QyzGeAaLoXPgQpnpsKPPslPLhnoZSh1eSJQzSqXXgUTwkBYKuWDvxa6MLfrcJ9nCyTk8hAoorcbq0HmfADKKWIWli7LXrztx8hSvn2nbSijNO2XXOxr0b1+zxy951hYUblm27cOsj6y88a6lrztJ1I4UFifia+at2nTLiHph58tDAzFj9FoClEQD6Odk0M017HblZ4FlzCfzU0jSxez2DDkjEENzPn84/zR4XLwB8XZCB794O+3gXfHcArSVJqwKgr/eD3AzSLuYZQx/fMyHACwbUQMaRk83InwJ5HNH0krhr/wu3yx84fesHZOa6av/+q9hnypfvufbaPeyT8DwB5NYFJO/3CCTnwZfkMprHoMBNkgzJpYWgdNvchzEoNo76CAS2bserEnraeAk5ioEmYhbURPiqCTOnKNeD/V3+bvm7M8tHQWGsAUn2hDi7VmdYaD1WZ43O+PYfNZ1h0Zxk0hk2k06w2hygSFGhVOkEQ6eQPoD7rFqnzJV0neHMcL2i6QyRORAS9K/h8yeiM5hbkusl6fQXnn76J4P3Pv74lwnKIVAXCqiNLKiPBtoXICDFTrKNXuPWMehICSsmkOZFOyadZbKMLEQLfX9IXIq7KlaCFqPJ7//pDQjCwX/fo73Rrrjhb0aBJcNgcbgQO6OiDXymym1wnqwWJ9y2OOm2ddJth3GbCicE8234crfx5XDbjbeFUdHqcHN3WH9X0aksFQYcMVkSO+f98Ifzfv/SvG99Y96LLFN+lp3O5pXfYMHyY4ijiTe1uhKHcKW236zEGDYHIcdJm4KbThYevAJd6uAs6+Jo+XfLz5Jc2RJnUmLYPn4w/w6/jFwAewouWTjTikVmseO6sZhEzxfBlsUFi/G35bdHnn8OrM5b0O5kF5WfYcNAy3pYp4vkwjLNdrJpnk4lSoSLGWp78WdaqkRT/DYHKX7RcUQaxUqRir/azTCoxFpFVznIPl6+iX2/vJehrCAjiwkfmVjKguKD8MweiivZUMFpz9MsXp4z4CqOSx8rCPAo/M+CN9+8bdsj0nk97/wWvqtu4j625ARyaxLPrUmYW2M8t8aqc2tWuzTMlmSPDizzSvO9AuUSlgrP0jplPf5FMTR9ndac5jdLFPBEImB8TVtwPDUog7iUn4Xl3vxIjxTpwe/cwu5kL4o/Atm1Q4CFajuHgmo2fcNIRrhBE15Dd7x0JxceaCZrxvTBZ3bzqyQZSB0KmCYzm88slbanwuzF/L6bBr/N7vz1r9lckp972ZsT9wDOojW5UO5lWJF6b5Y97M2PUxywUVwoPCG+BZ9PcBybcuZGwjw9/ETu8h5x4YE6sml6QXf+iP1RaBC6cAfwbCCyV2epGGUUrBvzNlmjXnStmdKdVRx6SKsRtIPkzeWU+pJSH1AEFBZG7VgP3EyB6lDCBaUxWLSGomS7NHWC7eKoxyCeGgD7sBgK15Ed05rqHDSSIUYEr0lsZJH0oE/iwSn2o1xo5TUnbWo8+ZY9Jy86ZUnTmj2tc2a2yaddNVK3ZMbiS1vnnbe4kJo1O+MbWTAjNTeQWpz59bx7V3o7s/313d1nI7wbQQeuEB8FGy4prNU8alKFiRKl/IteRqYcebnkNanOKMAI+z9QyTkFbKgUvWSNJTB477KacnnI/sERxiP3es5hxa3n3LBYltvOn3PuLflL770U/v3xvDvev1t8tPzdwsw7dm/eu3fzpr17kY4DQJNDQJOoMKDFUsAPdzCBkyBGIilAlpagesG5HoPHu6OVUEp13YacG2aHTtqx+/bbzj9jeXth+cbLP7huxazheft3n3/7vJS8d/PGK2RuX8NzxQ7CTT3ihniBgipJsHARNy4dNw2Em1hJidEWUL2BHDnTyBIsBrixuAg3ScCN3StqFB6spDTiQVkyZzU65MUfO+eWW86Ze36bLF+6Yf0ll6zfcOnu999x3u47ZhbYUHm2gR5tnSnAD8bQlgtFF+UzS8UA4xG0pOgKeHHRREMv2ktKMlcUqQBNZDxEgT4srNPuKBSUZJBHyeytaNwNx02ZFzLt7PC08kL75as3nNS++n2799+25/xPyo4LV628xP1ObMOeeW0rEZef2bD+7J2nIv1C8PIR8XH4uYGvjjOVFQsSMf4g8YRhmBIjPkq6WHNFJ2VdnXYw6VxOChp5YKnktkiwUxRGuWNyXpC0UZSyaOfJuFL2kdbmzAdVNb9p8xknLxLvaGr4Un95hH27/7wLddrmxA7AWRKs5DOFog9xlioVEwxrJxlPZMK6HNxgDh7SaqPAKlKxUhKJi1ayG+PuktUXMZKtFK9QG1NA6WDcU6iJXcxlJpoPylWZrI5bLr5sWefsMzZ9cAraD120f0PT4ivP7dR4YPfbOgcwYSPgtwx8GsaMm0uL+WC9DWcBKw848qSTJ4d5J01MR5E9nVqk1AoGPtG9NRXkywoa+zbKyvktJy05Q5bDm+dvupQl1247c035Vdirv2gb/sAuwOcawOoXySd3Cwu4L8i3RyXrpVedjDqwsIIyYIhgKqt1YKWdaLNLiEdT9gpW8EVKsIH5Id5JtbRH17A3iIYTd050ac+Moh9OZHNnQRToD42RqwMmvJXLYhQRVA5hPEoNuAlqJRJUfAXTg6vCTdoSTl+a6W1KNg3PMZaSOnlHU4v/lNXszyRLgQ4/EL9JsaerzbEnEqQWwsYJhZ/6tzz74ynCTwPPnnLC4Sc2LPsZmh0/WFh+540Fry+SZWHid7+bgOWRLXMmvN5KNdBG7E6aPnZ3az4PnxU4r0lDsG9awEMuBglCIE0xhPsmTvuGClwt4Jy10r4BaoRzSoDb0Nyb0rivDWMiGICIFxQHFt0pLKQ0Ak28QdhGkbqCzoucFfWfcpRYMs4ZUxqS13741PyaD68D3lw1e8FGf3TLglPPZ3Vrz9i2pvwr4+cba1KDSwbyCy/dJuhwsDLAUb1n2F9lz0SPtWfYG2tpy2hyOwtrcAoRo/4pZNJsUS1LgPVPLv70GDzdhZEjye7gcSRvCGWOoMkZLb2n61kUK9n9z99++/P785fff/kHN2y8/I+79+/fvWf//j0oPzZesZdsgFniClgH2gCbBEP9SwlypFEA45L+GpZABTvHtwTKPxQf2l1lCXCczSK5jTp5k2CoY0uSwqSgzIo+9l41M5jsx5DSU2nmJ1l2Grk8B9bqErJats5mrE2AtbkrMXiMyoFpj9WPDtRoPtaIuzc6NMzmnL5ZloeuZk96Lz/lTfbGOec4kH/7wSZ6AL67XbjAFOPBb26Ab+4gwddcUprBz0LZgtIGZSJc0IM9IDuSvFocCZosqZ0Y9WnmUZ+YK0Xc1XDiUZ/OStDngQs3rN7lHnSunjVnxbK1G1acu2rJaf7B+nOGFi08ZevKTy5cc/JsT3bGzN7ObCA0MjB3xVzZs2qgszUdCC9G2DzwMkR+uhZdpRwPIU9xyXrs511Ub2oRIKreZEOfzu/Zk/80+zbZA1/5CpcH6wCffwbFEkJ5ULH6faWiEx8LghTtE7D1sUqDC4NAToujqgyViBXQ5fTBG5EbdzxZTMEhnrP4cz60ef7mS+Qtn96aX9s68wO7WFP5VRQKLMnX4Jr4L/ZrWAOPD7ETiw9995VzpogPDfGrJxAfYm4Gfjb79RtvzPz619gbR/8gust72H7ynyb+S5wQ3SCfHhFIfWnxIWIp0mMW3inDhXtFf33nD7/5D74oCt7ySO7B2Se9+gKP+NgzPGo07lNF2xEMG8GnDj7+b/y+T7FjDhrdQ7yNkaODc9z8GylS5NRT1ADQGIaJeJSIVYWMqmJD4sRjivLY8L77778ZQWRKeQ2A+SH2L+Wt7BM8JwUvo4B7t/D7mtgQmyo2hFZrQNtV08eH/C88weND5RfGeHyIX5k2PqTfniY+ZLo9VXzI9OXvMj4E3vZwWsayBzY65479c8YemP2Zz8z56nPPvXP4mWcOI36cE0PsD4Afu/AJgxfshBOHiQ1EIyRkr8q/PHngl+pkhihc8Mtv8kCRXbdmGAURgZdHJdEe7h214aswioSlpRspAF6FR0Et9ofyl2de/cLMbz0KtF0qTLCD5avZR2HNDbDwO2nN5hgRmxwj6njxP2tiRFYeI7JOGyNid5avZ3Xlw2xH+RWWZo9lyvOIj+ZOLGUJ8UGhSVhKNVVNJUwH+eF5zSSv3BQeCOeK9SSv6v1OwFOuKNWTyMJseAtVyDahGqVKPqutcy4DSTs4wuDnUDyKuoGqFuBHLM4Sqxa29PW1LFo50lLf0VHfMvKIOHf5g/kZzjZnLj+6dK4Icn35XQPD4fCs7OeW9zEuazZPzBQ+LrVQLGUqqy8O2ufj2ezT0q/55+cAXHEdLjva7Whdxzlc7kNKKIeKrC5XtLhJEzeBHHZb8K07BiCChiO4YughWci06+Bw6HANZxgHcyjG4Yr3tSxcpcO0clFL32+cM/IPLp8L6r9v+eeys8Lh4YG7lveyTnHu0tF8zsnXuVj4iRhha8A+yFAtvp3MUWsWt6c/h7k5XvPgFUnVqi6rngFDxaYXSmHBRSSzuvuG3sFUqm995pboYDubu/PkJeHtJy8nO2TLxCzhflYmf6cgFO1Mqyb9y/2c+3U/h/2KOxdoOtCzlk68xl4XvyLEhEbQDAiVVW8XEyOk9SyA4mAWNVRCBp0FXFb0hfGOz4ONDk2kuSgshVFb1R0HI0iCFYVzObUZ0RGMYP2Yg/qZlDBPQnVoPWJabxiq+HRwaNgepM4w9vrirT3brr3mzJ4tSzuGFy8e/tflZ26/ZY547nnez24/62bP1i3SnNQMVj6LzRhgBzyXrF71AaTPfPJVsYb84+Cx4Z6MlpRgrtjOy3HHGpsi7V5S841oeJP33YrGZrGVmjhaG7GQozXixJZANcEo8+onS9XvwVv+MK8yV22tYNLFGpoLvKcnWFD8IdVFlqnUhJYpa+UZQ91yaWZyNBWLRuxYVyijdZPF5ktuB7JyanjJyi1Bh/N732jOs1R5y+qZQYfj8nNbPrr+THF3qv+MWXUjoWDfwlnLFmYyC5fFRyLhvrkjp58P9FsoXMb+JPaCdd3KNgnoVyRlrJJuLSmNxJiwnzwy1QAKAGqOvEIy3tCkRg8qwK22cA6LAfXQcJKHg5MYGvZ48b3XQ6Fhumu34RWbHe9Gwvg+HOEZ1v74s7eRnhACo2BsgeZ49jfaFVI1Eb1bMwy3zB9244eVZGDUl/Sa/wo+HMIP459H8c8rfwUfTuCHQfx6TE1d7kIRLuM7X6EIDzLdChWKsAR8Fy0ID8MOcvtC0YTR3jXpiqYM5jHsZEoPx4dy8eG4HckYt6dtbWl7u5YBXrizsXFn066ebT27mnY1wb9d6Z3pXSw9snFkZONtO7pmDHTtbN7Z1AQv6Rm59A56/+DmkZHNI8C33VqdWgwrHimGFaa8CDgF2GbrdWFDoh7RGvOH6HcmU00xcHGcDHLYsxHuyvEol8WIcknOmlhXwKlFvND15EVFxO1Av2fqX6ZEihIOKKFxH3ylEh0/OPTsS0fIQopEHeDswCUrV6iSoEQzrMhC0UqrqwScjgEzrakJ/qdkS/SJzz/81a/KX/3q1+56fPa/HRQPlB9Jn5f+p3+CF7aUEi8kjzZPjAkfhz2M9bktglaxorUVkRoQ8FVLJ4S1dAIok2yW3funo6E/4XcsnsiJTHxcmCssY+sF/GvA1EBW6QYZupy2/OKSsjiATomSA4GGlhXgNhfAUnilr4Q9ryNuKpW3CiMOdJyxX8haUldwLL382tN3cZOjKaAkxtUloNKXjh/8z/zT1LmhLAgo88fVQfsRZfY4fGQ02ZQAe6OOXuvptYFeG/FVGQyMDg3Ohl+H6bVAr7PwtQgfMLFvQwEDGfUFJVkowl/gpeGCAiJoVkGYH2wYnj1/wZKliWRdfWPT4FBh1qReZHYiH6IaiP5cMDTm8Evt3eSpDfjBU7O6PZ19/UaLL9YNmN21jD2dkVCcd1ZS9Sj6msQ4/mP2fJahcG9mI0xki/Irti8/+QzvgOPkgRlLbX5vfag93OPsyA7VzZ85Z9eiJevdM6wLti+MD3d1Wyx2adm6/AUfHZxxwfXZoe8PrPDPWbRw7Yol7vyswawnHgtFfVF33Bptzs3t6FvhH5y7+NSlCzyZmUMz4t3dibgoSWL3hgUr5qzwzG1fOXe5e5YgThwVtwlvUXzPL/QK6C6LtKFsOTKoeJG+uZC+pkpf77d9K4EKdR9VwWuRO/4PONhcy9Ou5zxN1TxjoTYJC2lCpbF4g6RXonaYKnyihrDWan3Qj26OYmeGVMCKjoftotsXCMWT3KNuC4bm+wSLlTk9XkckmgzUtU9ZAkQND7WZC6Mu6MADbz3wwFtuedmqiy5cvWSoMT1zzqlr5xTSlUqhzJ8efPBPD/6jfOnd75vRlN68YNGWToB3LhB4G/Wn1IMO3iUUQyJFm5RkFiMBYCileMjboYe8GwAqsFpjPODd4qDQl9IQLFr9IdStMTBUGWrVlFUrI1W8wa85JH8gGmvkBdapzrTejWKYWGDkxcGS1vrMMZm1qd9p6V3WP/P0K63LMv3JwUXZpYnyy6x18VnL0vXpBez8QHO+ryOzKLSgpal7xvAnO67u/Le0f6A1FpvJ5VK3kGevsO+B/+wWvkAZPzv32Qy3nVqXUZRg6hClBRoRAtP7umoUJ4qRZ8PPXcgHHZDTaQso7nHe9GhOxlY+ZorLilV+Fp8V4Swo1qDiQtuvww7ayi/Ci5290vTkk02fL9Dr2sbvfa/xwQfpVe9r/Ufqh7CiTStlsSxQItNaYk6jVlAogY6lBibJqBXsSA1Sh0SmvJL94h+/kQH6r2Y9ol18UXAJESEt3E3fFyY7pKVUbKQ+vcZm+IJoDExEH0+AdJnqW8FaRJ+miZdfx3JKewktuHajrqxbKwJo/ekbXPyCLoqPK9GAkh4X1HganTh8JZzUgSE26vCFeSy+EXN3Vk9AwA2htGB5rF4US+LKljfKoVNpOTeIRdugWXh5lGi/7vSt11239fTrunavWLlnz8oVjZnN6f7+ofQ5bd3NjaJ02rXXfO3aa7+0f8+e/XvmXNfZ9X/+p6c52WHBvLK4UzgsfnaqHlt3b3Vz9eHDh8Wd/cBru9gBdjPoL5Qbi4WiW6TuWsSm/y+sANSEVUzb/uzmTVdt2nRVL5kn4gVXbN58xebHuDXCe2ScYqMYB073C1sFxZtFs/8Eep4DU0bNPJoXygNnXvjNmtOEKTN1PgeJm7TuZ+y46Xrsscxjj5VHM8SnaeZnBap5P1PglXJ2Sn+HeDDdQh6mP0cSE1gka33+9qou1hC22AQxnxHkXazBUKWL1R7Ckj8XbxRkrcNDNU2sMiuUX39oIN+eb2lNn1JYNnT1Q8z/eD7Vlh2KLFuSy869kdbYzdxsCNbYhtHjet5jwEP+fiPhl9KKkJUwioqmUjHchHgJg6+utlPZpKPSvxoIKi0oBMGgbapUcRvdldS+WrVUbF4dWj97bX9H05yuwpyeXPOeTOuMxvaBBUNLhtra2fXykkI0nW1r7++Y39TeGp8xp7+Q9A5hXYe4UPgt1TMsma7PHGWZuXrE3I19MH/RT1ciwo3SEWwO++3l8jXizw6Mwfevn5ilxUCrst2+UtHiI6ceOKgYRFw5Zfqpx0TtyHE4BKYqLApepQ+1oFjJdlMCwBQQlS89LyfLWz59ev6UTWvLvxfHyr82AqKi0DSxVXSLj4KkqhM2C8UwnyCgCiia7GQMOEoYhcQSzHrqLOSTPnDHRbEQp+i06TlkPdkmllChCao1SnMf9NgwWqjBNvR1R0S5VQIXNxIT3UsGlt1x7uILV/UuXdMnTLyxYMkS8eZ3SpL8Tqmf/XPHtqWDa/tj5c+xQbbxY5uoz/QnwgOsD2RCk9btN03DfXX7IItQUx6X9dGJHuGHQOEI1tnAfgab1487qBjyIyihAHr6OcoNBVAmFwNBvB7AOFLQKFTU+sRn3f2rLbTD/AE15DoiKSFeber3aEGPeMQnYthjGEMe+dSwbM/Ffuiqm93j7pD8rN69YWdPe0NP4RPeeF1AbGKnbV/YAWssML/wPeqX3yjwmiusXjqxPvnY3sfDx+2TD/M++e/1bgp+qB6Eyq62VD/gBNMiF9K8AC/YL7B/qfUjSN2lHtq9sRLVGwO6sRvIQEcSO4LQOnF7YMf6gnr2TBH0iEAwZmTRmJFFk9A+MfJU7MIzPnIG/HNgHVr7om2L4J9oWbh168IFZ5xRfqbzBwMnnTQw46STuC2yRMiLomaL3F5tixCOnDwrow+GMNsfDsSXQ7M/+l/TDAtHQHGOoxViG68ZulD1MepU1sZKjAqSzWnYHzYnjdbAwSdWKl6l6Rp+hq+iCIbH55tC9MoEw/54sFEQLEIBbORDgHeH4AHZHhO+z/tlVRErorEfRvWEwAm2xtzYEWPXMjSjAbcT5ydgO/gh7OdAmri1SUZhbi9w4x31gd5srzm5BGIgiCAGA7WcE0S/16IEAop/3Bjfc3DgzENxrbuBt+RH3UesSgz836LNj74vK1pDMc0HVgNIcCwg12d7sKAssZSTaSMaBu3ioYV9LzHXwo+WP55le8v3cmb83I2XXHIJk8uHRRdO4ylfSMx59K0vfEGg/m/E1TOkA+MgBX4vFGMU45J5/Bn2cQTxFW/EoIE9FvFiZ9ZofSyCmGrOKg2HyK4iC4uPT4hRoDVKJhfWkvMYgoXn8PwUVtXxVd+A+Gqor8VXQ0BpBHzVB5Q6E7509WudpH+LYrCO+nZRAzdWPM44BqWdrkJBtUSwVsiDOwf18hjo5USSzJhuNlkzm/AqPlOrpG8vfzwD6H2S0Fulr8WrTBhGPuwG3L6s8WFWyAk/M/NhF+LV6ZFlLONp5InQMWvO3WhiybFogH5HhSGbavYTfFxUC+K7t1Rs6UWR2tIAItVr5tMZZj7NV0+POjhw6aFM9UiIGch/ORoJMYNGQuQIj2oLFg30oyuIXQzeUBjNiMYgjjVKhYodnb2FyVx5AjYFcOzLi/peZM5FVxDHTgjHMDJmfaKajX8xtdFRfpPztSjMBNvgACuD7G0VzhV4jYJUQoHWzLuX/YcA4cBqtJsp384rIK3cLOVtzNYGKnFMIsTRoOppJv+xUswgNYNJ7PJHW/XGXE0Sh3X3cYQNyz5m13zGYTbEu+935j64/GKjoznTvWZoczt7PphIBEOJxNEvb9iwlHc0L9uc6ZyFHc20V6mfVvoY9dN6hYeP0VHrM3XUunmuz2VUhPj/7r21qtsC+8/jpSaESpctFrNWddo+mru8p9JtyxSqca2F++Vp4Qavohp03ArckXZh1vv44JNY8rpQLLm81UYobC3FMw5oBIf6vWJp1OZwe3gK+FhdyGjuVuHnDbB9K/gRl4MVXMHP9YQfP2PH4IuACTk+Y+bcJA4JHotD8skXnueCwwdy2A+Cw4tJb8/0WDn479/5qY3/iTujej0O+LAFpzOqPr8DvuEEsfawzeFye7w+fyW4zrHn8VdPRqzisFoc/nl46cnD15q5bM+eomDC40zCYwNK6+n5TAnLSl1pNFDnddC8kAZAbqMJuRFuPoQNlDb9/TcdC8Omc8Vp3AIWoEYKarwOfroKZhQxqvvAKtk0FTph0M6ML2azdLckV/v8cUu7paspud7TYTPxYKC7pzsatab7e3oF1Hkch/MJh0EhKXxneixGMYuELlAgRzVaBvLiBvL8xgZmRsnW/+ZcgNpIbRWmjpjCtiYM2cwBXBOO7jJw9OIxOQ0QFOUFx2YcIWaA7+IBHDH2v40jamkc9XgDQdKKUZw86fb5XaQVJ2NPDxlVYe9XczFYFEsPpdNDJuxROGnk+qGurqE01tD+HDYq5rX84PV/SqtZtVhlzCLzVjhnaSwkMWwbB+YKoaNPXr+BOJRtjLJZ3lzRSc6oU+AZ/whH3ODhF28hiU94syDiguNWwEkQB0LiqyQoQTDPJVvIVGcRTEkpVpkIEJSkaPn2J79bYF9mnyo/w3rLP2LD5dvvY7OwYZ8PCGCzmKP8tta730PzF7qFfVpMP10qxpEraGBZG5kuYbKtsUe2J6vUHVI6SkoHN2DsJbVXI/u3f/UFWn0sg/OfYmB7u45gzU8cHGoAIhbXiRbtAEvY429sSxPVYmGavqq2pbEjobmupVvrSOhldrTZqj1vrY6uZuKDO95TQHfc007u+PodndfcVzMDYrijXffONwfHr9tnDITg/cEvg57HGOGmY05oCBx7QgOqMvRQPTyM6QUDFlQNWR/mqQ0S2B/VkxsuxdYajTjiv5D5UbOuTx1jXYo/e0JLq2heMFA0ZUuWh9+Dlgeos2rLwx9QfOOKJ6B4x0XwAY0cchUsoOeqYVmDgTINFmmETAUDlusBlqBw/zFxHDo+IAEqZ8BojYbtsFZIZpgIgQx6aBbVjyaCz2wJeDOq3+eAaxbVA5ZAIOhAV+4h1O/gR3P9rvqCUwNLar0a3Pmk1yvEI60uafDO1yb27jgW9cDx9+EUXyWUozrc40GPLeGVNnEv1ejWLFSs0RfVS15ozvPpC/+TWV2IAk6ueF7is6U6q6ZWGD18QkC1unsrGWwsgB8G1r47n88RP8/UesVOhdc/a9+12/Rdij1b+bpRq8AcvVqpoJW+HUtwnKaADw+Q2Wu41K5rGStwqbVS9kbLAXLBcrYQSz6r86ILaGMHXpRAD95QBZtLD9Pada1GUFLzgV60WWEyRwYnPFhUu423+laYzJqBi1i4acEJYMZ4B3NfLgaaqtdKzAWr3aVx1ExuIEpU52uV5tMc9jDOK6lg0J/FSQJhrm4i1EjAd3hl9U4+hjhq0GiohjngkTuqOGJfleXA5yndQHXGcayitvBqJD7hJVAas9ssGM8Cy9ReophrgnIYjhxyaSBXjFr0CYxFS5Ti4zY+jNHLMz5JjDPbMBHMPNjeZ4d3grcyZQdDztqkHWpe0qbt7NzJ5+08/LA2cYct7GX9OHRnorf8W5I5OP8C7Gq7UKdrN66r3YAoWUmURn0Jt4M2U12OQuPGWIwQ69USeVoZccO7HpChWrE9wxFFO9jnprEFajShFa7rozPSU1jB2jSN6ybbv6YBG3dW2b9afh72GObZKK80adpGxJRrCxrlUlrWDbs1gl6sYZfcPpqORi0no3bR5T+BMRyo0WpGcfSDCKgdxyF+BSRC7VrvnLRWsJuql1uhRkATCXzJumQIB1AyBMI1koHqfjD8GQTJgDkyIksIk4s2t+QjIIPvAkh06aqBFEGw1AIpncTljA7n9QRnVHhyCprETEBWXLdJ1InXSp4ISJ4oCJewjebZmiRPMKOGQw6M+6oBkDxY5BQFyQO01Ea/oeQJRTVcRLx6+UU4CEyKuw+Z1u+iggzVLhaOixXN1a3Gi41E2GTyo0TT8TKT8NKG9Y2T6Y+Vfy2l0VhLmA/8bMtRutFAVp0xrl5DUTs2ZRjQJDk0ijP0EBI30DiJvNzsrCuojS1UqDEFYFNszWoo6yfv0EnM4K7xUzns8wn2uNCM/W+10IMcCuEgfyVG50xUgG40gI4aG0IDH6eDNtaCT+Nf3hUxJ/mZ1QBbTGpiEqSsxt/E3rml7E/sF6A33uZ95TImv5xGf4Ath3lYUF3mtE4lDcZUJ4+IOaeu1qypLPnWs9/SazOpS0C1MYfRP1B122rc1vsHDj77/Wcf1Gs0qUtAtQsOo3+g6rbbuK33DxyjZaBDH86O1St/avnqAy0P0L/7z2vl7++/v+UBLit+Jr4kfpOsxTbm17giWSoGafKlzOdcN/Gsu4sqE1pLaC216hNiQfWiS42CI4vbgeYvL/5xp2YQ4yAJzAiBnaJd1XAR1MtYA3jECL7i9RBeH43Ra1z/TAN9pg1fi/B5UzlfG1X0+bEmNYi/xwtKDGtUhfkutHn8oVi8oc1UvfewteYaiSNsihuVvMkm2q5NSTQEXJVaAZAzWo/6sGyP2fNphoF+iTzBOLDqvos3r5y7a89T+y46DX7uHlxf/vSKM/be88FVW/fes56t2vfUvNP37rp131Pzt16x89YrN5bnDd3HLhi67+2NYCvQjBvQSQEhIqyYYspN1DTlpqKOKmlkNYQDpCV3GDucwX+g/qapRt+kUVVWxt88hGqyZgSObjeb1/TRSWsCDVm9LHSCsLqTFEh1hpv2ToSnCSM1WjJCx1FQrlBUcR46kSKM9WsSQIJtk6J76jE+JPkrsOxDbVgDCze6dViuB1hiwpenwG/cBEjUSN9NwnSiVhNGQRPGQNlFUBOGzZowlFEjYQdcs6hB0ITRmAM+KDxEijCma8JwTNeEUYJXCQUVd0E5FvWqYf4I13S1FDRiuxzu+QB3QmjBiba1VGygmG4LdilQK7CBBYzc8gnQMYOwvkpHMJaE4YJjtODQdAvurJXolaVfb5bmNQBUuwCCyOfdAC9iTvGhyRNvQKIzDBrWDr3R89iMNJU+AMd3rAE4xKseJ/Kq01PDqx4qK3QGFNex5uSMMYudj32eclYOUVCbl3MqeYbmmTnEsJWZcehxLTPNjBuzBLWBcWNOPjrOyW1rGh2nOrBt1mq4NjS2lEwqbWwojo9DFyYqYzTSND8u/w+bRvj8uM//8+794oHPvKWNj8P+2Ik32e/Fx8EP/5BQrEP+kbSRS37q4o9lSTGkKTbHDQReZDjaKngcvdrE19ZSMdxq1GfR8NckNrE6rU0pPrrMT56Xh4q11FQ7r1kNt1bakgdlLbOaHozx7DU1nGu5Vexo/f3es2M2l9u66oyt25dsWDX/4/Kudasv28MWn/S9sz4o9bONS89aLHazkZNmn3xX2Sk615+7edWHm5njPNwrNFNGfItmyvQJNx5/qky/aapMD0DcXVK6jzNfJmOaL9MT/FogFLV29vZxffOeZsxQUO84c2ZmgbA/zqwZ9g0U/rW4+N7xcKH0ZavRgVHZnpLSQydeHRcluoro68Zt191Xs+36AkrvOKBW6QEV0dOriUwdjb1B1RoCZukJ4SFEjXzo9ntGJwbajoPOJGze46BT3KTlKjk+3yR8ZnCu2fF4K2tCZqWV4gS5bKBWTfWDmsqAJupDNdVrVlM9GbWv1wHXLGo3qKn+jAM+KDzU3dPb169bS2pvpgbn/UEMJ/T04aEVgc7oX4d/TwDldlJ3x+Vh7udxnN9LOJ8tPHoCPKzkZKVQGs0W+kBsDZWU2aAT55gIIfMul9xx0D/XtMllwlRjLhj6mjUQ7ewbwmHmCgsq3dOjTM0CYhW5oA4V4Gf3iaJwCo/xePi0VLmQifXeDtvxOLrR5FFaNBwrhOMBYaZwz3GxnM8qvbIys6RkAbkFE3KHDORmDOFxTDTPMqF5CNGs5EJqpxVEQeavIwQmhbGPg02nyaI5HhrDZgtHw6MUMfD40Ilw60zC5kCpGo8kT0vKUEDNvXs8Zohdc0PB0MPWKGim7EDgWJtbzc8EEdDTn+nWcp7vAqtGBf3xpqOZMqTHw+raqrQplwHSB9gfhW4hCzLgn4ViQODTKQqU4mhFtKZlLInqy41lxUArIDdbGkvOoHc4i2sOtQRyhKJcTVJNfhZeuTjW9vsQxnOaC8pAsBhowo5VRQypXjRieoJFuyuNVwQMvgqqCLt6zO7whofQV2vAkSZNze28msw8yyutnWMwIlVwqc3ToYYwP6tIzw+w8krpstUbFrevfP/yD9W1XbHkpE2BzKoPb9QwuuAsd/KC5ed9Ii9dcOASm4Hbd2Lrz5/XtnL1yPKFiwv12VxXu4cQO3t2duknT1+3Y9faeaYxdDTjrYdmvFG+VtTytVg7WWxgdCAABrdDlLqXeL42eQh7T9p5mMBWyddOvJoj5R7NKGIGw/GS6wjiNIb5WlHiPhLmayPteBKRr6GV52uj4BEqtoLaSvnapmSznq9NmdO18hTp2spQOZ6u7XW3S36vz71hR8fWa2qmzJnTtZ7PnmkaOSfxOW5gG+Ect0bMrR1jklvTlJPcEM568q+wUUetF7En0BWINfBA4bsY8cbQnZ92zBuLgcU3adYbG+A2XjUcB44Bh9KYPRYomJzgXet12FNXseca69Ceq2ussecaA0rDOHiWSj3Yc/UNmm3RIJJH+e7AR19qevDngIU2GfzvajYZh/9Ngr9ZePqYdGyZFnj0kxsBQwZFW2uNryYwvprBvmpE46vBbHzVZ9TGBgdcs6h1YHw1NTvgg8JDdfWVY3ABL80agpo4gtT6Rqy+DMSsfwGzHBtfy8i8moJhtHiCRcOZQjhrBSlw7bG4piOrNMhor7bkSBRMg8E069VUVzMxEooINa0BS8e0/iXACrWRh+nBXmLS25OB/1hNLAJnXWvzSik3bUyMqjkd2m06HRpLPnF4BM4wXSnLOMb0qEubjycsgtffat+32/R91K6hfyUGzR29WkMkoycI1fnpqZuItNF0PDKB3QgZU1MRHnyAjUUZWNLPDozRksSJP8N63oZ9UZWfZv/fyE/fKss8P83eWKflpyeOwqvef0z5aZx3R6PuzL3IFCUxGpErOS5rJVQyuSUZaWZuS95qjDdMmIcc8hlxPvE7QlxIYSWqxE/HwVyKo4SBqVBWich0DLLtkNaY6eNFMJT7THBDoqNCTa8Pqenz0lyIKL6PRip5iBCPpYY4rQ8d+v4EL3kLYq8FP5LpYH3mST+F2b2BUY83Goan+R2KLzDq99EJ3vha9aEYfqgIHzUF1mMFYdTjD8d4dkF/R+IogdM5HJKLBuTW43nMVpvgMo0fI83biQmITp6BqD4RznfTju37Pn3muuHMuZ8Nf2SWq3PFDaHLn8Vj4S7G4wJf3fXJT43fmFu3Y3Hn3AF747yRzuFnHqkcF6jNcSyDfxfmkamppgNiXLdRBgNktK497iCSdOYoVGUeGVgR4VopIUanWCM5t5FWEjzaBEG1Lg4/m8D6aKfK0qknCkpTOGJVQwZXTZG5q547yK43J+64rsqCjMAZhAnjXE/zFMKkaQphzCjR0eYRol6O4eQBu+QNxRNod7qwq8Eheoh8x5tOSAn2mgmF14Esq51SyO7Water13vbpPUqiWz1kuN6OwLth8qydY5P8D2QqJFuCb1rOQbSDWv8eAeMn8YEkrfiimHvsugJndAYRkqy1wB6GkjIWkDFOWhE6HC+SXDWCf82BV3qTUBi6RSeFTkFhRpqpWcSpGcdCMgESs+4WXrGMmoi7oBrFjUK0jNZ54APCg9FY/FEsk6XnvE6fZsmDVxgsB4HtgDdPeKJ0n0KhKwmCTyZ9lrtGcfJvYSTtHDVVLRXmmSlozRa35FwUJFnOkft6waiKu3rLqNdHcwjVP6YYHYFH3KI3lC0rZqman2CnDC1rQN+RqcFaorMeg2EiybHRSZxgFiVWtdsoyyd04B+fLtwyWTIwYyMozhS6nP6dAoOcFt1vz5tBA10nFPR1IZExHmdBaWOiBg78c1bG8aoBXaNScFNIurb1XM4ZguNYqPooXlaYZyv76fyXCfNR9LG+fI6MEsOARZymmbVzbFw62CrEU/ZSM/8T+xRf4rngd6kB5X/J/Mj7XhOeGZ64mfioBii3HSKBbSz55KaxYmph3bS7K3YKq+0BqipI6tnpsM4QgvX0aHlpOf+uNE4sVPgJ3ZajqAdE7Yc0e+6QS2MMqcAetKBr/CpUbcrjIXQ+Ip3Y3Q3rt9toLspfC3CJ00qNEW56VChCN9UyU2zgjDfIzA8IDQUjsUbUlXTZR5mDnfIfJUnCVuxwiJQ0JPTkpcPxuLzY8z5acmcnI5G4uLgulX796xdMDJzw8rb95yyaI44s/x2fv7Gy7fI8DJTDO1ctWf3/szyc5afv2d//8nlVzbOLn+nfS+zpvZuXjcXdC3N3SRfMSZsmW7yZtw0wqO6E4Q3myfwDFk3qlVvNKZNMPMdZxwn5qurRnLeCGqnZiznOlQ61Wu8feo1KrFs9TIrud6w1iplLFXXPDE+lStWo3lodhPWeEVA80T0iqZoZU61lQYlHxc+jHqb4TsbtE0NfK/xnCCHD/3VRHV80EyDpAm4ik6dihp1tRonDhonAUolhhonatY4kYwao0ouC24SNZ5wwAeFhzCTHU/oGgdnfREOYnEdB6rVVzg+fWsxsJHUSy2NeUyf4wD9zzqhTXjfNFRuyipRGfVKktdtGRjBLlze/pgwCF/BCBZxNbTwxSeIgJHjE7A2w10FymaTaK0B6Ms19Uoin90J/Iuy9fGq6Z3gx+hFS7UDPF1G26uD9erjPL3vepwncbqbt7S7azjdjflu3tg+1dRPGufqdOlsMMXkT6KwMf1zMZZpmCaAvqbXRdN8a+2Mi2nmW0t/vfnWwROeby19pOaoC/SMiVaKVkf39Wpq4QkJeL6a4jOqkTnZtLo5UQu/B3minpPPbsxA+NtMYlUZVuOFYwU8j0ENxamkRqfQJCY2qLXIXKVhotqXq+0C3ttVD+9cglcY1U4WsFipOMNOVeJenHepnw/tyypOvdJEix9MalB16nxn7rF0eGhSsodK7l3jVsUTGLV5rHrbFk4+hCtu/YoXr0iC6vJg/5bNjp2Ulf4tq0MrjaABOoNyuNIe+ODhw98wtWmJr/e/84rpRNxKThfnEbUIfVghRZEbp3aQfBLZNFIaC7Y5k14iuwZ6Px20l6ZT5LFu0h4E7uUzwC2VTmwLrxVIe/jg/dbgmOBkMT6brK0HONrTbEf3JoJHlsbi2kwbguFETqS5/vDhtcdOu4g7+49efNyTaSr9o2uory927D5lQEgxQsG/CI6bDeT0yiseMwsY9Vax2t7cxN+/uy+Ihx74yWsCheAKKe7qPm7eQpqWm1huqKZ51GpZKw+tsnQ5Zqyc4TC19WVyixfJqa6uVIV/nqSc36DwzRPJ+MmlotyH6JMHAX2YQR0yZf6ygKOBkjJQle8b7a5vBCdrsKQM4tjGyem/YVP6L0u+xUBIyRSUweAY5vaxOEXtboT7Pe85oRo2Y+x4eb8qHB4v8bfAQKwoCBM9dO5oDPQI6FEPTaZ3+5AbReRAdA6c1IEb5x24Ht08sBL/Te4kpR401IOJCq8Bb2VUN1lCVtVnPaJ6vA74lBW8+1FnAjnNHRh1uXEqJVyJ61eSeAVYzptAMx/Mf68P3HZzI7caEflZ2B6wn2J8tLQ2VgE5D0S2lslyi+I1TZ19c2d1aZzHhvyndTfEEo9fdfV3Pdmu9qURZL2jaxbk2psd7AdccOHZWT3sdfZHkFkzhc9z/ChD4KMintqNVF6cIs09pbFIxtPgRVFGaWb/IWBCRea44kKsHwM2EWC2Np5Llv1U2q5Yg2OeeLKBspxt/cAroqOHHNYeA8CiNd2HrJQZgtv+NowlqvEIvE/W8am/BujTcldcR4dUkW6vc7RMxV4xB6HoNJ3LNERNyV+9HHHXVck7fq7sSuljNDtm76RTw0Gg6cONaoNxeAaB6UDVeATNrUi8xtyKYzCLT4sV1WhMH6x2IqePU/Rq8gnkJ4PFVXUKuRTSbS46swtszijslQ9NOrULvAm9/ZoHyxNG+zXWHNebhhzHEJZYsgaWJG4ZPlpQVOMJHZYTOv2LSrAmnwBWB8BUnwImfoT7R5wu1wBdkliHMuk09zoTUSqAcA9Q3/MVbygB3lASHJ44ekMxszcUzahxqua1qBHwhhJJB3xQeIicoaRuBgMqNI8Qe8TtniCfnHJCVORBt8l0nEOOURUlxUvQL9Lp+CbQsV740hSnrzWYiFhpXuEOIjV2VMFeB7DXA3hJhD1hhj2eUZMk88BNBNjr6h3wQeEhCj3W67An6vU4LHbEO7ximMfpTojq3B+cTPcYAV9NefZrngPSaT+LYkSrp9qToAl1LFRisVF+wAw17r8rEukhtSmIdBONuqkm0tNGLyOnkwJ0ahRWTbXf6OzfJhO16olTqU4gXv+u0akvdAqEnksLrdlKIyZ/lOP00hPaTzFjPyWr9tO/v6rzVEzrGYtrPJWfq/NUMqNFFPh+imk9Y9X7yYguJN/9frLjmRlTkGrRNdcOn7y0WjImi8U9e8yy8ZcntKcSxp6qr9pTFfhRnsT1PVVnhr8+o8Xw+Z7isf3aPWXE8+v/gj1FCJiCBSKEgBoWuJFjgHrIxRuA/rx/8PNa561XO7/Vw/sHLeYmSR5iik7TP1jBRUhrj6f+wYgZFyBbwxEHXOP9gyGtPb66fzAYMZSit1LbTs26WqMu/AxyqmOrLm/Uvf1KgpZ6dcUD2Kh79NvSSQQsz1mgHsTzqpqFfzjGKZJKc5bKQaY6rgqjyJVkYgPcaK2oyGY+9q2Zq8hZTa/IpCLB7Wsa57PfRLWxSXfW/4LTKGlu0pTnXv3X6oF1U5xKKc6/a+z/x/3VSLNLxEcx545ZpgrFWkvFkEGx+tJYwF8fAghiMrJlJEf5AruehgfyFb3BRI4TMJwDxxWBEMA/1Sc1Y8NCB4aHmwyiYL57GqLoU3ijqemOClVVedWqSceFfr133bre8iN6lEmfWYExFT/2gOhBTn3ci8trxXEvLiOwwKdc+WhgsI9mCfssNOGFny9iDAoelMOtlVkN7HOHDy8yj2egUIc+l6FSJ4VxDjzZZI12CqezxE9yrCuNNdp8OCGx0VhJE2WAbLALckUbzZqx4SlfdIQJzrfkAz4b8bQPbUHT1yx94fDhj0xXuSPu7C+fP/koUwN3s0B2hYV1PBqFeTgXn6I+5guC44XYNOWsnIewcNGbK4boaIcQjrtw57RZrqGaQpFKOsuEybWkUb9kRqbURgr1HWP2jYFPvYbqwmPX3QEz09y+aWqntIopHNrXzCumlPrgqMsaC7zbeqnQceukfk/gTVcgxXuFdoJv+TLIkgbhHA3rEdmEeHQp60zop+lhOuJ1JMdLxTixbzyikSAOJEDBKqh1muvoBN+4ocpBNBEiqruE7D+4I1j+cYUiXeT/aW6fTpUMeXokU3rojN6U0IO+HUEA62lA2eKnYmGCobU01hNx+r0Y6WNKL4UQIiWlJ4cJBSvlcotNBEMTnnPThzMVI5STFtRWA4SitSlFMTwwacAEoFphxWMGyiBS1KCbXYMtrO2P2xDEgXYPJ5VBu8GTCM6dnHQIbuv8GBGNbxg5yJ3bcW3LGHvm0r/OjByfMSMnWDUjp2IE4Bg9rz4jJ2A2AoIZ1R9wwDU+I8dHgZXaGTnewDQDgcjWqRo4M4cUvzEUyKzzU2Dfvbf6zwZD3zdX1X9WAG3QvCmq/2wyA9qcAY3vgGu8/rNB86aq6z/rm6oLZNVmqv/8C7Y44ybRMQohCVGTd/gPNaOY+wQl8LERYz/RcjRhzVbwlcYScQlthQTHmHEaQW2NrN5VKmDtOCIzFnf2/u0KZ6lg1smPL1BjdTiTEzuK1TjW7Acp12crKL5Q0e0JVGbDd9ZM+hoCxa6NYBJLYzfve/rpfft3pbd+aO+991xx2YGjbMYTvDBxxb4nntp309MXtW7/yltf+afL+tk5Rl1MTuwAHx3Psu4Vnj/2adZ9ptOsK11fWCrbWVI6q0+47q9FXE/Gxzu6EHFdZsSlM2p3lwOuWdROQFwPtX4JD3Wmu7qxsY4jrktvsetpwYIDK4iodDf4WQ4p4ks1vvcjtDUkHvMg7YWEzGmP0+bFRjo/rgGcdgpfPAY/op5pLxXbG5Hb2jth67bwOkCDRzE13ErzDDqPwaNYGdjawls9OoNjyFSIEKUuhIcJxYLvgbOqsglTMtjj5oj4ZD77byMGrvPak8RrOeGuY/Ga0o09RMWBbgRyIAeo6cvR3GWD/0B9Kf0lpZ93FE3mvzy879NZBXsDe7EV62ucXbA9A1ClpN8z11Qh6NinsJsRNS0PiZ2VbExFts0iq+ya4/CSZpVVnbfCWyAm8wwaZ/XNFRH0nthENzyn5pDyr8hGm8wbjxo2ms4bCvFGP1o5x+aNfgA1Y+KGXiPwb+aBLLzvNXggHfyrCQsj1HZMit9BcE8vLt6uimvFxJJ4N3W93D+JzkBdsxprMhG5us9lMqGn7XwxnP2pO19i9TibXfKF3YSuv4Ar2LRKqXwYfP9J/FBefdeYiRfeIl7oxijfMXmBujgMRsDCRFRIXSWlq5oZeiuI6O5ERHR21yCiE88ZwpbuLkBEuktDRBoY6GuSwxdptKb+CmpmWLYfm2v+L+Bmep75+l18dsg2eFkONg/axf+q+eGCzP1wlzzmkMgPd3C7WD8pXE9nm+dEKh6eznYSkv6GQyNbU8FWqnFpNUaGLM+Xr8rn2fX5S7iVsqCMQbDnWV9O6+0RJ36P9fTSlyje+6Cpnl6q1NNT0DdxSAv1arVHvIg+WlVQJfwNMyoMTzWwUhmkVpZfU4bPS3uivN2puvK+/DsOvlZtLz5a/gWV2x8iLIgCBuk/B/4r5vbeV6E1ua8+eSwiWV2UCx1z2PGdGorJeLyN6gnkcnraz0nHKrojuVzRSrExKx5sY9EihVEeaPIbgaaQk7KCFbLx+FErjyFZ8SynNUi8lSuRfCtXlk9m15evQgKy3/Z+FP7rveYa8r2d1A/xqFAvXCwUwwI//yeB1KPDlEGFxaK+hBcBwtBlHR/3GQZqgutdUlkSFhyi42hDeDx7OETTOqI8+sFpTekSV0g7Rt0X1sriWErrfAiayKAf5D5LJcxzKqxaJaviyD8jzsu/MKgw0rtuHZfNIsAQkmZSrGlD9axOxYun6Y66InYHVYnEePGIr3rkJBWZMgwLu4LIIS47HSBEJ+cqloLWSzS5AvzufP59k4u+xQNVgw7FCTxkWxLvrV4f+zus71ZZft8UXSNvjFatT/DD+kSKGdqFNr2XDPGnReb0djKtLw1jb9gExsTDh7fn81roj8eEtbPW6HsqcFqzFAHQx6ZWzV4dlGGV2w8fZm9c1g/8GJvoEb5De2mRwHeQyAd6R/RApY+nCDx8AKTHSTUCQaoRCGpREldQtYZR5seNmAhscC0G8h0e3nHlq2M6R8/h4RyAww5rGANbB/OCQC+KCNMqqlOC5rUoSSyP0VKDuKavwZpi8bp60kgntC7dZhnj63PKtD4n2SjaKtkbZR6BkZboM2/PBJwXwf7EOauza3jfzc+sdvJKwtIoszodeqmnKjAcKWl3uflp1eYhq8DWAXqseOAT/DlM2A7PuZW9Ac9prurum3y6OH4TkFTrcbsI7GPME0igB0/S/tIuUCqIrzMg66Ehngrx88I+rKz2CxilcCJlRY92PA3/fvOZKUEZ1st+uffss+a1y8tWnCGDilq6+8PLWmbt2sAewR6LNRNd7NNUd4n9B63CR7RKQyJsCx3X3ED2io/SFTjSuE0vNbRqZU8Obq6DsgriFS8Pn+KR32N45HdSG9BRh3O41HgDBujQeveFwnxMZwPWNycxgAefqT4cXEd7uAqoL+pHhh/hb05fmultSjYNz9GbCbGNkBdUHk2dvKOpxX/KavZnwrlv4m32GtgeXoD2Fs1WdZTo1D7aRyHdNnUb7ZiIdZ8+n9SkfjHpRtPItHhbRf36M2pQi7f5MOlGY8uEh9C4wIFsXP0GwkbSTTfKqgyxQb1Fk91Yod9O0rY/N0ioGRvixJ0TXdRjinDdJhQ9vN2VjKj/JagcEmk1xcPPs4xPAdmtFcLxJtR+g1jr9Lnb4FsUYI9Y6cyWr2mT+gWbLBctePKRBFygn9di14eVVZ/XItGuURjyZuXclszy577Pi9F4Qy8NnD743O5n6TAtVZQc5jNNpzjQxTC9TQe64NGn2oksqmg1mY9OJjPUC5RSLCwr38vmLiw/tSSffxK9idVsZfnh8oMgaOvu0mbNbpyIsR+I39TgfsQMNxVtW4jAfxno/Vue/fEk0E8QwoPPDTx7ylQYEqYDnQ3LfqaBzn6wsPzOGwteXyTL9wHgwsTvfjchfvOdt+4a0/tPfwCyEWG+oorSTKM0dUwbsNZA5z4GdNMvmxY7zZJNy6WlanJ7uzbHH9d5kRbXt2gi25mlNTLK55LjAqunJK7AbVYbkMVdceecfACqs6bOy6mfumsHd87uMEfm5cqQ/jxbeogG3h29jU/mF4W1sMI/SfeSnXG2ro2kmtnsik2ri/6rDWW/NZ8/F1fyqD4fEvYt5a0QR5dMiyO4Uo0dB51Bge3wx8STwZnHxhMQUcfTDcBuiKcrNB90zkRMOAi2fdUMe+k9zrA3lnUsdIU5utK4oEffeVtbD+WKxLf+d/Fl4quzNHyJRb43wZZii7SZCjun5StBO2qamjPeO6o0zlIIVe1UW8HxhHzlFUaq8TTm5Qk1L2+HmApdbn7EiV8/YEGuHK2gwb1QM+6O3sZWmOxI1km84hYGTLCPue30QM2WNFCgTej3GiafbtEALLfy73+0/A09gMbgWwX2BsDkxbgy0wxAdDLGJAudQCOVxpwueufksIlgtuZQzjtyRTcdXuwGCHX53nb0u7sJt5YM9mQC3JLliNaXaTFGKBvDkvlMZGP6sWiafixZeB9ShUvsg8OAteGoPdgKFvcNu3fnH36YLWXNi/OL2dLyC3sHP1h+DWGywUsccOYWbtKmi6LaGrPaJIeXsp9ugd5puLPQBGRWqgyPPphKfPdK7VxLbCsFeW/lbaVuhMIaAJMdG0Yt+IoTju02N/zqwldxFCeGchAEq808wJnZwZPWgGDxi/IXX5y/iH395PJn2OqT88tYofzrZULlrIGPkV382eqzBvQFT9UvZq3qFzvm6QIn2CEmPoSHEOjtYBoUxnEDaE5o5wvcDPLXdKCANveUz3R4i+Ivn5p2pgNFWswTHKprrJm5lepdl1rzRqljxZf0MQ+Toks7sLWtZpDDNw+Mcf1CPQl/V/oYQutE6SOZ6PMCSDETfcjUE8nOK7M//m3pY6z7r02fO9F6raZPeT+X07R/sNbRa8wXtpGT5ashDrdWkSKV7rWKrXpMEhk1ASDm+Ggct3aEYKUkwJtR3dpJgQ7wWlx8NM58F1INm8X19jVuuTo9U+wxSvJrVNxHGX0THX9SqW/le+2Xk+K9rCbeW0tIc53v5Hjv36biVw1YT4DeVPpRRfH1vOazZk8+oSEB65W6aF+GhMuFop/mBuGutGRJdYXp9G7jzCoccc9K+nlpFVJ7M0owg58JAKnBa/XgWSx4LJzRuU91qhYbNUNbaH6d4g8q9v9X3ZeAyVVV6+69T83zXN3VVT2keqzuru5U9ZxO0iQhJISMkEAgIINEyKAyiMoFRBBEwAEEHy9PH17x3heFXKuqO6K5eG8kGBAp73MgPn34KSKDGq6fJjwTpavfXmvvc+qcqupBQL/3vg+qqrsqXXuvvfbaa6/h/yF06tcumkupWEJ2y3lrs911idb3ldbzNeSH+/ZLdzcmA1/IMKouo8Bl7sS9GIdu2RCMHXrGCjGKfA7qHBJ9uRDybEcyUJzrFFVsjeB+Bf2BgskSG9UPKwTDynmh6dAwuMEqedPSeWsG+DDb916oynvb9bSx9Py79sBgaZtO5teU+UgaJE7ThmrmCT9ABxqpV3T8MHbgh1EsVibp9uamkoDwcwV9xIkTVYwgT/dqeCX3SayaddWoHZE+rvNGuBodro4DcHWAGhcxDRaCqcJHVgHBseXEiSrkjad6Nb6OO6TMouR/12QriWbV3IOQmsHciigXALhj3DNkYLGZ1QYPfuaFU5U2eKFkN5P+QLiMExV5q4Q3cPOAK1HFMq7jh+xF12Q+XMUAsnzfVPjhb+qxWP4i1zROflkThSaeVelLxaqWq5NALhGQWxQjxRGV9kRd+May3OL1IJD6eIXc4pDkhQao2OGFAhhNQpRZk1uDV4W7iWEDahQpnADOaOGwTaoEK9TNKUVYC9UIRIi1EMoW9iUSJk3QF4ZefghsiKiwbhQhSBBbNCMy5/XFKV8QK8V9RbVAXkAtRMRJ4c0UQhFs/Q2IYq98JA6RYBMWuUNOzwKxVgjP5a0Noq56kdrOEVlCZYUfd+rV1Ley5eXk/anPPv30Z1P3J18uPUN7Sj+mI6UH+pMfefTRjyRtR2njUZvkl1tm3f/mfrX+4ZTyK243G0kr6QN/X8WE7cWCxgiSkmchrd2SmWplvgifUyufUz8mywSgLoDJsGKuNaMW4XKdWMyn1Jbio4/4AP7Vn3fX8+emQMHqiCP8q1/Av0IrpNWGWD6t/kKwDZoic50QUp4FALYK91W3wr/SAb+uu7Gh6aa1ux58cNc5N8eiN2686q4BtnfftZaMXHaJ9rp51eqNsOxbVizfKkBeG+T6a3WgbJzfJaAncFKNawF3u0tWnocV6uIyYVkwMrJF0EDSXm4RtGAvyCT1WWw6J2GBLYOHfnD/j06IXlstBBYGonboJKR5FpYNs0oY6c0gIO9DteGiGsI2EOgmAHQcqyWJoczxlaXvXH/29gvWfn7gx5dec9lmR/vN4LKfs+m2DdMPsH27t6zZbWZsbfkuMsHvIg7iIR/U4TKKZAO/O3v41L3GlH850Q/1EL7ybD1OmK3TUzFbj9pZ7OIeLvh2IhhNzJKojXpoAkJ74aHlUONBxy+6IJsdutkEoz7qvmHjSfr7nTttL2t3jHF+L59t3fhSGZbuHVk3zVf/O6/bMLjyxnUr3SdiP1l+Rxnn+xvW7aYFrNukC6E13QjU6FLJ42dfPG3KC1880cwqF+8eGHp58aa/VY6p8X13HfabPT/fvsPMpWHx9O1n0JdUuYRvtyNttlU1NqpNsnA0prWyL3CF8cZSvcY3Cee9YnduEs47I2v4/jyT318cxAecPlXrTMGh1G3OnEek+2CZPRrehLOIrWsGybjTHryBeUAyXr1kfGlJ3m6CuI4kdScHkZ/dp95cgJgdj3AnnGUOwBeZZUfjhUWqhV3MtqwYx3GijCzGHOCdWKF1QPoxjmIhwkRxlizLCmJZlkUyszT7oFRV1ulBoZZbZNJi8H79HBVammXC2ixRp6Wr0OpsFrVpHf6CQ/EhHF1gMpKQDC4JB1A4EmuwPqbDAe0YhiMNeVskHnckKirS+RkWbaS4N17/6LsuuNGRcVxy5rqLN165c9uHt23a5c26zx1dsXXtJXt3XMkN3jfP23vZWY7xs85dNnpGXXTTxPorNy5z9o+sGeofiTRsZ1erPe29XF4HuN1uJZ2AqqHJC8/1Yq6Ty6sL5SVAV6wgEhEzt8IvdEXWbWXBcWXHugBwD4GcHIuypQQ720CCbZ0VEuzEGrc2X66dS5DPXda4NQkJtvunHEok7hPVw/lFSdCS+MIF2G6U34G9Wzdc6Ry0bxgbX7d289Z171m/+kLvYMPOoZUrNu44B4Cw716xac0SV9/ike72Pl9gWf/SdUuzrvX97S0dvuAqVi/OvMUy3wwV6v9RpWtYll6laLXK0yvU7W9Wod6VUvXxoOJzJJIIK9ceyLW+dW0USex59PF8zP/OrZH0u6JGXejjSa6PKfJilT5i+9DsytjlVAssoSxdMJ/PppI9lVLu4lJOcUF2gpQ79FJuT+c7O2z8d6Z8G5dyV8rGP0gOtqGYVSl3pNRdr+ksl3IkvsghS96Tb1llhZDnVtolKOM51ZZ+BPPulOttir7OHiGjZEr689FiYQhOhCRDPCYoXHIhY9UwF/lYX675GPj7QRBgCGvbPVqtAQAkZLnlhPfai/klEg7m2VcOCl7ydG4oDdfFYcdpYIXwAWOB1zc0rAIHeXqBPsMWTTQmU/1w6+0gXH6LgeLKhdVD+VSUCy0Yam7vyKLQzFU08/OpKT86vTQToXuAd97ZhrzzW9/dtuX99ll19gMXRFOjd6m0BttM71o1q+qevXGPeaSNy7WXy/UA96VGIKefBI3t0olySGDCcFEiPVEuBBITdF8h5CsyyhTZXXLt8CE4mPpAuGNVwoUyDnN+yMFVdvAwyfsGwavw+gaHtJuxp0eTb1efJt9+nXy7AE+GS1dgyCxMuO1Vsl1rlO1ZFzlmU9XLNhpFu3pkNo0dXb4eJFu2tdf9Vba2U7O13fPY2rI305n24EZHW5vSezPdabnzha0VFqHS1mpWoKtTWIHud87WCgdoPluLjtE8p//7y3FtYW9femv2tkOzt6mF2tuypDu4pNtVe9ull3SK29suG/+dsLcd7Tb+wUp7y30wo71NoaTjiyJv294KQc9tb8dQznO7Cc3SJ03wO9aL/K4J+aw79PksKDvIqFktBVomC0zBfkmoKVYw+auY7d2TdqbYuiVUL7+bMpHw0jHxLiCXBQy9WqY0iTXHoijgxWcGnqFP/Q9IxO/hV4c9aVGpxIiLj3sIsQ685LNqppephAuOrBy/tw/b6RVM8zLsqK89CzfOAspH+7C9GfME2PIqZ+F1wSz4jcA4Cy+/jRwWuGIMsP4rZoGV0ziToXsHdu0auPdKuDM+WVpGn+x99NHp72DOKsEPvhdlzuofq9YAM1cOFdlMwXhV7UnAqEU+S81ilTX6r01UHdTnqAz5KXV9RH5KrtAVojNXrNFPpW65+Lwu5f47rNGn3v4awfTgHNLSOO/Q8gzrlielX54/4H2eivXhuuYlFxIslC14ZBc8yUw57FYP8HhmYQuwDE7FegwQMrk1opmCxYqwCXwq/NHEJ2S1wC+sbviF1a6Dc0DQDBwViJcL9t57B+69lwuX7ZnpKf07PaOHzKRhPCDXIazH3imlCoEFcVv2IEajLzNlMSsO0SJgEeWzIRBx3urMgJDzbn9GL2b+6DNuiAkFxhaWY5PS0hAxwlnaeuPAhReCzO69kbpKJ6mr+x4us957iI6nd4Tf6JNQq1bNOZyLZXMtxcloS8iGiOlJAeeh0daWQ/gejVMjH2sQ0Age/yRz+gW9M8DM5RpG840taGtrke3WwIkv09feUKMav4LF1tg7ILGL95MAP/E/NCs+NYSek8XJ+mSET5Af/m18gu06COOEBmFcBi7ugKR6HIG1g804O4lYnK+P8OfEaL45iQCPtSGYa9BV6EGM11b3RVRgGeubENQ1bEDe6OXVaxjoQ/RePXW0jsfagzzWzB8Qtew1GJAHs7pV+MSJE5VSP69Xk/V9iAW+YRZZc2WCOJoeDtyIVU6d3Is0B0Oj84NYD2YNItt+4kSFiD7Qq9PvTVw2iVn0u6FYaAjBdmpIcNsFCJWNOklFNQaJRCU3NSCE1UGqPKIguEo+5BzFEnYWmIU+29BQW5bpPxjajCuk+3Vjz6yQ81Eu5yZy8+w6nSgWEpj7STTZuxGVu1kn9XptzzbVwCmHTFGsngu/bjTX5J90e8wCOx74V+ZZFgPcqH59NuinWLFSP9FjtIr1+u+SP/uDNVeMb9J4HzaL6vmzIwZGhyr+7IgkOAce7algKFrnROL2gKD+RhjyyUA44kcfb1ZabZVDUbd6+3R0iZWLd9RIj6jiqSshiad+++wruKgIehgrGvHUIe4smkHjs+CpN9cJPPW4fyocqY8BjVcFqjqSW0xyCQQlh+SsEOsaY6R+Kffo5luxkq/qp6uu5R1ol+rIszXXsi6r5vnL+02jpckFyvfbAKbXdUz3s3LVaBlhXaoXPxYSJE6hirBhCNibgMkpcJhNAjdEOZMeFcdYEDjXNV2ptbPVvG9ZLdaqWfMKlXhOTZqr2Pp/QZsZAxzn2XQhlkVaG8P+FUYJxBUS7VNg4EOYT4JGVx3ksC9b5rtBOcSiIIdorEJcMX7dOgzlB3WHF8rDMBkKi/ohjfkGVC+8UCh/VWwG/QpIwVVzMgi5Ua5XKXYl96sWkcvKSFMNIDs3KFYEYYebxc5xqaUGZg0SJYzSw80STkAPki1ARK9Zsw4pKLHIiIebNK64P6QBA9EjAhHItlcu/d5tWnscYADpFr/0/qs/GZK9cpSvf4oF6O/5PD4iUYHDEhUYSN9FSVidfjLeY9KulScDBd7RDMDgwHzMUJ/gCgmsrzA3djbo8GtoxgO1WYcCjLPL+yBbZNfPsmqJ/Cq0EwtIjF9toRz6JsCK1ZK9duLMqpv5rXKR8jFiJ15aR7Avp0DM9iz0a/h0DZtOxCCXt4VDT/7p+GFZpezJKYfNebNV0NqNX/DbA9iqYQZKO58nZ0VI/rxi5u+zw7pwLCAeQebILS9TR/bLf6kwQPD3AJi/xWrLW+Ff2vThWmdapppMeQcgImEK6tBS5fijIiFnT+etNhv/N+Y8MZ/OM2rjf4tMuChimjswPWUgmAHuGaYIwj2X4S31puNUsg2KaB5XLvrZM8/8dHD/U0995fcYk2X7pjexoelnWW76VdY3/X0WH5H904mZX7MZ5MMSsqWabDHUggLW6BDKtzKnBvduF9ZUCv3IG7/5X9U0CEvOfPVnYt7WtJD6YU+eWU4jE4Iyl8Sf+lfxLz1Qx287DIKHfwiSn1fa404xFpS0XQWZBzE7QczVUqaPC/GX5VtDtmzm27nct4c/9dhjn/6WJDacfoPmSpuYs/Qh+uXSDnqX6C1jMyf5Q5TrrY14VOwlhOIsEIsNlVfktEWzUbkQwVSbKwSk7JPXfdML9ZKY0ZczHfaIhgudGCEfiuADIConf+dN8Q9AWyEUYz1sErLQhJhzpPMup41/2ARl/PwODfAFZMJOTVaMEHjKYipYnR6dcBR+aUTWECGf6KnsqWU//tFWqXil+wG0gL639F06PCLyK4KL4yTGQV43MHGo1bsVpCk5J5xGIB1orAXJ2LVyXquhnPevoOHQxJVzSWAzjJk49IrFt6nTYeO/EzETgRhfi79jwoEqVVnvO6lYHG6dImkEK0kjxcoyVZM0ug7Znyh1aILrEHi0/61ai8AJcmbhOPdmVFdIaFREc2PLGuXR9q1N7wXNqlGz6Q0rcL2AGfIdXakHldwkmkbomEmMevEpPTcJI/woZg7ZG/FxWctmkSi2rKjGKh3HdHX3suB+aNHPX8Al1Yq5LTYs5ma2BfdDYIySTlJmthhaU2jLYAvFaCVzlPz046VP0u+XPkwfuB360vak1RY5Pv44P5wfkrxA+vHT+cff9vNfVozfLMZvfgfHTx8qfYzGSifoFaWXaccSKE36drq0nP2LHL+Q/xjWsG6VHhJ3KNE5KrPGCfRSqpl+Tfb2NBRY84l5uND5WeGwnVYmgTdBrTLRo3GKUdHl2Lb0kl6uZSROEG5Zrjl1XNVy5a4ajgtZY7VxzSFTRS8mnZS0pi2DpB4UWE0oq106fCIhLxHX/ecqfTXGdY1x27n09R0L6h6EOdpdhhOtrA5YymNQ6BtljBdU+ky1dkfI/qWqOdL55ziH/P+OczQu5YSo3cGlPCjmSMnAzG76SzZFWsiNyJMYwppjRxYwpKwZ0PtmRBED+AGY2XLLyZ+LwyYKMFF5p/U0cNhMWp0W6BSDR/7OZF00zn9sgEeFTFqc0bhwNgAAIlrXENdziUADGUT2vBTgiKHYSva0DweTg9nhoeGhbIb+0uar6+lxhT52z1Jfc8vZUY/VEVqc8g+/573hQCy5LsYKXXRw9bWp0lcv7UyxFFv+brokdcOFjV3ELLh/TDuQ+8cPiFrUMyf/Tz3eC/0ao7xG/ePVyg8NKFviqBZXbieGiKgW7fp78wE1QITV7QvXCerCSb8rhFgRToiwEsEi4PR4oTgin/BjdFlPFxSoiGJgYaOeNegVXSTjEm5FdbxBQ7pIBj0f7apZ8Acp30D+oH4yQsbJ7xbCITRSzA0A4l9unC/BUh19UBpEWoSKBqh4GCvmxnz5Uf4qBUsAuXugg8mNGtiFqumElunohNJAJ5RfMiSQFcb8B9t7+gaGseQpE5jq7g9nR+B1yp8bn51bKD8wwgWb6k0DkmB+vJ//sbGFEg6xGjKfj3eopWIZ5qMe6qteG2XmRf4Q5j6HF6Mp35XVnCYz3xE6CO+Agl2yLoBIzjkyKjultikgvEQBMIofP27Ak7IjmLadIKw3nIlBSR5ek6ty8Ms/j4p7Emo7EJeafZMWcyTYbYJf+eFX5skAPJkmQ+oHwvABVvAj4D4tKJaAoaU2qSRpGfPar0BdshIuPXj02VH6FXoPd8C6S8/T4dKDX6Xngy8wVtLAr+kYtZVOMRMIyQT6q1zP/Zou0keWkOXgu6uV+KNYid+CgMtZSHf0ZKb6mK+FC6uvOFW/GF9xW7KcC2wC0/lCcfuhDhazgX2Z3DLQy6WYlB3nYkoJw3FGWVrLx0Fa48srvJ/lvtyyw7lxX24p936WLpPRpKGgQP3s9xd8jUBOlGfL/IG8u3V0NLfUD4RZqcCU1WHu6AWVVmv9R/38lzZ3EEmQ4oDk39jUKjDsalX6L1PKqmws+S9zaIG4r9dV/Z/9odiiG1efeb4vvf7WbVKhz7jMWb/n7KvuGlD27LvWoql2nq+HbALYsOzsFatGG/oyna0u1OslS/rOEt0Ay8u6fb5aU7l4JoL1VVCDuv9vXYOqpWHnrEHNxzoALdDn+DuUn+7f0H/u3AUopTzm5Hu5nKBeCmpPD/39a081yc1Ze5qPtUvJxRcJnMW/Vd3p7VxucxaUlDBZTmf+wlYgHpCZXEFypj7uPSjgPUAHqgWv8Aq/KGiHv9VY6CjgGCSAinbdxqgaVqqTHDNCpgTxvnxKhBRWCEwiGMNiPoaX+Bh2ETjM5Jcz9cvNhi/Xenlp2sS/w5M3WQCtoOxp5rl/Ia6/pjwxnWaThCkmURZBTeWhoDd5SvjIL6l9qTN/ZJsoZUeJi6wi4ENxHXJg1t3h4rbfwq/mbgQmFWAaLjEyD7BJWjQYI4WboQAQTWPRuS4TRvXZL3a0nO+iZBO7hDyCd6JGIm5meDmzycsZ3M8E4pvqzQhsK4ljJWyFj6/lS0oI71Ur8K948TZVvuUZejv9srdzEno7a7QFVvpNL+nOZ3bMkNGiJDaTIk/zUfhIL8HYNYSrPVorgCj2J3mPjD3b/NhIrkNxy8r48tMivJzSB5W1GDKdOcE2IA5ggAzjDO3ALTJp8SmikQQKJ4LyTg49mNylBHgpx2je7cNvVpfEmHVXqmsK2JcMuXU/W0HH2F8Q1+RmwtWzwG8qGF2FizQulOVYGdBEgA0x5Cyg6FKQuVBOtNwLvKUQeIsoxtORUQ2ZQiZLxmSChL2g9V9yHeAPdyNWnEXNC8uaElNGoMQoWZqz9mHcCAzXT175odxN4Mqb8V5nEfc6y+lD3+mSb5vSOQUhQojlNL/42XBfWk4TfhWkX5ch7XTltS3LvW929/SdNDHx09On2b7pz7DV04cwd7OEj3M/y5MYIDi55Sg9APMPqHvAediAiLf2oup78f1X8CNDiN9tByZ4lDNwViDWZxSKj0xRRHGh9m4kATIBsKE3VI9pDw+0gjNIzVv9eX9U8seAkUWm9jC/l6mcDyFrlu3/06FPHfv0oT89/rUDt330wNce79lVvOmRR24q7urpufQXn/zmNz/5C4B3Iu18Hs20RJzkLFFrxG9dorKHKyAxATipS0JRqZVEdjAkNSrDJBCMKN4RNVus+ZxMKXMO/TP9calH/J8SfbbQsxRWxpBDoZ2koYveIil4sD85UpyKNlusbrzccQ8hzSXahzragh3pLQJdXFRcxrTjzl2+9bmL4NXlg1B86oO0UYvYulFoKcpFBBxAW8jDkPWpkUFPUSPtGAA2oUx0IC1+v4xpONLhUM/W0ZdeGtzQ4R8bWL7irC9+7r5/CnmTq/q/vL9/VbNnHxq0x5uWjCXZvuTwUCx7vtO9Y/rm6W/U93bHSsdj3T3sdmntAPfslMZZ3UKuk3VeKnU1YMjkWmAuiWKZt3pRJW91GTxcMlgjnQswWAe5fuQa/Hk3lHT4AvlA3SyM1uFajNbqjGswW38eZwn81lezJwz01ipUtsr/NSY5rldX8X9h53lR5YMSNj2sVaXYdexPc9B0aYPUE3VtEJExPVMXO6nJHHq721DmDSQJtWxVXF25JMi8qahydqmMTyKT36JlK3XUXehvJVqAWSNYb8JjaMHEW2WI8lrkW/+Ik6lBv1UGJS/zFUEUZb3UIhvithanmNkK0EMMG9f8AmZagMrVqBMEffKKtrag2Mfippb0t7SXoaOQGGWA/oMgK2R74HZ2VIMI5eMJ8PHcplyIdSHvE9ggQoHNWVh5Eb7yIzRCTBhJftZ54KIKFze7A00lULY77JrXYhf1IiFM/udDdcDQjhi4ClcP7qfk/H5xMoKPWa5qBIlrQ7+tpSn9wXx+4PwLLl6zskeM/r80xv+5F2svr9p7i84PAf3dxGUKSKHnzIHbDbG5oIY7obXy+rXsZBmzO6zHaUZ4bXVkAqMZEJqLQnk1gO271DzENonPDFi0FxjxtXMNAmugjLsSN+Ku1GuIDtIFVnkrFwKErYWfDdAownOrQsK+UdMBkScXOvldYde5X47eRlkRvcekqsEpvtQuc+SWNKTBZY7cpMt0m7lPbPJBAt2Q6dZy6JjF9kHo1pBDf3JazXTTtMiWy0y3TUZv+cGvxeoooOWoye2qxHZL0qkkG5i6bspFg1956qn9gz995pmHhTrFp7/P+qZfZbnpZ9nQtTp94uunDHHfuJnf7W4lBT/259qy2UIAMo5RxMpHmntTBuxNZxHven6kiAxmVD5Erm/YAbMI041yNfmFLt8OzaIubvAFFG0s2drRCVEDughWOYF4D37+MhQbVddZLLP6LHFZRNggrOZElKHs5lu3DGy69Vy+7uuXnLHNG95+xpbdpW+J5Y9tvviSTaVXtOffb0oOru4fWHHdJfRaHWcE2KfTXBccaBE2SG2wCgyIKZMPj3iT3h4IN9SbAReuTisOkzeVOJwKXs0VDlnUjmBLxbFAT19z/n8dKJ5/TXbLqoceWjUsBv2LjbtKP2P7dt17w5bSq/Q/dOPcNjPGz+OcPI/Vej1+FCt1WKIMJgkAQNTTWMfl8Y6fyeUlWdiZ/AXtTC79gB28usaZrPYMjSFzxw214jAqXUdVKKZM21ERhlGZO6raKGNvp7VHW8B5Iiv/gpOep7mnSbNJorcnR1pJD7mrVnwl18Pn3ztXiCVV2ThVFV5JQ7TQ0PLoWBR/uy04mkDmjpg8gPKYu+nx+bLfIHpAhI+2rVYfjprDnKMVB+Im6HCLJGeeKeAFOT1eWYItLwHaGSxaN74hXQds3dDOOOwxUFbhmbtrrt4N9cRdSPuGGJ0fAaLcAgwKx+jxBoKGMWKXgSZo2Ztxs7AZancGXaqOVZxvdyJi8ZGKOjCPBFdQs45vufprvhqv+Wq4DooaooWcbKKsqC3ZoS/YKn07c0OqRr3Wvhgp12v9H5RBsVa9lr6ApqpKy/t2qrTmqsWatdZqCutitCRtWTQCbwG48FxuUe6uSUNXYlUqcWnUqLDi0jDqwymDPqiw1a5jOrDqt6kZNQCstQyEHsD67SqQLEJzusq1f/MrUUXV3wmB2lyhQyp2sl6H3qjWIVV4mhoZMb/fAVVaqCjfksZ9HTVOE1+11hmEptO170Hyq0rVXgehKVLXJmTW/KdGbQv3QUqwHvqxEKMnekw2RciLXcP/bzapsoRLp1p/MFRxVaqYoZIL5CZ0LaeTW6W2VQpPU7uo1lvi1RTQboCu/H/Fjs0qN512/btObtVa9hWj3Cj//zV6kga4BMNEcMFgmY2pTzJ9tEFpy8mSi558LSU/r7w2z+eV196sU14Tn8/SJ8gP2Tf451fi50k2p+Dnc+yYeskxl8POCoPNymRs+Tu5lx82xJaD3Gr/cGB3L33ilYjgFR7if/95/PurCQazdX9f1iISiZerfoUhfD22qfIr+GZ9fvfAtexLr7zJ/75n5mLyGNn+1v/+zpf/p+HvQ3foY7uz16zkfx4wqegTdCeO30quITlzn1ofA3H7jIzbY4UqspSYiqrQ9LF6gZFuNQqtljxXvPKQMVbP5Wnl/9Od2Z09HVKwbwrZMjLGx7ZHjq0qp5B5uzmFsR+98uwsOYUqoWk5hT1ccnt2ZvfA6kRAgphTmLmYrsQ1+puM89+E0BaiPG3qOFdyDdq7M7t3pRgmJSMzO5gHccTPJiL8a+6TiQ9HpmDGyLtZsXer7fFz+76GULz0bj0/GPgB/49+fvowm0j/8Y9if6jfGySXkoLL8L0B/ffm7NiAw704z3y9vQDYqHPD7Zk5unrFqH6AD3RRaYwe7f1E7+OP934C+0rIV+kXKfgHbUSgbypF9RmZAixqatGpcqsnwdxlM/SLl5+56vLLV51JH7z7ssvvulzc8W+Z+ZOym8tXxKUnBNdZnjm4JkSLeYuHzyIoEGAwNh1WyWTcWvm7uRyb7l/cKo2rqeJZ2Y3GtfSc/mkxPNTX6x5hTFbSOXPKtIp9SeK0Qly6m+95SgpORN/3B0BPu4u5RZlCA/DA+IL8577iVIfX2QCk2lm4mzdmprJR/DnLhz7A76LHcouLucU+RCgTk+jVAoFuDQokiEhvEGBqM0xR0NkmxGQHxRk3orzoAF1WQJfzgcX8GhWN9WUg0NQL2KyRhjRA0uSDXXDBcnak4Ic2H//B62jvxtK2Fn2utqPbH3gcsaldbsjX5vuy/O1wXX0Ir8aVwlVokqqnGZEJ3Vb5rP5sWnXJnZdccmfpFD6lSnf10Q//G75W7CsuXbHi0tIL4un7+PQCvCP/o1dNb2NfFa+nj16+apX6H30Mn3CvdJEB6qbPETPZBGeVmuQXhgNshLVsI6gwBFQYgh8Gf7RXZCnLjCxMX1jQZu0Yjlqpu/Ho0caHNyeeey7xNbE/V/PvTOF3rtd9JybftJIC8YXCkssv7H1dfiFDh4R/LeFfyO1SmR+gY5jb9RT/uocbKeHf9zUICcy8b+YUjXJ9VMhSUmCwG2gWeiVE3lV/rCn6w9moHqLDgNJo6eN8CdiXQLZ8LtaZUyzM/3YX2Br82x1FAZsdLU5xvQhwBW5B05PMTHnc+HMcs6pAOZjCwHYTlv/kmxwQ2/RCAM3SwV+SrtHRfNQDUc4wBtIwsJIchpToMH+CaJoIqlhbrC2QL81ak1hGxcJnXXD55yKXOTcp5m3OzbEHLrl4RePy1Wuvi9KQs/SfCjvlfCX0wXUrVmaX3HdNRzgaa27f84ml7QPvvaA93uiLd1x8QxbOmGa6REmw76F/eZwUfIoAueW22+sDU+gF/AVCzZZW6MwOYG24q1hwISW8y8Gtt9sFL91ebjJdenoReZ7LSPn44787IpxG7IwQdSKHjvz6t5aaYXKnDJOnfztcM0xuko791t89bCx9AR2tio8bftJcBAyLm1UUlUR66xVXbE3fuvPK0qM399xCO+g6ain9lkZKf6a3ln5Do4Olg3QdpJ3JKNcHwp7idq+J23oRk0sUCz7QCH9xyhZV/JIfVXDCi1ZvQKZ2aA3eoRi3GjZFQntHgbDdbCEOtftZngfRtAmibAZ6YHLT1e+6/fYdt4zY+5adu6HHc+BQ/7vXb7xq19kbr6T+jz50x5N3vOuMq1f2Ry1toV+9uvmKvZs37rlW7Mn0zBibQjyM3USF5sibIB1ox7PTUSwwSyCTEQelE3PnFiem22x8oZ14qDohje7OqJn0AN8JikqhiScosmgqVAPFMANQR4s/G5aAHZC5ZVMvbi/dvf3F7dvZndu3H21XQm8eb+eP7e1vHhdjneBjvQWxRB4hIv8KFUFmzK3xwYDLDWqI7DEuD/gXom+BFHM2EQMu2DBTaIORMFMmo/YzDC554UOiMJ7Ja6Ta5fVc/Gd3i4uPrpnLxC8+DC8+ZJKrkUq84hAXZJWLoGXQTmFqgy122jKYZbdMP0ndpRNsMFXqpp7SH+gvUkd76Wfp9T3f/HTp7tKuT4tajBJL0J457xwsUWqkvyohnknjzB/ZHiXI9+oerMGxYAmyDX0KlV3rSMfxbjSgStqDSSMLbBUr30rh35wUk7OlsR0J0lXUflpml7gJts52NUtSgHCPBrNszz2l196z6oqz33iMvT5tpuPtx9mjwkexkCfYA/TXJMT3RBfZTMA5VRBTOpGB1tm6rFomlELVEgHpsLARYBnD7YAqb3MHGgSgR7LTH5giDqfXXN4TomoUN4aaZgDLCNuiDUPxsEPYAxsnLr5o8bmZic1bJi68qO+87MTmnpHezpWLt63pHSp9L72ms2dkpHst3bLy3OuWDZ5727nXLh3cfGb/eHp811j/6OLxHeNc1jfNZOi32H/yO/flBFw2f7Hgd2hFMCYoBFCrXghoXwy1T9BqBjXSpzJTRD7oEfVQFPhPYYImyG1ZQ8hznYSJhP0irJ4NCfoBCKjTb3WG44t704tTtDOU4C/6utneJR3nTPeMnDlxzqquc9iPR85cym3SKvIxFqKP8P3SBKd8ADDyIUEShvxUrikDlwIrroEZiuuw2a25D0wRyScCCDaRj4Wx5CTvZgjdmneY1XyVBSu3RJWuWsKr+5mF0hu67ugeTCZ7zkvfHx5sXVTxM/3Mu9esDl665ux/lc+yFqmeJRhEzr9HkIxTUliC7vizELHQfHZjLB+ybAJ5Cqoz5FlU9tlhH4xmX1ordrmC7VSK6AEDQCTzaTO0H1LmFqxKJsUV7J604qMNH53wCJ/xwGcm/fgYgEcFjIDomqHcC7TanHxZjQ0obS38sgTNJtwYDGet3O5Zs3wX/37lwMovTK3+Mw2sEC8evvPO9D3pO+5I3wNnyhJi57Jo4PvIQT6Au4e7tQT3OJcM3BucyGDFMjhtPsM6+tRjcqebcKebYKebDx96dUa8Yc4R/g4VNgBPWPNhAldIGPwU0SrH5DbvpYNtYTcNl43OJpqD58uPZI/0HTjwiXTlOK9Xxylsl0lUkPJxkmNVg1RtLYWiUaIfpCkt7asZCKQgnkcKRLGogSKtvk21RuZBPlKzXx1mjg/zVzBM2nak/8CBviOlfJqPc+PMH9hZ7Ct4d95P4K4sb8KHssd+9kHhiaCPCcIBqT2XEr/GwagxQrNNs5/a+1CEZ/ZBlh8+KlwRPiH1zwrbCt5NngIf1mHyuBouLPdJV/5GC4LRBv5/kJ315ptvPv300afp+tKX6Q66o/RPNFg6DsxdslaFfY/7H4CrtE/WVcSzmOEtmOua4ebFz0ZrrJEf5XBORLJwl2oVuEoLKluBK1RLBhKMdZlCPAFvxWP8U4m4immDEEwJO7iwWklLngLygd+fJ0gUXKOsxVz9K1Hhsn+/qHChH9bXuxgqXXp1r8WZAzU7b3A5QJ9oI/kcKUSQLTZbqAc+Soc/i229Qcy+Yf2TCJjCZmriUuGOWQaulv5MIYxYPeEgn2IkDC8jdVwQYa2AQTLp5pshJAZsTK6ELFsoXwy9ij9QoCakObD6C2biwtQ40bHldtSY/ht4q7ZnszsbyzOf0PHkPrbIOG9Rq/Qynzdwcl/HPTlZV4N0f2Hp/PixFBKKdHNOjZebm1Y3Bl/cHvTZnXy+HrSeHh94ddWc3aYwLK7VL2qsmR8Zu1v4VLy0eiovV07iiZaKsZtg7Moy1N0YX7PF5CdCf/MNnVmhwZPmRGtPa1SocHtKqvAiVOH+DMDEYB4/whcxs0Bt7uKT6s2AL9KaKXR2wVud7fxTXZ3wsqubf6pTa8OrEwC5+SwXQZeq3/k67o3km/r5K2yKi9THwrjoSgQqt0PRZsyW+ydJsK5J+CvVS22aRxOMG+F4bb3Q74ieWXUE94aSljaii5sgIeV4O5dyJ+gJcuS0QtAXOE5qmg716vpOmAuAbxOtHujsaYYj3wGUKMFWownp/OtMCAi0Qno36IX2uWzWILcunbSmx9kTWOs082v2DTZJzCRJNhK0IHjBqEffwi7uNvV41a2P858iAoYvCHW9WErZEgRNsCtx1It6FzcGlmAjmgAasSSX0aBa/55cpJZLcL+Vu7Ieym92LGLasZRueqV9eyq8oql1o6d3x+hV5zZtcfq3tlw80NM2yCZXv2fNjunSjp3xxvd+ftVlNzY2n9Uykcps5Mv9fwEWJhyiAAAAAAAB//8AAgAAAe8CmgK8ACoALwAtADEAMwAlACEAJ3jaXVG7TltBEN0NDwOBxNggOdoUs5mQAu+FNkggri7CyHZjOULajVzkYlzAB1AgUYP2awZoKFOkTYOQCyQ+gU+IlJk1iaI0Ozuzc86ZM0vKkap3ab3nqXMWSOFug2abfiek2kWAB9L1jUZG2sEjLTYzeuW6fb+PwWY05U4aQHnPW8pDRtNOoBbtuX8yP4PhPv/LPAeDlmaanlpnIT2EwHwzbmnwNaNZd/1BX7E6XA0GhhTTVNz1x1TK/5bmXG0ZtjYzmndwISI/mAZoaq2NQNOfOqR6Po5iCXL5bKwNJqasP8lEcGEyXdVULTO+dnCf7Cw62KRKc+ABDrBVnoKH46MJhfQtiTJLQ4SD2CoxQsQkh0JOOXeyPylQPpKEMW+S0s64Ya2BceQ1MKjN0xy+zGZT21uHMH4RR/DdL8aSDj6yoTZGhNiOWApgApGQUVW+ocZzL4sBudT+MxAlYHn67V8nAq07NhEvZW2dY4wVgp7fNt/5ZcXdqlznRaG7d1U1VOmU5kMvZ9/jEU+PheGgseDN531/o0DtDYsbDZoDwZDejd7/0Vp1xFXeCx/ZbzWzsRYAAAC4Af+FsAGNAEuwCFBYsQEBjlmxRgYrWCGwEFlLsBRSWCGwgFkdsAYrXFhZsBQrAAB42oVS22rbMBi+z1P86KqFRErWY4rtUAqBsQ12kdLeKtZvR0SWPEm2kz39JC+nbm0KvhD2d5aT2aZS0KJ10uiUTOiYAOrcCKnLlDwv5qN7MssGSYWeC+75W2iWNFr+alAKkCIlualotS2M9o76bY1Sa9NyH+CO5uEt34xqa+j1zUjJcuVpV6yl/0JL/1oSliUtamEsaF5hSn5s51GHQGNVSlbe1w+MdV13MAhmLLJyi0J6tz/s6I8KN/CN578bfV6iDn2MZuseynig9arsICvQ5VbWsUWWeNx4UDxug5pki5V0EB4OL7iMmlBYU8EuO4V5oxRIXRhb9TMAX5rGg4+0CH8YfJCqP7F/NmTHDdkgYTFLCPomn5I5aodnG7cSux1upsK1TW6vxv2Qpt7aeC//1Xzaf4GL/BJOph2CWHJYhJjw9ZhzCJPp9I4GoIKe5sCiQ9uioIfYp26WC6y4Xb9jHAvDT2vg+ga+y/Lv2AcCmOLzOEfPEyO2/6GzwR9PzhCD") format("woff");
+ font-weight: 400;
+ font-style: normal
+}
+@font-face {
+ font-family: Contax Pro;
+ src: url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAJekAA4AAAABUPgAAAAAAACWJAAAAYAAAAMBAAAAAAAAAABPUy8yAAABmAAAAF4AAABgrjG8smNtYXAAAAH4AAACDwAABUzY1fOiY3Z0IAAAlBgAAAAoAAAAKAULB0NmcGdtAACUQAAAAbEAAAJlD7Qvp2dhc3AAAJQQAAAACAAAAAj//wADZ2x5ZgAAEOQAAIMsAAEvyHcY5GloZWFkAAABZAAAADQAAAA2/eHQgGhoZWEAAAQIAAAAIQAAACQIcASJaG10eAAABCwAAALnAAAGEF0QRtdsb2NhAAAN2AAAAwoAAAMKgrw3uG1heHAAAAFEAAAAIAAAACACowG7bmFtZQAABxQAAAJ2AAAGm7ayljhwb3N0AAAJjAAABEwAAAebErxnynByZXAAAJX0AAAALgAAAC6w8isUAAEAAAGEAEcABwAAAAAAAgABAAIAFgAAAQABcAAAAAB42mNgZGBgYGJwFL+QbR3Pb/OVQZ75BVCE4WzF0Ucw+n/CfyaWGJYpQC4HUC0QAAB5xw21eNpjYGJ8zDiBgZWBhamLKYKBgcGbaQ9TFwMD410GI4ZfDAxMDGzMzCCKZQEDw3oHBgUvBihIzC7JZAAK/GZhZv8vz7iKpYlRQIGBcbIvUI7xF9MsIKXAwAwAAmkQQAAAeNrt0ktQjWEcx/Hv875pwQIVUs3j6THOppkmMzYMKcPM0UzDimEVnVC55FZyOXIJuUvuUW4lQuSWjoSUcmdjGPP2nrO3tKBzXi8L07C0seg/839m/v/NZ+b5/wADMN2Oc1/hjk1EGdXuvIgMBuHBL2JFivCKbOEXlSJsJBpdRrfx2fSbVWaDGTDbpSmHyDFyrMyUc+UCWSjLVZxKUFJp5VFpapKarhqTdbJHGzpaD9UxeoRO0FKnaK/O0Xnjer5HOY7rKWrFSJEqssRs1/lmxBudrvOhn2PIwVJKLTPkHJkjC2SZilXxKkmpX87EP5zhrjP6t+NzHRzHCYHT5gScVqfFqXOmQqQ0XBfJ76sNN4dr+lrCFSFvaFooLZQaiglGgl+DX4If7Ww7y55pe+0Z9mR7gp3S29E7q1dbRVam5bNyrflgzbOyrfFWgjXqU3O0/+cv4qNfiXT+uYTx18pkIbmulOfeajFLyKeAQpayjGEsZwVFrGQVq1nDWoopYR2lrGcDG9mEn82UsYWtbGM75exgJ7uoYDd72Ms+9nOAgxyiksNUcYSjHOM4JzjJKao5zRlqqOUs5zjPBS5SRz2XaOAyV2jkKte4ThM3uEkzt7jNHe5yjxbu00qAB7TxkHYe8ZgndPCUTrp4Rjc9POcFL3nFa97wlne8F1NEukgUSZSI4oFsDmTzf83mDxjVbR0AeNpjYGRgYGb/L8+4iqXlf8L/RJYYBqAIMmBsAQCIXQYCAAAAeNqNVN1L01EYfs45axVFhE5xKOWm4vyaY1Mau9igD5PErCahYKK7MMMIL6urjKibPm4Kwovu+he6FbyuSOi6iwUSEdGFECX083nfncVYDho8PL+d857zvud5P0wc+jOTRFxxxbzBoh1DN5F3ESTsb0yaViyaafI0Orh+3c4gbeLBHzOLfj3zFCe5niVu+7NpopkYIZLEDHGKGFR7nuUdKblH2HxAp3uLWbsW7No7KNlnyNhNcoEYRsmF+H8DJZPFivnJs6+5HuH6PfrYJke4P+75LvdOY9iG0GbfY17uVLsiz6WCbzaLQ3zHTcYcJqfsZVwwO3x7FO22G312DUXenSQnGVvS3MBx/Z5DkTYXTTR4yTvke849oS3X7ZLaF8WO9kWzS12u4Qj3LtkmhFwX2ujjsD0BZz7iIP0m8QnnyIP0kRFNqE2BGCVyRIvskzP098M1YcS84t4UYqrbMibo3/HOBc3FI3QSA1wbpU+5q0N15pvMBGI8O8yzeQfEPHqp+ZDqvQ/cavBZc1DwOfCg/gPEWSJEgDlCVf96MK4z5B7NQS0kB8yVTVMv0XsfuMfkSEX/Wuh7+EZqsiO62POVvKj+9RCdlhDRHNSCOdBcKfO9mvM6lreL/0YstflCGVobos9MY9b6XWvMUtt2LvhKjjLGCLUN6xuzaNY8Z5nPKI6S57Xu2rFiE6xF9oLWo/QDa1LBvhAbz6PKQ/5/htyNJpNjTW+LT9o3YM0hdfzLz5nX74yV/SU17rnfc056Tuq+IbMftSfqWWpC8vKfLL0s/aR1JDms9jT76h8eQ7yaU6lprSsfj68hwS/qNEW0mDBaK2s4YNeDwJbZn2Po1JkkNbOpnJSZpHNhw2slMcksGPd2dW+uxlzPMnfcF527vUQPYcwWv7fQR0j8KQHtirRbDj1AwtxCnMjjYbDAPetK1EJmRplzt0yWmbqOLiLM9VWZL37Opv3ehH3H2O9X4LY9juHqHgFYJHkAeNqtVM1qE1EU/tpkLFVRBJcidyFFoaap2kgVFQ0IIsWiRdxOkkkybeaHm9tOdeXShQtXPklXPoUP4son8Dtn7qTTBqGLcJl7z/3Ouef/DIDr+IUlLugHTzdxI/iNBpaaq7z9bPz1dClT0stYDn54ugHb+OrpJu7M8AAnjeeevoRbwYmnV/C9+c3Tq3iFP56+TOlK/xWsBfuevlqjr+FjcBN7GCOCwQAxRvwcQky4PhOLkKKPjLyIn0FCXp/yMXF5Y7mH5ITo8YUgU0oPqaMgZhUZErE8c+6i6ZAa5P2ImCzn7e/RYk5qqDYiajLUGSud8lZ64KjDUDKjHkOuSImHOTGrEYwpU8reJecez01scz0m9VK9PCb1Vq18oZYU6xp9j8ipFwZvyEmp+Yi4o+ZMvWh5LROe72f2pnqL1EvLF2K/pdrG3sf5vJR4FX2ZnVzfO829yC/CY5ENSQ3UppvLq1TnrJRUWTwQXY5nb1breg0lRnl16Guz7ntoSqmJaqjQRN/EjCc+J9mnZDarbdknjnuong01G9ZzC/V+rJV3tcxJdnKVmmpshfaB0y5INarc+32knb24zEqF31HqNc8HvLW5NvEUu/hARG4V2iba1fgi7UdBW3iIR8SlexPeElobqmanup23Hv/Hdt/Lhozhvo+whQ62eEt8BxbUeKDZEE9GPD9x787Ny+msLKbfqomrT4s9My12blq6tXgMc2h10iUegx3fA+XMhLMukf9SohN1sNC6jrV/cjzBBleha75CZeU2+Fr6ujj3t3qh9wGeMRsd1rp9oYoma7cvkIm6RMkXrvK6WerCY7NrM9PZMjvR4B/ZJRkvAAB42m2SBXQTWRSGv78tE2q4u7u0lFIcatCWUqBCoeg0TdOUCKQJheK67u7uZ93d3d3d3ffsnhW2zQxMlrNzTt73vZy5990795FA7DmwhW78z6O9bQsJJJJEOwxctCeZFFJJI50OdKQTnelC19b47vSgJ73oTR/60o/+DGAggxjMEIYyjOGMYCSjGM0YxjKO8UxgIhlkMoksJpPNFHKYyjSmM4OZzGI2c5hLLnnkU0Ah85hPEcWUsIBSFlLGIhazhHIqqKSKpVSzjOXUsIKVrGI1a1iLySXsZR/3cjpfsJ/jOYbzuIpLOZq32MMp/MTPHMcZHMnDvMePnM/V/Mov/MbFXMuTPM511OLmROp4Gg9P8BTP8wzP8hxfUs/LvMCLXI+XHziJ13iFV2nga77lKBrxsY4AfoJcSIgNrCdME1EibKSZr9hEC5vZwja2cgcXsYPt7GQX3/AddylBiUpSOxly8Tf/qL2SlaJUDgilKV0dJHVUJ3VWF3VVN3VXD/VUL37nD/VWH/VVP/XXAA3UIA3WEA3VMA3XCI3kdY3SaI3RWI3TeE3QRGUoU5OUpcnK1hQ+4mPlaKqmabpmaKZmabbmaK5ylccN3Kh8FahQ8zRfRSpWiRaolD/5i0/4VAtVpkVarCUqV4UqVaWlqtYyLVeNVmilVmm11mitTNVyt9yqk0f1fMbnXC6vGuRTo9bJzxt8yNu8w7t8wJu8z5VcwDkKKKiQ1muDwmpSRFFtVLM2abNatEVbtU3btUM7tUu7uYmbuY3beYRbuJVH2c1DHME1PMZ93M892sOxnMnZnMX3XMbJnMsVnMCpnMadrbf/AR7UPu3nJVduwHSHQ0GXadHIrQ17NnoMMwZXbsgbCnrWuUyLqfluX9gdDdT7PZtS3Y67okFfRmZGrs08o8BttiWrs1DQmtmMuArtozw2Yy9nTrGZ4yq0D/NYNAqtaE8MqfPjjvYefvSkDJuZNifZzEotiotrcDypqNYMJzW0LkZxxOev8xi+GFzFdnU+m8V2VT6bsbxZGQnFJQm+xtSSuOyNh1eVZfeWlWNzqlFquqMRj+GPwf43z2a+UWp17I8hqbQuFEnyty5GmRUVjIuanG1zilFmRQVjSCwMehM9Qa9rkV1/yGL6ooZo0GuGowG/GY2kh+J3RrmVPxyXP9uuPTvHKLfyhy1UWO82xZBaEdd/k+Nple5QIGCabrcnGEmLxG2MSitNxOqxsm0KkbYpVFlTiFpTqDp4R+xrWWVdy2gM7arCvqC3XbRtTa/6T1/R+J2r6uDM7OtbHVdtc5wvj/PNjhs1Vq8tMaTUtI7CaiKlxdHctiqsF8xD6sottGh6YkyriP8eTXGblDwnVa2jBY7WOTrP0XpHixxtcHShowFHFzu63tEKR5scrXQ0ckiNam/YbJ1Es4Vq6ws1x5BcXefzhD1Nvqbk5oOWVBgNhxLq6xPr632tP/+/npMzVAAAAAAAAAAAAAAAPABmATgBqAJSAzADSgNqA4wDtAPwBB4EOgRgBJAE3gUeBXwF4gY6BpgHAgdAB8AILAhiCLAI/AkcCWYJygpiCtALMgtyC6oL5AwYDHYMrAzIDPYNTg10DfAOMg52DrQPIA94D+YQFBBMEJgRFhGmEfoSNBJaEogSshL8ExQTLhOeE/AUMBSCFMgVGBWAFcIV/BZEFpoWthcaF1wXnhf0GEoYfhjqGSQZZhmyGjAavBsaG1QbrhvGHCAcUhyKHO4dah5aHuAfBCAKIEQgxiE4IVIheCISIi4ibiK4IxIjeCOqI/AkSCRqJKAkwiUWJTIlxCZiJz4npigkKLYpXCoEKp4rQCuwLCgsdCzYLVItvi3oLiwuhC7YLzQvtDAMMIAxCDGKMgIymjNUM540BDR+NOg1YDWkNhw2oDdAN/I4mjlGOfA6djroOzw7sjxCPMI87D0yPYo94D6KPwY/XD/OQFRA1kFMQYhCPEKMQvxDfkP4RHpE0EVgRdxGWkbwR4ZIFki0SSRJlkoaSqJK/ktaS95MaEzeTVZNsk4gTmhOuE8GT2ZPxFAwUKhRNlHWUoRTClOeVBRUmlUeVbJWJlaoVwZXZlfAWBxYQFhkWKhZBlk+WVpZnloWWoJa8ltsW+RcOFyGXMhdEl1SXZ5d3l4aXkxetF8SX3xf7mBSYLxhNmG6YhxidmLEYxBjsmRSZL5lPmXCZiBmmmb0Z4pn/GicaTZp6mqaayxrwGx0bSRtfG3cbkhupm7ubz5vsnAucHBwxHEmcZBx/nJwcwRznHQCdHJ1KHXedmp3BHeSd/J4UnigeO55YHnSekR7FnvyfIp9TH3kfnx+vn8Efzh/XH+cf86AFoBqgL6BJoFigdiCTIKagwyDVoPAhAqEaIT4hXaFyoY+hsaHSoeUh+yIeokIiaqKTIr2i6CLuIvQjACMMoxijLCNBo1ajZaN5I4IjliPNI9Oj26PnJAOkIKQ2pEwkaSRvJIKknCSyJMik6aT/JRSlL6VTpXKliyW5JeGl+QAAHja1L0HfBx3lTg+35ntfbbvSlqVVW8r7aqtbEtyt1xixy2uiazYie10DCGUS6MkQPqHgzgcLRAucHCZ2ZUJmAR0kIQk3EJIwKEmR8sFLnBwR3OCV7/33ndmm1Z2TMKf+yfWajTbvq98X3/vK4jC5rk/C0+JDwmS4BBWCRmzIHQp9lxGlIQupjgTivWEYsjBv6xgsFq6FJZTWEIRcqqLdakCk71Zk9lmbw6lBVW0y15FSPf1D8fllM9vamodGEoG/21qyt0y0AL/HhKFU2+LwlVziyAK+9jDbJv4Dfhes9AlKEb40JRiyiliEh6ZYkkoRv7NHpWxLvxGK+sS+voZfLgEP2zb1q0f27oVPsWV/x/mEgT4zGZ4aBLvEWqEerZSyNgBlgwsL5VKZQIiXPvDEbiecbjtAWdXRozVw1+KI5cxWqzJZHLG56H7rLYO7/tymWAoCveZ0pBQG2ENQ9Hj48v/uEkIdNkUe68S6FXsHtVmOKkEPKrfcLL4pLlXifQqZo9qgicjHjUMv0yeLDNFfF1ZkR6N+AgvyVrMYbiwebJWWwAu7J6sw+6HF7jp0UOPPnzE1wTpNfCuEL0LPjOqf06t/jl1+JpsTH9lPd6XJsJMNJrMFqvN7nB7fP5AMBSORGvrYvW9C/ynTEQJ2+ZUIG6OD9PPYIp+Umb6McNzYtMb5UNHGtc3Xt64vuHgEfngkfr19ZfDz6GvXCFfwd5z6Zrvwn9rLp18HP6bvBSoPTb3afay+J9Co9AuJIS1AlP6Eop8QmnNKdaGE7JiyymtHtXIujJOfxNgH3ggE4x105VH7QAy1CSBG5RoTu0HFpStwHSWNCy1xW8yB+KDvaxtOMZC8HtwYGh4MBWAP8xwE363DLpYwB8MDbS2BcYYe/nguWs2XWTcIQ517dx4weSayT32nebepv3b8nON7Y3f6OzvSD659hL7vinbxZP+vjHrD0Mbx5Zf6Ni+1bJzqa8lYT5Ws+Pmj1p666NNz8W7PI9ZR4AHjUL73J/Fl8R7BavgFEIAZZfwmJCRgBNVuwO4qgGgAVZUbU74oyU3U2ORgk6AKTfTKdNVJzB/d0LxnVDackqbR3Uw3I/IaU1w5copLmAruKrLKXUe1QlXgDEb8BjDzan2cD4dcfwkiqwoMaCj6miTvaocSKcVu5xtbunohP2qNHlVTzCdhpXI3mMWKVpT30DbuKYBNjUzmgT4S23phHf6XGnY1c1+Uxy3dCopsTgz4/4exA3OBlqbTIDW5FDxSnxp34qV+/atXFGfv3kDu+Zf9r13H/xjbf2r+uFf/ib++2f87vmntouf+dSK6Wl8S35vc39/cxx23Q3aBezrDXN/EmcBpz3CIKsTMiaUUcZUxoq/BzhCEYPdXVbEIMiRbkDiUEJxnVD6c1lfvwsEVyyn9HvUYY6eb3//mU/TTjX1uhR51qgaTSddStOs0uTJGpqMsHNkT9Ysm+AC7sTxTraZHlvosZUe2/RX9uIrswl8zMCLG97b8N64ySV700pzWmlJK61ppS2tGNIZeAne7U0r5rQwYTeY5da23kRTvLmlZOexCacB9mq1p2hbMkHtGgCud6XVmm4kTwQIG5SVcBr3a9BkDsXbgFS9Im4ApFEqGTK3xpE0MWM9G2ptiw82sjakVCopzr49aInfdMPSdYfHp4dq1vSvvHD9nsHhllRrl2Q1e601pq96zcFtrDf/ype2bJ9Ywd7Q9q70rSs2tI8ta1h0KLp61diuwbWt7XVml8fmt9WYnmw5P74lf/xriXV9G2A/MJTzwjGS8zUCqg4RSGNIKOwEbmKQ6kaS6j6Q6Me4NIf3bJgbZCPiV2EPhYSMkTSRLaFIJxRLTrXT641mAGw4BDCwkcl775285aPd3zz5x6d6nnjq2/D+Wni/WX+/RX+/Eb9Se3+L39w2NDjQNhxkZnj3LZP3/uXkN7uf/PZTT/Q8JdC6L2bns+fFRwSXIIMmoc9wJ1QP10HmkLnN3DbcNhxqS5mH2fM37tiwcsX67TfWvc1+vv1tYrR+//BVR0YOxHal3vmuQf55SSEqtooewS5sKtF2tmTGaLJ1ZSeMkhV0lREvTRYrfJmDADYnAWGKNQn6GJ8SBXiVJOKlZLR24fZHYOIg90Awg7BLia3f3vxt+PfS009vfvppgc3l5w4JzwqHAP8TgiIC4lOKxEkgniBt7lElrl+NfG+MrvvFB3BvGOApRZgVFYEzHeh1Ke579o0H3nhoDuBBmDqF77EE64HPrtVoq5FXV9mcuC2NwG+J/CvM+L1t9L7Nc38SnhLeKFiEFi4bFXNO/80Uq0Yq/AAbfcCwbkw8xS2JwUhLM1zQZ9XPfYJdIf6JwwdrkBIacGCddGkwKa1RpjKx9wkwUljvE0yVBLwWpN4n4FmRafAxqc3Hrnhl28vic395NCItIptiBOS5C2SPU4gKy4EbcZWRXMaGMscPq61JKJYTSiinhDxoE6EMroUvdoVgZ9qMaRCo/ggKVLMFBWpfv+B3iSBHPbArY8w80CvBxvTgRnS1rdjUd/iGGw73bVox6gq3tEaWr169/L3sM8ffsz7+MXb4Y/H1LyzZNdzoOJL/7RHOU9fAw9tgbSbhfCHD0NoxwrKyEjNagIPMCcVwAgAGOyGnWoqIkAwIvIEDfzz0jkfeiuQ2gnpVjLMGRfIoIGwVsZcpRp3yjXEZ2D3F3rbvhsbHF4npwY0b8fvB3mIvwvcHhCv59wNGMi7EjBUwE0wophNKIKfIyYwpQJzNrF1g4Kkhzml9nd/9Iec0EcSwBGLYj2LYNysAu/tQEmYkn78g9Kx+2ZuxO+Q0aqMONsjGQMWDXIOdnEoGA343a2Qv5hezcHvjqr4NPevH3rvnmm0PMLOTTfQuqkus2tvz3jfv3Dz9uLYf5/7M/hvWHhcu1HjQksvU4tpDuRmPW6oFTeIBKJoTip240Y/WSX0u469HUPxu2H4tQGg7rEppBDK7LbA8o2CC5SkeGW4pIW8mEq2n5bag8gRpk0qC1GntYoP8orh4c4yx/37PhTet3dh1/tA5W9J7xtevGu9Z07Fx7ZFdb9o5PPrkjrde0bdyVV9y6fbuREdqpG/64Dl72n1biUd98NAGG9UGXPoWDRouYpwkPJwkV5xmlCuuhOI4oUhJIJHCkhmrA5+yolxxWPHSAXJFMSVVt0ajAydinEamXqNinlWd1pMGxTErqiYHEEg1O3t1JiEx1DjIUnIqPmgW2w5M5VV2r/PAo5/7/OcfDLKf5fc8ruF+AHB/Euz0sHBZEfcy31EzIZckO5EKTIkkFA9yUCbgwaUFfLA0sLXtfJtFAfsBD2DfRHaNZHGFyICxSHDPmFZcclZgJg/aOiGvEqC9V0oFQL7cGGgMAAHYyQ9cdfmmpYsmV+zZumrzSjadfznWcgnb8PQ7zh0f2rRs+boU2739OjPiuhfkQVTMAM5jwhu01dfC7gcjFlZcTzwfyaHV7+cysIEjMmH6DolVl2LxKNZZYJeTimtWyLotVhdp/cIVopOERkYiZhfUUC0IE5NQYCTQfWPicMjFzMg8Zs3sAqjE6F0XHrhr2eV7Uuv73hqrbbvgpn073n7ejiVjO1668M4790+87+3b20dib4i73nFofOfO8bGdO4keOwCwVqCHSdgMWw8hYqmMCemBqsKsqYoMI8XDgFc0cXI8vf5nbyc7SvTA/i3RGEyRdLawgrUICkBszX/pYlab/yr7pnjrqSPish3IC5IwDPh0wz4Mgq3cI7xVw2iXJkeiuZmGFskF/NAAK+klzdAO1jDuRbCA27lVDLszjHfknJoApqhrJ59ACcszkuhq6eLWruIHTLZ0ASaNgEmlQVb9FvgdBcvYrmGWLNph8hxoU5pgV7YOcNMJ0BsqXg6J7psfv3nJokT/23fsfGt/7+jYWyZSA+PjA6kdG8bG128YW3LOV7e/8Y3b0+f5PWsT6w5evD6x1uPb8eQ5g4Nt7YO55NKlyb6JpchP3XMvimGAH/npaoHvAtAm9gTAR/wERmwU3J0z8ZNkOwlyW8haRcnC+Um/In6KuvhG8cuqXSaeqgNMCGTZM1BJ5rYxNsxZS+OpuG7Lh0v5CflrChkK+Ip9roShLgIGmwKGGhtHphK5jmd3gA3mFTqEjBOpKudAPcNeZ4ovobhPKMYkOi8CPiJ0wCzegpNRCCA81RqJtrREI61c97PDSbzK31ewAURu49B3OYX9gv4dXNLZc1mT3cEjF3bdYdKlW9HWcfQqtl7FAcLFfBLdKaf5pJgFZ9lZwCADP0mVgGXKlwk2kb7CHrCN9OV9X7eR+gSX2C7Wwt66QlCEBBp9YJ5o+wqsYFCH2maK7ntUoc0k9YJGBG1oMIA2NM4e/8VH+RNG2Fiwx+AZk+GkajRY4EnQu6IRyT0jSOA1FH2Evv4eNtgScDKxPW9hf84fYbe6fr7q55uPHRNIZySF94qt7GMUfwmTRWrK6fa5JaEHW2DjynzzOtjv8Yedszn/q81lcF2u234Al5HDJZyYB5Su4pkB9IdQCpShVwVOpSeNCLEJgBIkBIUdY2IBqoKaMQ4CZEYC61YA68//g0Bt/jnA1AB65V7xIZAlMeCDTBR5LgYaG6x3xc13k/kEwlmL0iKcU0ycIfiuUsHn8h5z+yPRuhiKjLCs2NKK06saQD4ogqxIqOVjYMwJ4MWRMcdARLhYIA5SY4wV1bmo8S67ty3VH9/Xubg1PtaxsmH7yI2brvlIK7Kx6Ovf1NY2Ob71gv5Y36qe8Y6r9pz6HfE30mbn3A+lI+KzQKNx4XpB6UwozTmMiEkpZTGIuiT5tjklllD6AKqJhNJzQmnMKY1cNaZzStqj1nC4lgJcNWnZO2EF/Rhrbu3sSyFsAE0bqspm4OnWtnRaHVosex8U7HLQVNPYg69wyarXx6UDiYWibAgNp8wgGnQlygUiaqPCK4wl94ekI+8+ry/Ru3ts4z9s6h3yuHcsdTYNbvjHa+/698zdd97YMaTum3n+lQfu+0b+my2x/nXxunS8kX38io/3tGzetebC9ze0DP6oz9141bbD13/p9pvu2TfSu/yR+z/1q8/eXNN+9URH7+o1uP9fgYebQO2YwQK6n9voGYEZMIoHskBMoZSxJBkK1cqgokMTBJZfiFyaGj3AgGgLW2ePP/pnflc1WC2o26yzLkXwgBVkVKyerGhl4P4bPFnJYIULuGPR79jwjiRkTGYrsvHnRYlib2WhtcZ4W6M5zlK+NrN40yW78vndh9mEY/OOnV//uqjkr5id5fpxGmBLgW72wi5tFPZqEVrgagtqiiDYS3Vmi2YvNRF/x3JKMKnEPGqEq0YyXF05NQ6sEEFrVQbK18UoWKuEQGumlSBGE1AFuqQuJoNnIqLyC7YOdLFAKoQGawB1XsrR0Leh/09/GtnS6ettP/imG6+55v2LVr3vfasWfTWSGmyPiPe0LBqt7Z309Gz98pe/2jn+zDi391Kg46dJxy3S7As5lzHj+h2waj9RxZ1TAyBzVFnkC3PIWaPB5kNWNHsVK67OpPlNPJpB3CVOT199++NP3Pa2vaPnrr/ottsuWrt5+bqvs9qvb1iTvuPpO0a4rEMc3g44NAtuYUjIGHAFzhw5S7QCD3pKaCs7PSj40LiUcS0OFPmM7C7BYyLMeBEZ8Fu8/ZHbf/CD26fuOnjZZQfZD/M//4p4T37dU7fmgwAvfB/7X/g+O3qM5BfZchkRv82YmzFZmejsoiC3gzQAMKcxmbExNK5sYFyBcQ4XloJ738HITKX/2f/mr2B35r/N4vkfs4R4z45Hd+Q4jvXvtApLOI9wBmG5GdFIDIKC3aYLQLD8TWZyyeAL4dEA32bXRD5+jxyX8bvoe6bZneKyR3fkfwifzmn5baBlWDis2WpejRedwItByVK03cES9uQUjwcJC4yYCQhkxQfhu3TbPWOxS2kuXW3AlUEvINwDXrPqDGFqwWZ363J2Hu2HhsHbEL/94B1I/3sPT+645KJbb7n4guulX7Jz2NpbH32cRR+/YfG+O5+685rzdhRwJO4luizWPHlBs3NtqRmLZDQ5u8hycOhywpzURYUVg84aQcAbRgSl4DEl7p3OPzE9zYanWVf+u8ADv2Qh+q5L4DEH3yUJ9ZpvjgxQLfaVgo/KTU/DawWK1/yZHYVrJ1pNum/koLe6NFcUrRdgTguasqZK71JOsaPXHbh8cnX/+Oia6f+85J0XLJk4dxnL6vDfDZ9tE67ja1IFKZXKWDEgbbSkUiQhYSeIBLnoISWOfiJKkKKw7F3/zFPcarKgMHSB6FNss8efeevTpkLgSJxVbSA0BXwG9rwZZR9DE0sPKDDCIEsx8e6b8zOAwdR1+cfYivxDgMOH2fL8gyU8bRQ6tX1kyGloNBEa4U8D7RsDOiVmfbukiHmvmMYdcurLnPa+uV9Jl4GOcAhf0fYHOIcphNmpbwpTQSu4OKCLZ//rOa4VzB7FMgsvQHPskbe8+A+kFUxGsMA8LsUwq1rRapw9vujtL07TU1abBaxIl2IHw9yMhvnxr03wz1Il0cIRRLrEMStMWNHIodRMSQy4ys0C7uwM//lSNSwlXXbgthnHzG0Hfu586GEHy+aH2RP5DaBAmtmPOM/P/Up8F8BtFbZzyUebVQ+IYsTOg4jTQqMI9VNf+M5zxbAMm1VNJjDZzLNilokmM61OZabCcoyclIB18V3O/PppBzs2HWTP54dhEY3sCZS/KDN+CjID5e8qjavdmgawc/lrnC9/VSuI3yxoTpHcersbw2gGoxZG85gaQCA0eNH5BTdF/OkT+Z8+/jiLHbjt32+99d9RIn8d9UB+2dN3gCIo6oEIyUhZmOB5BL4IV27G4DaZnchgTPGS6DLmFFcS6KuHG3y46Vzuokbwo0YAyJNBTUGKkbfsvmH6Z7uDYwPXXz8gdt5/Rf7X4j2/2zX+LOFgt/gLwIELrNObNB0ElkkwR9sPhCgY0QzDCMCLflDaHow1Y+ZHSFJuR49i8sgl48G7nzi//go3oosc5ZoVFBeQSHRpjosH42YGi5VCCd4g/GE22SkqZTRrOrWBnN0hHZe/SOR/ajHdjuh84sh2jtFtmz7CEKFfv+3wp1pzOlK5TLkScBoQDuoyxQEyxaXTNphQnCdAy6JvhXzmzWWZ12whhtPigN/c/+ydfJsRFAhEYFZQxQByGj7y+J+dgWXgTZPwGNQDaZwAuHrxyrfmXziYXr06ff30Lw+8eWoF22VdkkwtOfVl8Z43bF97WOJyIAG8KIifEFpwvZKmmymDhP52K2XeGkAWoMgz55SGgofQBhzpM1FoSW0wkxmlOOVjks0TjMbJpvaqkWbEcZ0N/AiTYPZFosSrPGaDaUm+6jY9woCJSW4oh2JMFG7av+860wXihkWja5dtObTr+t073+A437qsP7ls8YYrL3hkxxuv2hZYvHy8r7vPH96+4tzLpjb4+wYG2uMdvpoLCLYwPPya7JwRDhtXbkZkIkqpS7jjF8glFNLr8P9gI/v18ekvsu+KywB9y3bAZ58PeLsKPpssKEmrEqCPd6X0HWwBM7uAL9zBTtRRkkg+M6P4CshmDCrAb/GqDz13z/Te958/zVzX3n33teyW/Fu2Hzq0nd1EevAVkFs3UUzqCvg+zN4LBi6vzQQHt+JN/Ls0Z1O31108iM0j2gXbXgV5ykU47RNW9J213yUBKxCt4k35WUd+9vCPwO45tYmE2fOVesRE6zI7dD0CYgN4xsyztkU9ost+F/96rk2OL7pJ0yNmiwXw5sIojgGUhQQq5p2aHjGgYwxPoTqFp+yzBZ2k2uwW2FNwS4dmwsp0nVGqR+bfLKQ7UItIqEVqmHTZzx0PP+T8OdcmCDH7Ub4ZoN4A+mQYzQe0TWCvbyH76deaLhGYhNUVhAez1UZ4cJANIRX3kMSluq1oSDg5XgY+8MN3ISzHv3FYu9Du2OE9WWBTX5cq2ZBoWdEErlXxafCxjOhjkWcGTxvnPW0pPE1FFkLp0/Dh9sKHw9N2fFrIikaLnYfO9KtSjeuTUuD5SuKWq4/NXP3fz139iU9e/Rwz5l9hu9jEr36VnwX8vAT4WQ74sQhv0/afkRjEZCHE8MQWNzQMrEvLvlk4q9g4Sp7M/yjOlS84ooZZ4hjz7PFB348Wc5vDbOFWl4FTXcwwg5lsK3ORrrCFkazi8penX3njF74AFtWt+e+zNnYk/3vmAB62wDrrSU5MapqI5TICFxV69AcXM9T+419Q8MbQi1lANIXtJ+F7VaP9pJQFD9tYdGet6DiwxkGxPv9+tv/U79il+eNofe2gSC8TLp1bzeLiA/CdnRQvAjQY9WiTZhFLWPqDF4akJo2MIN0DaFzEH3xwz54vSgfPPTUKn2Wa+wTb/mpyfhLP+UmY8yvTnIWcn9EsDbPt21/eviIiLYpgXGtutfAirTOlx7UoNqav00jVJ4B7iYKZSARU3dqCQ/HBFIjP1Itf2LPnC188V3zsXIR9LbtKNIs/Ajv2KoFMV74/pIK9adbwffNz13PiG3ox8mdQJetJ3PzHn7j4uX/SbOtesiBFeFKwniSZZpwVjgm0zbVNr6I407kh3maO+0Tz1HX/sO95dtVTT7FLSFcIcwfY7+e+BDgMVORuuVdixKQthfw+tB1fXyMuE/4sheH1YY7zkjx+IYnfNvzn3TeuEpd9ppvsrQ7wZX4D9nqd0IbeInlBVLzRAiqXURiAKe1UY9aUU5o8agxLXJJKbQ4LfdQmK1Y3+ME9jMkZkxxER7EW9AlDJduC1oCUVmR5xuqrqa1HDRzEID9u19Y2LRo1Jg6jiqWwXEysY/42XgMEipj9ZtplrNvdv25PdPlN0+JIYvXqkd1HmscXN++78UAqPrQ71NPQvX4inl6UcLd0Di3f4GmeTD27/F+a/ct6auq3InxbQCduER8CXy0g7Na8ClKNgRyVHWQcOpBBzcdQrd5kEve/mxuVYAGpbhMqSQcCFTDz1JUsk5GpOLzgFut5K9wI8hCFILiZtuUfDx1YMjW15MChwT0379lzMzt44p7JpeJD+VOT+ewdF154x4VAt16gwe+ABgFhVIu9+GBxjPx1WpcRvXRciKD6tNiLU84Y7QFEt4UvoKUQ/dMrSTD4wn537uWX3n33ZYe2LUsvX3XB1PJVI2s3H730srs3T4zsX73qwLCeL+st4oh4wKDhyIE4spbjyJdTfLQvVLsrmdSsRJX5AEcGK+EICS8Sjszg/SpWr2Inog/qMfkQGBc6jnoRPf/IEUVIWjp5D2CJSadOcgzpa+wBHGGMDawbG+VPcxkP4xG2sGjzgGsQpqgGhi5ApBhhPWbMH4VlxYkRCnMjmnfDoZIcSi9rArO0R8wfsu4Z3bJk+fZ/uPTo3ZdedtvFznPesANYo2Nkw/IlU/dccunRD0wAAodoX3rg4V7xEcEnXKBVMHolSsRlXLgcE+V0MZjpp2iAm1IopmTGZqf4kQWMOrsNL+1OMOoCgDsb1mV6AHMS5oBYWvHKVKbJiJRY30cmX2oM1s/unWhqB/v0Ix/Zd+4Wcf+6c8Ub0k3D6W353ey+bVOHCVeAVMBVSKjH7K0LcVXPt3PGx6gQS0/ANFBhHy9Us2PAJ8wJ2og5Oplzul3OmiSXjzw8lx7RUOploKlS41VlD69tClREOWh7E60HS2j9gStv2Lw6vW3NnsC2kTKiL7ry6OGRNdNb6rqR+EvzX9Jpz4QtwAAO4E+fsEKjvJCieh9OfiMPUNpOYBzEkVSsBZmNqGVWDbUe4Afig8a4zIPf6JgEEKXBgOiYWjk0vHpqyjfZufsaFhtft3Yi/1Pxod+Hm645hPx3DqzkG+KjlL8a06hOoqOYyTLxYp1c1sZMFl4RmNASWURg1SJVZqZgAd9o4Zmp0L594scovXBqEXuZcmZ3zyW17wwKK4VMgCRCAv1Q+FIswwFX1M+Dk5rRFsavQl9SlMzclwT/XHGnlYAMOADxz7MeALFUoBTY+d/ANF000uK6cP3o4nR9dPM+8SZeBXxqzfrD/ePBt7A/aHToATrYhBtLY1PGgoiwvNrwVM+LzxysEp56+tNPf/fVh6e4tB1Owf699i9TU798229OnQLJes5vca17AIMPU810IbYnLRzbexiQ/5DOa9Ji2DsN6Hv6CEYrwOjHvRNGGOtSmNcxwu5uJEcUqBFIKl4PWYcAaZH7mpAYXsB/GCSgrNSkFeZV6nATgaTEP/2yEqzgxxLGJO+TktzS4qmxgdT4PnyYmuraOXyuL3XlzstZw/jk2rH8fxR+v5xalOzc86ZdxT0jVuwZdpZ7xv6q9kxgfffOI6xxfM3kOK5iINp09X5dZo/AGipjSuw1xJS0tF1BwY4c/d7Ro99LX3DLBRfcwg7h9dH8zG3799+2n8eTtsyNgv4XSbftEwqqX6JiJ8kMohgV7dlbAVK5FWAptQJ08pVaARcvqrQC8ifF2aUFK4Dja5TktrZWXQUbaK0GZuXLPHttbCjXxg6ujcFwN1WT0FOLLi4TzI8x82SFSOb8xXbAlrKhzULZPBOuzYZrE3IleTxzMmMwFuK/DtTMJoGKP0C9uVgdI2QNsx3bN05NjV7C/tl+cPWv2cuTay28fhFso1nASVy4RKOeNcclYQ2v/PJSNk33Y2Pcr4+QBxBOUvmXl0eEFDPKQNURk70zktUdaNSSrE1YUA0Mf0wwmb3hSFk4KDgvGtRaCAax2SM7d1xq2me4rHskvez8tZefu3naNeXb1ppMTUxv+ODKXeetC+xtrY/WOX2rhiZ2bFjpW9cYDoacgfUIFygQtpH8dG1nUMyXkKjYUno86CwqTLWoEFWYso03Tk1PT93I7iOj4GMf4zTbBPvRCrqFZAKvRRQosspZypsimWA5oRWzo0CQkwWZYCcsgvTixh2Zc9yEp4ART2yIVi4NuGQgScDa88+jaGANuAbD3AuiC9bAY0bsVcWMHhv/+WXzY0bpf+N3X23MiEkUSBFdeVf+kns+xF4+9ZLozz/IJnlcbu4FySYGtZgRe1Uxo0d2v/iN+TGj0c++cMW8mJGNYkaPXvjC+nkxIxvFjBY98OLP/xYxI9s3XR/+J9e3LnrTUccHr0aY2UX5ewDux9j2/L+wNMFuhYeXgCZ24ZflMSOU1BlTWczIlES3GDhSKkm6KbZkIV7k/MHXeLxo7gcZHi/idxaMF+lPLxAvKnm6Wryo5MPPMl6EPncbxovM7KUj11175MHMkbe85UhGBbBO3n//ScCLNDckRgEvZuFWwAvxhNFMuLBo9XZZIxMtXcS0WFiDsSJzoROKqu+u/Nmj3KIx63FzNnv8sX/+2Qc54xiwKI8XNBBTiJ6sJJp9XVkTPgpZoLKJxwskU2n000esHM1/8vC7nz1878eAsIuZl2XyM2w93+vg6LIsrb00fsTmx48afvz9iviRmcePzAvEj+KDLJv/ExNBtFh/yV7O79nOPrmdvrN3bjVrFx8QmoSNVMfelEN5gpoqzjV9EtwQJZTM1JNCqMdEui+ZMVK1rtEGoqwZBE29kawjQfU3oa9B5W9GFMdLGEjiwTEGv1FnBVB5UP0f/AqmWLvfuXFFbWdn7apzHP7FdTWNDbV1ix8UV23+ZEezabW5uf2B9SvENaxu5BO9Sa9vsPvDozFY88q5EeGo1EAxlmrWYQjU09GtWx+XXuR47Z5by1rFDIfRjPa9Ek4oEQ6j84Tix24oJQZKz0lKrwlktdNAtb1WABdUEsJocGo1HmEbqukYZYg5PGA/DCaHEMbhXsZBRs2DMIZYa2ftio1OgK62obGmbrHfcc6q2s7vm5o7Prl5lbgmNvrh7kGfN9n7iZE6tkZcsf6B9mYz1gMIXxVb2EGwwngXny2XddqMFl5v4EnwQgqjSEqZeo2474k418ulsI6jJbW34/rO7qalqX09t/t6Gtnyt69a13LNqo28lnBMeAr0NPpHaYFHLyTuF+mdAlmbYKzmF2Uls4VsPc0/oZYl7B/UWgncU1Psa5EW8pNO7RO5XTc+9xtRFD8DVKsVDgkZL4+WZJxeQrUdi9gTGEYRfaQyDVhXXUfKjVdqGvDLg0mUZqoDTD2Ma/HoiioY0+iAH7OYPYEg1itjgZnNTTTS+td42xqaA23y0LBZpoCVKK6ZWrP7mmt2r9l1zrLE8HDiX1MTEx+dtEztl+/48h3yjq2mdRMJc/5fLT0JtkremR7ZBbQZBGA84r1Cs3AbQMFjP4o7mYnz0t6ZSNQbx5KHFFYs28AkaEkowRMEapBAtWFxiFOGR5MzaMEiXHTqTblMAzWtNETw+QYvbK5WADnYAM6hP1yTxvoNExV3uMlRlKKYNW0AyOOloYeAP5QKxLH4Hbb+YAr7ccDGGKDGpVRS9CwfnFi0Ivjop7xxZsqv2NgROrLNbDK+57xLxe1LU2u7O1Nbx+uHh7Zv71vSPrSVBQJNnvPfQPQbFS4G/yQthIUGdiXtJEcKE96w/FqAMIflp+EUOVmwq7xJSrXGyMCLsi4tNCswqoNvKkaTHU6MIDsdGE0O82hymKLJ9KzPi3e8PnzWbMJrk5lnaXuWPv0V0iMOT5Y5ULM8/RXtjg9UkQ/bzLygdLwglctebMcXgwOTdTnDpe+CF8v4Yny7H99efBe8OIQvzsBbSvrQQukMfBhesXQG3lLylDGdgQ/DK0taeJCBJnPJ/lDBGJh3h5cTYxmkLRC0khtVi4R3eyRKKjMzUjRkbjM1YY9U6wC2SQ0lQ8MFL8CxJxTaM7q3dUfbnlG63NO6q2Xvga6xrq4xNrenrburY/fo7mAQHlr3tPDX5P881t091s3lZACI3A/2bVD4Kvc/Mz7Ks4CkxvZep83nxAZBzDqbkzNuL/3NUuAfKlKSIhs+Pclu4xFnKyYdMlYKnFkl5Gorum82aomwefCGzWHFIj81yHUwz8kff/yPz59HKs7nUbxgVvkxd3186A/PD5DB5Q9YlCDeMnLtLAlKAG1Hb6DYYivBJgjgD2/igh/Sv/2ff9fn7rtv6r77PvfOY5d9/GPiPflvrZlcc8cd8MD6879jbi6rVs49KBwVP0F1vA2CVh3Du6cZqQsBH7X0BMaEZK50tm5lH2amU35m4p+TmkuKsvgIyIxVbLmQcSBWmzHy2Emlp1g+uzqh1J5QluSyjUtqQRj0aHX4gOUlHnWIFxsClBQv8uawjKKNnI3WnLqGY+unv3/sJLdNIh4lOKsus59UVswe/8kTX/9HQuKoRxmZVftMJ5XULLwkG4oEwVwJ46PS58n296XgzyQ+Kss82eXLVgCjw2ORmzPwDmTlcDoDL8arZFqYcEZSI6PLgqFwX39y+Yqyfkp2uieJ1Zc0gs6qT6veHmB5i7t5JfbFtg5R9kFQHW5sSjJ6MVjeKc9Ija1tK3UvDzdCWea/18CdvUJXplYnG5NC2AvWhmkL+EuEv0JDopzqGLh085bD9vOl0a7mUbe/vWbIuWn3cEfbVes+5T9/qL0l5e6IrLCv2zG1b09zJO5pqAlY9kUWPdtzjr971eTuXduDgyNtcU/MX+OqMXfvXdO93tM9vH7X/cHudHuzty7miZvad60bHUyGbF0Rf7zO5zAkPVFBnPutuJ11iDnQtwHU6k6qofWRZe7joQHPCa3t2Mj0So5Cih81rNlfjIOzjnhfHP59NR4Jx+PhSFy8KxLXr+k31rkOgP/4HNUIyUIbVsiQP+4pVAnN+FskLNDx52ai9XQV5ckjYHTeFY3VJDyNpMV7KIeEfXgmCfME8oNm0e7x+qO1JLRaqCyGEeXq5c9bnS5LqK4NNXIU+7hq0+nyMiO95LRqKkR87vH8C48/zqLvvveqN3z842+4qnN86+Y3vXHLpuXDPYnUqlXJ/m72A/6Kx/OjP7333p/ee9vyN23ZfGR8uHv1wOBkF9X6Dgp/YNNUW1krtGJMwseLk5RoAsPqRqwDZ0obWRq83rsOa4SSSiintgOwjRhA98gAUJ2cMbp8CFpIT5g1Y8pCQEy45BmLJxiiIncfmoro4Le2aYAVE2ZoF4YaBxtLcmbT66xi26L+RVveIDaE2hKdi9YOTAbzz7CevWtGanz1KXZAltv6O3pWeGV/vD+ZXHJd69H0I7KjOeryJEjONAqNoof9h2DEKEULKIiQW4QHs+gZ/P73B+/aSI9bU8//R+pzn6VH6jV4h9jO7oX39FJ3hyGXkcjslZi1UAso5DKMCkyZVKgFbMGGtEaxfVt+L/vzO57cBjhexzxiTPwx9aW0CbP0eXIOzbeGXKauAT+grh4+wOcH+w3nX3AuM2GFsuL2qPVlpkJzLhNtxvdEA6Adoh5ebA1bpblQN9bBRd83XvpBjjtrpCJcqDDaZgU10IaR5zYua2L1GMl3YluSrMpAK7UZuFS1UlgQUyYzzO4yNSPhGrglJegbTQ8IAjPG27A8iorSQJlo1VGxm/dN3/yer266+P2HDq2d7Fu2q9MbCnn7R97U1tsQErfPvvtd+6Zuyn/r/QcPvv/gwLUWb4P/3//S3xTtMKCvKk6zoKieqc8Xu0VYMP9r5hOnyW6fYnew94NOwRjtCiFjlmgnI8bdry1CG9RMCfb+Xdfv2nW9jUwH8TBe7/qibihgjwv2tXUAp7mxQ9bJA1KvpvvaUzU2hhaAkNTDY074y5gkBwc3ULEHm3fM8D5s6plp+OxnNz/4YP427JtpYCZ2Duxxv3A5rEik+l7EKQrWAGEEDBMPLMxPC9M6ZoNa05f5Ox8s75j1uU+6wPDAjlkv75j1+godsxYfiDib3cPtssbB4aGKhtkUOyf/9ExXa0133aKuXYvPTU99iJlcX+utiTSnm/asG+4fP4j2VhcT2RZYcyPmLWp43wEP9btzmfqSRFWT3izrw20Qy2V8MYTCh82y2H4Qwzhfw/xm2QbM3athcFWVGlmJ6BXf5Q2z5f2yQbZl57Idg2M1w7HuRMNE75Z4uCM6Prhp0bq+Mfau9Nr1zd3g1DUt6w1E4s3LJ5L9tTGyHQfFZcxLdQyrFuqHrywiKW0WPz7Q84PfIgmKXePm+DDz3rj7bvG/Pn1C0PrbR7VY6PrSjLcrlzG4yHHHLG1FWNSM7IhhwLLIKI+IqiKVefMUN89MlcREO7Zs6pqaWjE8uHoqOTr0e3G2GBKFPVA7t0dcRPnNiLBD4MlkY04VAiDezKTYgf/AN8Je9ij5Q+GcEuY70o8FORkrbRG0hzFlgcMCxBy2F4Fb79cyODw+jBFimVddpBoZ+K3gti5as3HFzP79d3Sv2dKDFfI9g4PilX95SfL/5aX17PLDh0a29oXyn2ZmtvbKdRx3wteEp9iEYBFiAk9FLjAUwFcxFICJ2mwhJtTM1Qqn4BN8QgfFJKw8IeXGSoes3eO2FJJRKF4wVtLXH8K+fJ6zBD4bTplj7JQjtiKxsiYYWtk/kByr6Vz0Pme03mcYEBt97iMTYjutt5FZhGeoB79eoHIvvWGWN92rJpGHtsn4xib6Zzasi97YxyxssnZJH+/xSYDev1L8OMhJO1hcuwRu84C+sVIMSOLU4bUaaFjzGkstceRFvW61pbFsIyuazBJqBwZqxI5Kw+2vJj99IKFaCyYNu3Lvu88//93b8t9i/eMDLa0DA60t4op379377r35renPnjM0dM4Q8dIY6O4eXXczGoDhZvgo9nxv8M47B62guu8aZMLzqc9+LvUf9AjvMwiNYNt9HXBkE1wAX1h4hMtiVcRKYTt2H7j84LgZwk472HXWFHdbMmHS8WFqW49QLYEzifMEHEnsAkdzr9jGHiq0sYfIZwvxNvas3Rqy8LE5IJqoZ5zG40g/sVH8OPGB7w6UtbeHPScNSgjb20PU3h7WvIAA1itgB7E9TEnvwtQNBgJfYnEr00YkDJrFry9Z/wxz+Jb8Aw6/eUv+u5zgl5x3+PAlftb5F/YHHHiTv4gYIG+fmiIeQBw9QXohDJz0LSETQpERTPG+B1+OJliBiAQ8OS2hgJPX7zSAYXiCAp8ocIM5pZ5PAgIsBbhxXk2bNFZi4WzUihqsAQzE0moYjBUs0wjIGZvTQoEeVDgzoHCo8FkNYPtUTa02rmG+8ilBm/hEpR66NX8TIu/nhLxylSROlSAQ+atN60lC/uoTUqy2lL86EW92F41b4soK9FIv/J4xpJz1pfyWIn5LAb/NhLz0FDYyDZQUsEfttC2bENk9uUxTD76hKQZYBcswWcaQyQJDJokhk5whsRjBzhvyNJYcLJ/YdDzxL99dV8aSKWTJJLJkklgypdGhCQ0lb6gFpzmpPQ4gRgJIEAthLMYf4G4N3FJavGpbD7mnSvs8vmXSGRWtD1j628jSdv+SHTTP6ccLat6TO8qZ/GdVFXH+RWR6UeiZG2MPUA4/ht6Omcd1URvV8m5dpx5R9XFOBtOZij2MZMQx3rYbdVJBgWIEkzmcJpcmhPUPx9CItHFnT6pF593pi5WLQd3lGQOwqZWX17VNtgy0tg68L33jpje3ppLxqY7FrfElHasa2I95Dc3nrtqzQevfneqj/l2S47wPVbqf+lBdwkOn6UR1l3SiFid8ada05+/Tk6o6DLBfnS6qIyrpTsWyzvIO1c/svnGV3qXKsljsWQn7zxeEHbi+HHxUZXx3YY3Yq0ABGWUuOxpldle5Uaa4PIpzFlCpOF47pmYAU7z//8wdvD4wAstx9FOwCHUciXvQMtRx9BnCkQfshoX5Qy5BkLsw920ep3hPxykDoz8UuSBxg1T3zBpUF7bXO2ePf+PTP+zSxx6oLqcF7hlUu3xSdXss8MLXjLkJK6DO7nC63J7yjjbCodNTMWSwnNfmYfJ3u5eM7T5a5Le9e79XwOUuwmWd8KuF+Q1QGQL/HhiPXPMUxY1iJfjFuRq8zqWuEr/1f6edWIcFNq4QqlTZRYaHGorKeqFrEVtUIoGymoqmsCe2HHV/kobaIuud9WypONQS3uxwelmBJ/uGRtvabQNLOgIB0KEaPvcSPv1Cg/D4whgNg2BOYRDEywvVCpisKVgenkpMNv1f6LP3VY1PlqPsDxXBygK+pMqgpY6zLxDOfEKN8JPTST2M4IW4n19bgjMZK4poXlCgIAg1nNX9nbgvgLOHXDj9AefEgLWXdXhkO2nOEmTqlaaFYEw5Hp9alexftXK/FOuur+8uIHHr9MqV0ytvwXsxyjvM/QwEY5z6yrzCB7TKT4MxhYWQvL3MmpuxORm2ZlPEWfHiNpb4DJkyLDKyvZxge8m67aWYk3Bht3bRJgdcDm9//nukKAiVBsSlPGsELMm+rqwXHyVBkdHeNXkLHNTB5LgUZ8Um/EGzFM9f98V/OszewR7O/4T58r9m9fnr3s3s+T/wnnzmeOEFffZBLc0+6KaaJIESKjSZJNMgUicE1r7goLGehFJHw43aPSTXzTm1F927dsC/wRmI0iQEOSs1kMEHJo0HS9AD3LAT0MzL1MW70zTaSGmifHIXAy82UObYjonjTCs4qxijYPR3LipxeCUrGERv/mjFaIU+sb2j6ASbA71uT/Dht99WGLcg8p5tsAMw5rb7tNMPPKeffkBTeGhLUFjQxmjkJTi54H1VTEWQAL7yyQj7sA2FKCG+Fe2T8nW97zTrAtvkVS0Ny7R47NKBY2iL4SK3Ay0Th7vCMnFjZy4WXznBkne6CvU2ZXBgKKkMjvUYVyI4pDjaEDocnwE4ZCF7Wvx6zwiE4sa9hDMaMCJbgnCfVm9VsCA8NCfVoLrRgnCVWhDOXtXtssA9g+oAC8IjW+CFwjFS/rLej+SSq8NL2r4c4gRpe512pOs1mPdSdKQR46YLUy+SUFwpdIh9SQpHnhYDIDZrNb/ZxmWIg49JCWLlTKQ+PY/Rqie4ygDorMx2cVCenJfzgrUDXBbgSczd9pRNidB74rJGeEWXlsAFfx72gDmt1ZUPA9fnpqcXEauPUMsVfOYK+MxG7TOnSz5TMSdKWu1Mmhcl8GIVa5F9zXw6pLmCfc266jEC+xqL5WK0ECAiLGQr8epPKAgqglcusEHgU0mwCu8qg82mxzvNuqajkjBGYNorOc/Si0WOBlgXjYYq4Txjr2o2WVCMqwbgPAvoQStwnoHmXOucZ7KWL5U4DhZ7UGOzEeQwjL+gsE4Dj0mCU4gIW0sxBxakKUVD2ZIUI+WUcRFl/FSG5splrTqhatCLwayNDPabahBQStvTBaJV5SBY0KXz2ObmeRyDeBW0WTZ2ISRcWqzjpiECntyM2WSwwk4AM9eMgzcZGmuGE2iBBCgQFDDokxT10m8TH6qoRRQjVEMdwHodByzfY8akobM4AQdDvNoUHKpZ0CbhTE/zWTj3369Nw2Hd21gEB+L827bv8NkLOIcC7HWrUCt8pGQSBcoe2H+1ScVJdQMpqnerK5lO4aOpARj1rC1Mu9YKIWNnP7FCrcUZM84g2jbYno7F2x7wC9JqEMweKrQvTrRoq2JgF4ZcvGG+cV0y9+JYqXkNXEUzMMg/doOtOF1lCoa/JB+GsojPztEyYxislnFSt0myg2mGxoBHVt02aoBTzdhif4YJGeTGl0/JMIHoqJyUIV5L/nzFeu+et14wv8qXjDaLDDxHxn/Jsgv1UR4ULB5fhWChuhkAFLSGqMpejUjYWpQ12SUXxrasMvxhFm3uVzEHhBzxcih7QC5VQim18VyNDudnCM4Axmzm0SVYAmTRV5xHoVCl5PIDLwZAOPkMFEstkVxyr+rzWuCeAfTlSSoSCoDkAoPO5w/oksurDb5QfRjCN0kutMDh9YQLt+3V4II70+XYSJHgm091XQ5yfOwifDQJd86nexCjc0pTkuf4wqhsCzW4hCMcO8ZzSE2VOMLy1HCkCI7SJKu+WswBAlA29/yUrxrEdqZIWq2tpyBfFSCrbNFyiJfM36fzwH+lZLcaNBzsJRxEhBbhyHwsgIACURXHimOaGlKAHsdz8phloBJ6nCASbSglZuAsiFnddy0HdbhCicyD85tVdAoTlgtdYpDlQae8rEVhrSnq8S6pzKd6yEIpfsUgaaaCAwnXNmuxHrJYA1k5taZQx6jX6asmZilU8Jc9bSw8rVfwF5/W6/RVs2ApVPCXPW0vPK1X8J+maL9FH+mOxSjBtKKmVXVUeWD0gQOjmcyo+kD6X/81/QCXGS1zz4m/o5xqjRAXTmknEkRyGQGzq75UxiNSmoF6iJx6rY6fSkuxawiR0D/5bDcXgCAmbLNGVfCeREsHfXVmhXWDxy7wEz3sNh96p/iIzwbp2ZD+bC09G8fHDLyypLIznlZq04o3nYFP4kWgShALQIUJG8PmDm8wVBsvLYVzCPy+r/wJfSRxI5ZSeVDTxCLYrOYslHtiCgFEjVYXNSwNtDHciZJW5Sv+7vILnrj9wm1LL73sgsdvv/C8peaR/OOjyy667c1j4xfdmhYfeuf0e277+uDGd+y/GX/l79y9Mv+epjvYRNMdhy5Yxu0emj8D+gi10cYqE2j8JRNoirLZWew7lC1YV2LTdSdmrpzYa1RlNE0bqsrCeJqPoJasGFGD5nb5mm6at6YSDcmXVa4hi0v76zSkRZ9/oE0pFe1Vx+yQCijAcgPqwgpY0GLXYfkMacFPV8FvsASQalrQyUpHOv1ttKBqw5IoVIGqvfpQobZ4ObxXcW1XST1SdpIG815Nyk/Np2AVKc8xUE3Kl8yJQimvLTZwmsVWF+mFxV9WKc0rwKjiIIh8Bg3wpEVwYHygcgoNyHPqOisbRGNPYuWLLYnFL+hnWso60aqPpOEV8VbkWKujgmOpxUxru154cs0MM5i1DrNq02uIkNoEGzu5lqVTbLibWTLTzQ57cLJkptuMQdYGus1YPXSlVYHQaDfV4knScDdnwU4VOGOVDHfDQptA5Xi36Rv2BGi+G/vE/VfcIt5zE813Y8KWuT+KRvFrwEfvEDJh5COJt41makkp5GZczjAeKuDiY8bC+qERNu4Ce7TjBTzUsOQxgFfmTBIzeTCja65txNCeTUapXu9VmtF9MfNxHS45425sTlPqU/XU6xMh2wb1QfeDwcFiE7iW1vWnYkw0XntRV9S9ZM3mPXcs6k0NT12689x/mGKLlz174O2GXaaV6XMHzjVf2pEeWZH3sVM7Lr/g3CubmPl80oE020UK02yXLr1nf/50l+5q012y7bUxcJY7ckpHQmmnQ4tKhr10yMfkoKmlE+e2q+0xLuZqZVRcr33qC3pBZ5z84gSJf/rpL+yTPN5SiYcvVceD0pUoR0Un4+B7sG6XB6FiNNAZhE6tfooTbbGudtxi7V0VW6zLo3TOKu0epQOUQkenXhKgIxFugbZDNCISa2Py6zY2Bx2sMyKwA/br6REobqANrOMvSvjrEX6wEB/1asjLdjfhMXRd5QyldCAG22n8f7n66Qb10wMapgvVT2ep+unoVbs6LXDPoLaD+unuscALhWPtHZ1d3T26+uns0TDbXcBsVxOfpN8hZ+QWnElEPPq6oZeHRM+E4FHSa2fiUd2n43OYniQcjwqfqsDxsEgHLih9SeSqXsTkQE4ZTRaRv0hHfj8hv09HvuoaTRL6AfOL4c/+ApJifRiqkFu6ggOIgnb5TPhRe7vgmf60OjAMv9tfPb7mu39nRN7i+Q7hGZi1sSxXquEzR/jsF5bgzPGqu34woXSmlEU5JQHmw5iOxBFCYrKCg2s9SjsvK8JMECB0HBA6YqXkL7jJii+tJMFzbBlchDjrkVWch6XEvGpXIo0Izkqss483NrxmHqwe5T4TWscqzJUzcOfv5+VTNVnQS3jtE0aEzy0oTZWRHBZm4fj7dIlY7cXtn1OGSnVNB+kaQHcyASJXHS3VNepQL9/MSdA5LcFEH+mcjlepc9SBERCyHT297Vpu9NUgd17a9Ix49ZdmUs/AqOsq8qu096XdIp6N2SkMYJUVzWtxYWMWv0zmMjHEaxN1gbYlZzpFW0w7iHCQqi4TOezuUhOyVs7Hx1/NmC0OOYHI6JSV7rQS8arBGprVptY2pCtGYrWZ5uElVJiR5WYF7Ei7pfw10s5FNC3ruvXb3lyOlTf3r7zk0C0HDRvfeJ5Bw44+RuvgwVK0rF17y9qRFasHJwvT2ngPeS3NQmvHyVU0C60Vp5IDh9UgBhqoeRhbEzrIPgO7P85dHFMONbYK5pP385LDH6hpaEXATTL6j6qIQ4FNaLq0Uia2wZsJx9rTvJi9jjKxblaZiB0uy8LqA9XWHcQsbP1yPQvbvfua8vlq6439YnuHo0ZPwR6U7zy/ZOCaxGeZgT3ipS6iFaedZgbuTRRPKyJZHsECk0D6bGabMfSTF5xvhlbU/CFnLMjjy+XrvOk061RqE7TUGr0YMIKdBEULqTaCFlKktsJCAoFag02EShQspGiN3riK5Qw2Y9DDj6x99aCiN7IgqBRing/qVzQbh8MaJVhjwudPS5N6KgMghUDVypHCiT9Fo6YOjJoY2C21aNTUlBo10V61tsYC9wxqBIyaupgFXigci0RrautiulFTE9NTIXVA8iA2G2VtnoARWRp2sdmXPlsuOC1yuK1SjRO4fWLQ5u/lCD9NQi9meBfmBvCdavCET6UBlGoCZLq+UWMcW33AHfEODlhMztjwOAGEK2MO8IqWs4CsuoO+IKSLKx32+TBfVMVnF2rgkc/WpDxwYeJR8RhkjAtb9NkfKjPy7lM+chObenHs5p59+3Dy5l9eZC/DZw6CwPNqnzld8pk0LLVwurKIJgejEhqhPA9cvetFG5LDHXg8UrG3pAuGjmXGThgPrOS/Pn2CVoIxid/DWlqA/8tywez/Ri744X37eC6YvbxGs5fnfgvr1ftfKReMtfh8QltJLyzlgkMngDuztiB2GfBCClsua6Q/BZ4LDmGdjhNYTxWC6CeYS2JBlayFpJzXLrsdsFnZMXtqO6G2cB7dY7DOZuE/tAhWnPITVqowDyRorIP7BM/5N+R4AzteR6mxFJbZWiS7y41kd7swah8I4nUwwFkg+tKjv6XAusuTdbqwI9vtyXrceNi0Hx/xfgjvZ+BmSRTan87Ay3n8Wcg6PXySACtccbGMaRGrZPeSWK6LY9aZhntinFYNYA2kr+T0O9SbrTRdgMfrsXu6eGBZ9K6Lpu+6Y2+8IdZ/W/OVdQ3rJt8Zv2jjRfu0Y8t+c+DOuy6cutXZ2btscjAcGFmyZG1iwxf3lpxdxufbPSn4hFaM5ugT7uLa2Wy1SSUEaoWjU2lNVoy+ayuOvsvWWW0WOh+wMANPacX3+XnDbiuWpRtDHn7ysjYQT42GZJzlpzbEZd1snz8gT6qS9yqbmTdcJe1VPkaPfbAiR00z9UBmzM9Rs79Rjrpi4h7lqEun7rWgDVE2eY/9tmg/FNf6oXlr/dvnp3lbuSyrLjtBuGCKuhJI1JalQK5A66EMSPEoWA46jNEquWn2fyo3bXdJxdx0tTRuVUpXomEzF8MV1NZjGHze45NaXvofi7ioF/lcm3ASaRXE3UX56SKSzjI5zenaJB+zu9w2Xy2xcTX2rZKbrgSyyh4thXhrlS1azgeXleWlOQ5yVfPS7PXIS+uEDJwFIavbSKVgbq80i8phnKiSk5YK5wvynshOAXtG/CUdkWbO/eCeGpJYNi0ktSEUpT2OJafUX0Jdoj/FsxAf1hpG/5hsbU225r+19X/4AZOt+L3+uefFTfC9PLf7+2Ju18POnNNd9GwNr9S2eRTfrGp1n1SE2b99OnfBvO3ZpnSd0mlSumZk4DY9pbtpz4qjl65fMjS1d/nRSyfHBkONz8S7V12ws7l91QUNYu0Vay+69GjbxBXr9l96tHUi/5PR7lP+/c/79q9Od3G7heZFgvz2CSHQtwtMjAyXTIwM6C1gJR3S6AkGcMqX0RXkh/+edoAk5XXLhkheBfqlYpDkGl4vXLq+u6qvTwklypcYLPQ/+HUbiw4HUOSUtlpd2YT8qGzAACpXNiGcisMHRIhofmm9p2g3uugs8dODhxK1DLxzQbNUgPc7rT6TwxelvvDsQviPasBlw3aLhZ9LW4L+rJ9qHhFi3JvU/lGmZcKgZSKgSEKoZYKlWibQq4aCFrhnUP2gZcIRC7xQOOYPBEPhiK5lghEdASFtWN+Z6TsPBStIq1TSmNcVEw5AnvqEOqEDzx6uSuXGhBJMKW05pQZEaqeOkWbCSKwqRiJUhwwY6dJmHqiNbeiDygQENmcHa88MTHXBWgbcRIVkrQDz7io1xzR3kuwmu/BE2eRJxZ6gcp+Fhk8WZ1BjX7tWgek861GUxP92C/K/xV7B/3ZMGWsHGleZWInHwZr0VpWqUyuJ/oXJlZg2Lp1eqfM+n9v80OnmNkuvw9xmR+XcZvlVzG2Wbiw5vgF4lOhFOl8GLv1COcVg39lS2FjkTlJPW1XSiR5+OraXqIgE4zUM5rIet9d/mKjKwoCaQA35uwUCVefqAsmkSluhhHzz2bnQB7hU6zv9wsIdWMDZ2DHvnn8G7N+r35Zhv63dMa/fFsfHlPeS4kydQgPkMxuLOT1VyztfvUCmpCNBcfyqWfhC2j3r83dgT1HZMStZibV3vU75JJwLdKYsRxvCeIaU0SMbS/usryaaB4Xvnbbrzp/L+Gnoil+2dlEFf6iib4zXlgcrOxbDfyeuwDNQFVd6XuciYjlFzVplvPHSjkVj21daV620FprszhvfsmV8crKkPkF8gfgkJXywgk/6ee4309+FKOrvBRS1lyR+B/ScZS/lLBMVOcuUlnUfBEbqLeTUUgnZO0O5X72A43VLjpdg4YwMlSwg5gw5szUausS5V+Zq6RzpINhEj2kzEC12N3KVmEA7x5bAytgI966i2vnyyDNG4iPdAiryjEPvRw8XecaoWHpVe9gC94ygPqihyggeadYatgCT2IFJ7GG4gDsh/U4E7wDbOF1h3kuNfdQud8FY0noV1UDh9GTVGCwMN8YRB5yVWJxiZMNSm1m8ur0jsWxRj85LbKJpd31n4Fs7dn7Hk+psXRtCfjq1abIvGjGxR2dn6TynWjrPqVsYEj6qzdMayGUsiKcWfKhDxgH3GrDVBewzTIMC+3NKv4dKWgJJ8Eyz7fEeS5c2wgGYZwQLBzBGGsXsoVHOOsN1A8Q5PdSPocTlDOgzCt13lRxQ1E69jgP0krA844k2xXuRo+pwwHMJ4AszVkhHRnG+3QscJwtwVl0EMXSQ85eGperMNcLR9h49/cjPQJ2W7id/4o55p2DrroRRHzNX5kq8Js8ha3bI3JE/u6O1sRmxyvHaAbCpyo7YFv+b6kfpnCmwKzFifvu8k6bAHqYNY9SPhEbpyuvfgnhCfRG+CA86Ryrgi+AWwlGqOJsnpE/lCYVprIfIzw86y+OrqJJp/hFWHgCw/BgrcVqzGzkNP0M+k1rlJPNoCQGLAHLH9W/rHf3VROYe03wyB8ltKif0Kh6L02kdBVrXCA9WOVWsViN0NuoxcnfIw+c1BQtN7UU0RHtdPF+JaAiXoiHUq0ZITBrUIKAhSolN4RgiAfO5HA1hPbMbihR5QQnKaoDmX50tT/Dyq/lc4SJ8lPMF+yIhROeLbeRH7qi2t2meTayEO6K0vdH2VgPRv558YuG0pyokvLw5Em1ujkbKiXhfsrk52SwU6SiC2S/UC+dV27MU72oo2ba1xNV0gleo9jXsveLCq+B6vbbwil0Y1lau4/uOV7UPg4V9GCnbh9/44Q9+wdksqMXCQxoDDiz7oYs/E4F9qDEg7sOgFgsv34cBXRhFXss+NONpEVWIGL376O6xJWUklAzPPrt3b3EfCrQPv3CafagLXD5noqZsIxbxgPIopG/EaCkeamAjRi1wj2/EcMgCL6zciKGohoea12UjEkKqMIePEFLBGm/mGBF4r7h4O/AGz5lonaY40t6oc0eQOpqcuazXabBQ6sBZJSgeqkSPV2uBp5SJvxQ9IK59fgvc4ykTr9YCX54ykf36VE6Hs1hmTj21Wj8t/OZQU0ct76e97GCC4KWeWvEebKjNB6URApdyIpITdK6TtO7R056uGK1+nhOm27mqKlfCCVLCCVLCo8FfNJ5GCf+1ZzNSSc288xnZh7afd2HFIY3iJ7In/v/c+4x5m8vEh4BKdcK7S6lUl8t4ClSKYItABKtc/HQMnJfHdIBqNTmlhqiWsbuDSU43OQkOLwIh+AEebfIxHvmIOoXVFEhSp5EksjBJ9Lm1gXiVYzM//vGp8fHSozPfsmHJkg35d/AAlT6PYinN1dhyuskMzgS1PpxhtEZh1oc+iKxs/AIGEsqGLUzQtGE+YeGejYVaK1HV6soWn66SiKZqY2kZP5/jLOqCMEKzYBVQI66pSunP0Mbi/I5tlNXacvo5JPrUzzONIvHSKBIt/VWKrxItW4a1mzUFqyHu+1yx6rh7VKvD2nT6mjylkadW67Esj5Kn0Xqc/ugJBI1nWVxXPLRyQaz+UFtyFby+SbMLmDAN/un/gnyoES4SMlZcO+wkby5jE7lBA25pFDaZDL4z78OppfiGF6cGYQzISIIwE6JB0CE/xYvgwgNsWYccEtV0mBW865oy77qxiPSA5lWyF7kvmf9OEfG16D9qjiNH/g5yFElG1NIZtI1Cm7BH4Ie9ttCSG+i8krbCtHsQGnW0wjov7HxjHU32xBlHOO++DmtIWgD7DdpafaBvrdQ71KYdzVec885pECiQxcxX7uNMfhOuP9V+0S1IhQJZFm9FGDYQURCS+KqQ5QMXATEuJcIsD3DP92l+oK3O73fQvJp/eS3zarIuG+ZW3KWzWnyVStrV66JhdjSnxlOqpOVebbodn1PDp95VzqnB0XRV5/KQMVK2h7pIL2uzeUaK9gev9RS0Wk/1TLWeNXqtZ6ys1rMIUU2viwwvqvWsK4Uo1qvW1lngHq/1rCELrbLWM1qnaelYbcnmJG1wtmWe3DZZUOwNcUNl/v78joYcbrd/G/xnxMyPtLwLbE8L354zoaBk0Yau1lOfHjfI0FAtrYfVZ6UJWLtNGj0IzP83K5KNcj/HS5UROBoNO4cF7LoVKFarYoGp6kTj32Szu6lIgqaXV9j4Q8PxQW3ikfjtB+9AO//ew5M7Lrno1lsuvuB66ZfsnAd4AczaWx/FYyJuWLzvzqfuvOa8Hey8Yg0MaGbwu/Hs5RbhhdOfvtxacvoySGetSBZH/+IpTh7Vbi+eyNxWibxmQF4L4CeOyGsqRV5jrxpvssA9g9oAyGtuscALhWMNjU3x5hYdeU0tGvL0Y56bZeyyiHsBrcBqjfIxyeKL1rtej2OftUqihQ9/3k1orX4EtF5fpPPm1cCbzcI/nYY3UWc05TJNtTT6t96K54FShWWBX+sLKG4+Db/igVnNDbAnkbVqXxfeKs0RVOew44WY+Hwue0XPGmh8Jr5AfNYl3Ffksw6RqkszHXGEo6MVoG9IVuW+7hLuw/LStpzS5sF8uM59JeeB95ScB96KjKJ2tcneCSvySE2s3hV/XdikFDsLM8t5BQxVZxjx/YXkis4z28hauuEMPKNZS2VcUqzHKucN3ZjSxQ6esI2M4f3rGEMomlfV2SL/R926mscVny/ahsgTjxJPdGCEd2HZg3C256hWoowHeMlUKeW7yiifqTHF0FBp9GaB9CgcFLsMiEi/DmfDF1GwMO2ZhoUFKL+xJP4k0rxx9DA+c1o9VldC8ZrTULysnSVB7SwVvnf1dhYMHs5YJKfXrh04/NdJjoV10ivgjc/jivwo+uO6PgoTT8Sxr+V0+qi5hBsaC0c1lXJDSxEJ8QZEQkO8AgkNHqVxFtQYqB9RbWyqUDKN8udNFpevRqKTjZq8rw/rSHgI/MJM8zZA0AIM48uWzCjYq81svI9nq7GenKZM2FJAPyOON7VwG1g/2RrT01iZwMOYzrLhsHQw7t9ySmNjXG6kipXGQlXV3un8E9PTbHj6ADdTuvLfFe/J/5KFtBF6gjj3K6ybl/6d4rIPlJwML5WWx0crZh8UzogvL/AT/oYZExrPZ6SyR8/pDqHXrDW9rN432bn7Gj6NmsXG162dyP9UfOj34aZrDrFndBwA5IL4z+CDYp7vyiKtbXyiyIxfMtr4KWYWM16p3mAKj2BRHZ5kUk8BWunIPrs/mcwYKWZlxMNXeMGK6gzwAJC7EADC8zcj5PxrZOPxnEYe0zFisIKINzmJ5Fu7Nn8xG84/gQRkP9p4Bfy3EdsewH/2U9/DQ+A/XyFkIlRZnMqISD3scMBFCzV+ctewnlExJMmDjtBJg+GcKplhweEIHdphAtc0EsbLSA0eTavzMlrzqidMlo4AIGqHtfu0AJSGeLmEGHH/+NTHP06453QYF69bsmTDYcR7/vkCIZKAexPNcNwFkimIJxUVJzjacMSuEkwqZjqwMEVTmEMlBzsUe4+CvPcojFE0B05xATZRgzTFkRwmm5k3aXiw+NuQ1lqJ5hd640jH+eXd4j3lcwF5b1Sb+CSt+TJtzXTsm5n2hdmj2LQhrcGk1jT1t134w/v2Ha5Sl/7yo6ULF4G/BdYqLaX+sqZSXBsT5M3ro0a1kyfpy4ATAS07tZjdRtovoDy1s8VKPoed8XNglfQ57OWDG4l3a+dqhedg33mFNQLfbSI/HtpHMR5HLutyWAt1B64c5dUdLtmbES0yFRfoGRubrOJ5jn39ugs8jIKQh0ae4zGdyHRZIOfURTyKg/A4YB3fpBhaLXbQ2Ji+EkX2IKWCetCx6qpwaE6ENwhhRXtMW+MMrDFY00zHWiheJCZXeVXXWIymfZOvNrwPV2unM46jEW3V7OW8iVYtraJqeJqxBRB8X9pGM1DHymfHUubERZ1NuNZcVjBiZxMvbxb4ecsChm3NjsKs06HCQoDqjkLM8YOFeN0e+L6H2cvwffVlXYHzT8rGjwOS835C4RKwux8GWjtBn64UMm58JxlhlhwfveZIkSp160dD2rlC8VHeA+uRqJjaoxsG5UaAnGLwbeLD1x24fHJ1//jomum8Z3r6Py955wVLJs5dxrKnLoKvpr7Vc+aS7AdAawtlUOPCtUKmEdfSxHjo0UF0j1BBWiynmJJkBTWeoIOIkcoh8oV8XAvSuancDFIbGoExIzEXjhcx4vwfhxuZVLXC5tUPeQKOdfCZ2I0ynUjE9BOxime6ADDNBSpQd+EPmpHcza4L148uTtdHN+/Lz2mMEdq3T7yJn6F1as36w/3jwbewP3yKn3iyCHtK5/KAdwHsGCfs/ruEAsodNNbXn1C8J7QOK3tBKvHDK7Q+qxJVjtk0H2hrWQvUFVW5uxfMMx6oc2E2zWeBFwrH0FChM4hIlXt8hWzaQkTk7Z3saJGMF5PqLhJSM1zEubuBjs1SVHDArv2IwJWdZrX6yGrlBrytABUf/q0PlS9CJfe6eOcUQuUuhcrVq3rcFrhnUJ0AlUwtVsIxsr+8OlRuvb2MJlFZJDpSSSsqtqNjjMeUlZBW62AtkJIDGNZpt0aPbUyDv3I3MC1WyGq1/iBwUynKnKlGSypFdbEGmriLhx6W2psWzp1M406tWLZ3/TNPaU25WPbo4tO+tKNZEnQ0S4XtXno0yzNvfdpENxnWGqs2qwWrJ22zwoxotulnrii2ojVKA3lllmLUPHf3zfkZMEVT1+Uf24X+yYr8Q2CKPsyW5x/M78/qNd6i2AO2DML8+VKYjYWEm+Xswe558ZmDfz3YT3/66e+eFdj8rD9wQAjsnmv/MjX1y7f9ZhnAfOqU+FD+nN/+Ia8QvIx6Vntgl9qE68oozAoUtpeDWgGg43QAFlZumLf0DCy96rID6DfpSz51ir3829/+oWQOv1GwFia5G7R8gDVBHeGMcrbkBGUMZOIaBG7/mlCAF71EKx8xaq2oFYMlW2b5lDpRNVtKQ/rg0OhD9qdZIktj5U59WZ+tD/qILZKeJFtkStdIUtnsdBPZ3sbk6zc5HdTatbiOh/gcRtirlMNC/Bwsx4+OHPizHC0WflxEGWYShJkKZjw9ZtysgJlrgcUQM5h4F4XBOVEAV4fwsqMEL/MHypfjI0H4qFjD6fDh4/howW9/6C8nS/xn4Jnw3wMnJdzSoeFE/LC+LuSXf9JmLOyqjheBmPa1Y0bjlOcJM2lNxhFeiFfcur2m42XGxRNrxZT7PAw5OIZkPW0M0JYnjAHmmoLVdurL4CCQ4cbh3k/84BT6SuCecZjpSzVbsYABG8eAu2DKFU1UgOmf9e94KP+kXpzGQBMLokQ23oc1yBx8LueMZKDTYKTcjNVGV1b+deIJ3Jd2LPzP2OmIXjsevyfa6exeA6USyR4BnDedevIQ4ZyfKCahKDPw+cOFScN8oHBhdLBYHB2M046LbDJoHhxGcRcwBxpFKX/F1NT0pz/NEn8ZnxpnY3NXTF3xM4THAw8DgDM7nj5CUzmxx2jGaKJYoTE3YxfoChuW+cxlszaVM8MoBsAEykfrRDTx04e1/qumF5/crc/ozDIjdpQa8BFnKJtNdvjTho9iFmdulgw9ZmZQrNr62cD0Pvhvmv3zRP4oax8/f4IN/mmiOLv/fth9TuGe0tn9zgRhvjCqv3hAma3YIuY+/ZB+2hFOPj7aWSE7nag2sZnWPisew1n+doduK+nz/AtT/Mvm9qO6LA7qB/FaMpmfy1ma8aD1d36gJFZVMspBL8rWpzlgkGrBFs/X2N+JJh4DN784BmKBkFRpQIo6Addhk1vFYIevaWfFgA30LlEhur2vhG4LEe2sCJYgglWIsFdDsFJCSWWEegKkWwmhTtWU2HIOUSRavbM6rU5DKC2aWEadBFGnYvHVqcMChWDhWVLmNrRNyymTv7Wg02hP3QG0cQszZbTxVNCG9++7K8++kE9PpUIJgeKA+3b0O7SocLGCAFwtpxYVtoFT4rBb4IU4HRwIZ6Pz+0paybPMZHeViI7S3UaVAQUyvpUqAUoI+UeqAND3nKD3HFenY7RkfEqQxqeESsanVHbY/k2reSmJckayE/BlhF/ESyEqNuX3tDoIrFNK0r70CW/XohcU8TMUTqr2nCieLaV4k8VJJSXkdvaSE42DWJDiXnix6aSYxepS7kfIHBAqNzWYEBCrgU87dMuKGeMFcsGZXMI0YorvQm9yBLzJ/MeRmKD4z+H+5DJ2o05P8jcABtyTtcJOIeNHGAJIxig/FV6HpQ6IRFWnQZzOQdYY4+Pm7Hg2vcEUTZcuzI8LUwN4KHeofIGD8zAvOvZpKy3BPGvPz9Jy31iO/dKzPpZqM2POmX+qg5xQvBVTbkpm21hxtg0eKuuRX82BDRh3Lz+eoZkilpVnMnxkY3G+iVplbex1WFvl0A5cW+mIjuW0svK5HJ6NQuEsjGPaukLCf87HGp5qCIpQz17wtZUrSllrQPZSRMxfNoNnQbU5uPZHt1UK5lc7qicre1GC60dWF8b1BPi4HlXGHCkfTSS/uuNzQLyjg1RB0ptB+66/YfcHqx0wU//gz4TCfLsRqaWAw1/Op+5fiUPuvltpLsr/N6ikljL9AJMzY7HK7CPCYinz3afjcN4MJMIg1VlIk+K9FGXVOp2xr5dKqGM8/oi4/H/NfQl4XNWV5r3v1b7vpX0rlUqbJbtKi0vyjhdsI7zhDdsgySzGLKHZ12AICcYQAhkyCW6agYQkNEkm9UoCgkOIGgxJw1QyQzoG0jQJCXFMgOmPb0iCIC7NPefe9+q9qpJkDMnX32eXpKqS6t5zz93O+c//Iw68MjfuCyIO3MdrV6wqwi7C84veZDYUwYJgyJtBJUukhvXCbsIqhRBblSzAzpBWIDKXtUar02lc+pvU5HlkkKrAwLhfzaPLq99p3J/48k9/+uXE/sZ3CpqQrY5L7rn7Mw4buIYNlSHpMfNdR+5SsYLyj9kaWkUaSRtEjwvcrFCGi4RzQQwdNyfHGyVHhbsDcSQcWMEhNTHWK3ZWaExmJQTlSOyagLiKWAIKcoFvQvIrrogK9nvManP5mhIwenWNyBEea+HogGK6VsT+qSytrJtWi5oR/7Gcv1bavmDD4mVbbrh59bp9F91330XLLmzceM0Fd+wxrUsPbDPtwoFVwYDnnceGNd157p1r+les6r0Kh1fNi1/K7hVQvTCuRq1As90jVhZRNahluwxVg1wJFLgDYWXMRIryxidYTXjoZ+e8fA8v1qUq8QE7FoxJYShwgCOBpJJdVbg47SLbxtg3AfQK0EvnwumwMwGzvoUH6y69Ln90T3rVqvS+0bfOvXp4+RAc08+0L0ymFh5/Wjp42ZY1e2VpmJ/T2bmI7mV3EYhV3qzjauTZI5IzamZDVMysXuTH3EgM6cJqdgBT+HRcfrNqZEsKRB35NcpCRC6WemgtZEDCfYuhRINu27JueHjgQiB2pN927ln1Lv1w9RrbMVETCXeMS9k9HcbwgTJjWDqAUlKMoRWLpsdowGorHbfZClC0cePD5ikZt0xYdOxkRssGR/ei0cofVM/u7VMS3SbJOF7Xlhmv6QYLKARQ5c6VM47TbJHjWcYJa3XVcboZml4Yp+PZsSOFuXY31oq9VHacasQ4jVW43PyI7dLGKIJjBHUooNZXGLJPWkQ2zex7Qgrri8tQrSkMBWbq4fyEZyIezotHdxU/nxfPxivVuroBNh8vZDu0g/jIw2XH1z/z+HpyKnrHqYm0F2zkZjZyqXLsXr2NfF2KR2SJQI7d7bKxN5LH9FLqFKRlZ5yyiFUXzsCr5fTuoPaxG3N5j5A423l+JM4jjlw2ImFZUqatG7eZIOYqLWKhbeByFXzjaVHjH26s7eFoPtWl21pg6WlpK1p62nyZVnbu8GUSzKUTrSqJoAXjH0oDIBT8afYCQNXlSC2QNGfcfqUqlgb0o1LZjBVNDqCYJNZgZRVuXJwUNNEPuxc4QEItbIjyfSscikTrKF7PyW3njNxkOVsaGhxYs2zTBWfu27H9MtdZ9mXzkssWDF169ia2xB3edsU/bA4vOGXx3M65oYotyzdcPDwUmtvT0xprC1afLe39Z20N+IBOsDU7RhLkkLCfPYeXIJgniW4s1wgcwcSvsF8dt1o8l4lzcDDhiwEE/CoRUlORhCoO1YqJZrBic6LIiglfpmUi0+zLxJkV4y0qJSW3YsYKUST2NDOSXQ5XNwL2j8109mITM161nT1PLNZARaXBeJES27UYTEcnLt++7SLLiOnizvnpZWetuWTDxlHPcHBzSzK1ZHSonRnuqyvO3Lo2vKulvqrWHVzZt2Tb0Irg2saKSNQdPk2KYsytW+SP46QDtNKLfA5BwwaHG2tvCHKdmAZVXmmshcDiBC7YnWlRlVJ0Kdh2Nrk62Pxpg8nVqk/BJrqUtlYbe86ktLDJ1d5hY28kj7UkQPJDnVytHdM5ZRtcsHyO2liEe2WmKp1pASEegF1WnrxfcozZLJ65BjO7M/sm/Rc138t9s4r5Zht5vcQ3cWK3ivNjpq5wq9B5aoKHHiqT3CkzcXi+WZ3iOnO3MnO3MYsmwNwtenPHu5REi409Z1Kamblb22zsjeSx5jgYXDU3WyEM3qtYW5FLU4knwNxe5r928N/mT+S/HAkwowd3ooFn8mF6icD4UebHNRKRvkHmk30k2wTe24b4HTuXo6g/AvTkeDoN5jKdejgEXNCSXISiPsAdqxPKZy21aUjxP2H1eCM1TW19iOYNKN29SBuXaQHxDyU+F5a/NmBsIvVxfmo3F4sKzOZvbFsEMQJ6q07rvXPzxeZpXe+KbeH2wTsKou/n2i8+fVofHNpwqT0ptTIbtU/V0Al2t+kjt5NsI3heQrNRP/O1I5n2go3a+ckwngRtmebkGJlbYeNBadxYgCKmjpsrE/QrFlAMbQclbDCZ3QNekkCdmYqAMifFrm5zYWPsYsZKoLHqmuPTGWsmv1FNdY7eVGt3mqdxobOHigxl3bx8Gl9auHiLDcykrYl3n/ia2DrdmtiBwiiFNbFw4IBJmlDXxHb9gaODrYlCBAnWxNaEjb2xeE1MtE+zJnb8rdZEfmybZU3kp7hZ9uub1PMOXxPJTGti8WadScC3LSg5kMDd27AmthnXxIK5W0TxVEJsQQVzt7E1UWxBsCa2iOIp45oYby1eE1v4mtj2aa6J/Jg445rYhgaecV/v1Gr7Ktid6F12DwReyetFhtPCizwzJIk5TRmyGllJVsMUWRmztLKZXWPtkmzjCQ5YIvQqs05bN1JFFt2OdFSRkj4fy47BAIDmift3D40+SX/5PyBpvoyd85dtEykl1l4na+865BLwgiaBrOZfuEiCI6W224ftBshMLmNPlm895I89/Cgs0jLYcq8LWu7yFrXcy948wZnBJMXtKW45IqGx9etuGR4dHb5lGC5038zvoN/c/OCDx38ocmIVbCN6F3ku3OShMvbmWE2e15MxRjRN2yWVE1LN+xUc2SH0FpzgyC69I7u7FCdeTkyKjTmyQ+gtANWwwDFBltxVMio8VSTGZRMvoeUjo+aInKxf32XnahiXWz/puEgaVO/TGZZ+3bDs0g/LR2xUKB8T5lNeQINYoeUeUXlOkuMOu9UDepTITSjxHliPgPamJZehyazFCs22QExnicXE+mG1wBNWNzxhtXNqBGwPAOVFm5hJmTGvu270mmuYQaVlh4fyP6fzhg5vw3MK2HId1iKcJ9oD6FheWx5ITdeuELRLcXqB6jSnUH/yRNoW1rUtHOvlbUObMXudddbwxo1gM/rNs4cmJ4fOZhYraPqeiYzuN5aqr86gNM4ZTMuRuQsVVpXMHfgGm/xjDqdK5I6KTSXM7SXSrGWY2wu6rGXg8UXSrHqUv+BaLuhJGFiGpxWV0EiYEyrlcC1SDtcYKYfL6Ul4GvRc2OX0JMrQDZfpsYFruIxqXhHdsKFCoDC+SzHrsbh0fA0ZLT6iOr1mN+o1i3xWmRGCFJY2JDdh/qpoELat02yvYN7lzGkYnsMQ1DJSeRs5xp0AMg6D4B71wx2bHc1D0dkZnKGJBhtugmYWWW3POp2trmK2qgZum1ItaeCgrwxiRU2ELW2+pMrvxC1X4LmqLp4LUHITjfC5UO0HVnmosvRNJ36tL5TVDHx1oXK4yMqvqQWxqq2PMltreRrN1rXcz7O1UaSuqGJdCOmcvEF18ip08uqyvNr1OSAGCHH+sfpqfyDLfD19IkzahR4ZxmON1quiQXlHdErViH6a2IiPNJArea6bTcJsFDpUj3yzPozgAFwcuMKPiJpvC0LfofzAQXmlBGd58OdguVI8QBwdqkZR36wVwN7IDB5EZnCXD7JoZouWRTNqBgaLxoy+rtcIfF8dNPlanRzg8Q+N46byn8tdbLxqSDO5elqWe3bKhQECEru4bo5UaVWcdQawDZ83UOBe1+QPjJs91TUGcn6loZn1LlxZFRK6iaVD1lLcY+O4navvbtHQ/adeAlEdv8dE5vWXpTOrKPNamE2zZF6Nsc+/U+ZVkR0ieY369f5pprCaZdWmb1xNsZZqv2OOlftCSI6jlarJkWl8obo7E0Vj1RjnayU6BNzhw2CWCNY5hXFrLiuFUFswV3UF2KGiushc1VDpzH4/Uzlxooi6sXCkspAjiFSemGpCv2osg4c5hcFK1RPQXpT5VY30D+xsVQ+IZJtgIMRMdAjZggVzolMtQQJuIc7jFeT8e7CGVZvx/JEJ+qHCi1TiLKkTdWg2f9ZcXQ/LAh5WjMw9hcH2h1TeHvoTqPdKtl70FRzzPUMjokiteXlU/tr1hVHPX3H+gYq1KV6yxvqynvXFTj9kp7BrOOsxsKohq281UaFZldgrwWLgPSJYs6FXdXg1Brw1uxRX86OXGYABrjDz1WrYxiVSw48kjRorYtZc1wR9C3NSRK1vpQPkF4RKkszL2XSjFNWV4RWNlKhuw701OPVH+WL5UajvobUEZ36WWF0pqIoIYoU+V6Ar6CZ5NNydi++hotTn2SVvv87TVRaAaQNk2zZxaPC2YzciG7jVBhr3HpQvsE5m5ImTrw06dPjWY6OcYly2sQumB8su2B91ThxaMMFboTicNrixOHn6k06QJV4qySYz3MP0pUU6QRin9gZvoEgOBlYSOeakMSDqB65+jJvKF7/p+tFT7jfPvWvcNX4X56iRDh5fT1/LN0uZ/BD913x/oZaKVEwdlR28lgptTU/a1od3HHux1NYD3z36mRJbOz6hrZ/bffS0Els70NaD3z/25t/P1o6fef7pfs/Pz7vyPtdXr7pR6BIef4eelz8ohfLP0y3579C0Wtc19Q57OIX5tY14yKvirmxG57bYUqKoywzCFaBZUShtMmnHEYOkh67M6YX8azEVTp4xTXh4eYTOwJDCRDIBMDCzUm/wtQVoJYvVxiuHTEJBQjV9xtElAKYmxQ65TQSekiV2arJi1MBTMFzWikhTzU7ssitrNpJO+XD0oyt+8IMG4Yn5L+ZfpQl6ef596kIvVDVOqjA28v8MihlqoUA5gZOMs5CNc6J57MVaGd6PrZWhs5lLcJNhNMWhd0p7l+J02KAEAaMpLuQmK6eyAdBc2aKPsvDkuGxxuHWepYltxIx6KFbVoTRJDeFKzGLcl3YxXwqQOkDnFnsT7OjOFFw/4epRr/Ms7k9jQWrSkLnB3JgHf7SjIYV3NczoXdP6kJRlPoKQDivf2k2wtQNIi40Q7DM+Lqmp+Ul5jRHhN9VFCiNGD9pfTp+VbYVSvfwIxjZvE7yjNJclItwmdHM4alnI44i6jL7W/+AgbFNXhnQhhYNzEiVO2ZcTE8Lh0U06RqjJbBjjxnAjbeyNwwjX5++l5xx/j16UP0RvFEVt26Rl297g+CIr2+THhOaPvv109vY3/MerRe238vZbP5X2x7D9dCz/Fyrld1D7W/Qs1OzJ79xCH96i6vVw+29GDZzN5eyPWD92OvdAF1RelJlsL+ubo7NmoVjaYNMOXRkU2FUtYVdtKz1X0jY6c9tmsGv5tsV0bdPbSyUtUm32bR2/N7cbjxF/q8RuxhixMQY8k+0+tQDxY9BPu8uwKRbcGlNA+kE4IBgX+RCo8WLu26Skj3T2Ps4wBn+HPsZ6BVRH7/wcriOGklqwj5Q0TV1IP5DGSSO5TtVBrFCVn6xJiEA0sJ42dSMYlPVs0Z/fv5XvROx6VDOhONnYWSbMY1anBSrB4JG9MlYRrWE/VsOjTMYszmgNNvkJKP6IVlTX6JVFAB8K2SMvTYVjMrtxqJX2/cFYb6q/rx/c8gNPfTjWbPddf3s60NS6qTLuqQi0Nnh7Rj7jD9Z2rq+Svr9O7ujdenr+pyNt8yzrzT0baO3pO3c2dhMz1/Qx3YuaPqC9WE9TBl2frEfGTN247DBXA1tSKiPnEEsIuw3bj1Siei7sAxGJ2txYZW2djcu+QvwMqKfC2jGoBphS+MbUOIPWDy5z9TWwzNXUFy1z9b5M3QRQc9V+ckmgcYvVLugny8kC1QKruicQreJ8cNlgpBojX1EQtHf5/E4RS9EkgwIlQSPYKQzaQf9bH0a5iS28moTQabogCh3hmCcz1xKSP0ItoblkPllATdPoTnV0Z+bnQD5obi6zgA3NQp0A1SAz9kBurG9gkA1NVy7T1Z3py2UGfEqSYl67zaekgfITTmNwt+yGKE1NTllUiBksSMNwpBcUDccCX2ZwIpP2ZQbYrjMwKAIBTZoyUd8gLzMZ8D8eiXd09/j7wZjJQHZuaj4gvtvqeJC0xg+ymtPrFSk985nR2+Z0tQqjn4h4UdnxmFXFKFQ8RLOIGfWUDpw8BQGeGDu/eNnZLgI3BUR/mswp4BnngTB7btzhxmpaLDLjyAwZwjilglk0CQcFdzJr90Ms1w7IR2uSfeNk3/h9PAQUwqMEMK4IIa3+Lb9+BUcJ55YJJpefT65IEEYzGCkazQiGyoK+TIhNIZw5ftBNhUeZZP1IrU+zsiWgLVFt1B+TY1Tj7aW9Vq5Ln7/pyfv30s/RHxWA+V+gq+Ck4cz/iXP4UtfRowhTIybwc3mHDEyg7aSH+fkremQ+/zaZy9aBrzehHFQiOd4uOeqY9dpzmfndiALyHwG9rG6f0g8lBh3JJHi5lMz29YPR+sBofT6UzhooOPb8XjBF7/wiU8z3ZfonMr2+TB9z7L5+4djdwBJSDWCYfn/WU4nciX0BpcGlYv3HrTaXvxvctt2f6UxnKtmpGQLOdX6lpiFdDvNv9OCoxv7rpQURLrDoDjl/jbx9EFmAbzpt89VG/7163ooLL7hzj2ndFVtNwo9fB2OLcoA9e/QOvGbNnWvmL1/Vu1p14SGBFZQQYwX41P9ZBhczMzhVZD4MiNRuRKQWZX1PHJEKcTq3/zHZEamqjQl81t8akPqNLVt3zwxwyT8s8ACASQe8FeBRHy+Db2nVxV44CHWsLt5i6yhg/+JGfIsRiNqNQNQi450QEBXWVC9E/MZle7i6kVvub4hFvZHZbCbMSv4NyNVPvS8to3G5iu1qu0nG1M1OGTJccuHIaMHye7b4yVpJidWIe+QkDR7AfUiFi7wiSzYOYycZCQpHzDoQAUIQ4zxmsQxv3dCGNtYG2Fn3EoiNiw+X1A83Gz5cK+ilXSaoeFBMpkkTxr3EiVSRTTZ+pTYpxD8pjRFJNonia5Ou5B9PnXE8asqEA3jo1KR0Bm2QjrIb4gDhlVRyLmtHVIUduAYEhkfzIaem/6o4rRyNrzKMCoG+Bi25Jh1Vc4SUrJPWkhfYfclO6oigi4XEmQP/NESlkLOD/a0CR8QL6u3rId3dJszGzyR3YV5uKTFm4fz4x/S5NwDhKw5ge+OZtlkzbNSk33ilt/RJJYyZR6ZqCIROvGSOiP9LmsCFGS4cCNdQPFowXzF7DaRyKR7VfoUHtVfrItkicA3+cTpyAwbIOpL18jEBahzmdhYRqwKREM5wxwNVAS2EqgRsmjKtBUik7GnF5cXWYMFAcbafJsrQFf7YgGMwM5tfJseR7+RGwlw1SyUzzBorsLwi64mF88OJoBA0UkIRA4qnBzITY46W+oGXZAIvEdm4EUpUc2KetKGXiTyN9LZWbylNTbGHf5QOsnZaAFdCeZ05RKtMSc40JKdoxtqNcSlY0F4++pKYWXD0N0PIyhKYhG5IgclDz7WJl9lFUcaLIglMKhazDedoYJJkzOzITjDYazHGeNsoO4s7qfSPx8+htaMPvfQSu76O0z/mI+hDIDT+uKSw286NgjuXtdKby1QloaYtzGtyAqCJkHUEUBDBbe/IBhzwbcDDxT9MiIHJViBHSAXgn0xIu2miXLVCMbHdKesL80JrL7DfScwn2Oo8ZnIEKtD722gvLLhc2R14Q0XILByypqTH878b/+xZwzc8lv/tQ/c9ftv+xw8+dPrI2N4DB/aOjZx+xs4nv/jDH37xyZ3YnwbWnxYJMFyrON4oI6V4zYw9pxBTki8hKKWsIojsduAoKUWowcKiga84dkxqWbrrxZ1LJQu7MQ/x/+t4fS3UNqXkzai50Eg6gEfTKmpDkaYkkhuP1loFF3dck8S1It4zkoT0VavGkF/JwdohXseD5OSVITwGsJ2+js/mqB+gyBEg34NtyyOjelOdBDVHkZYe0AeKcpmgZJ+Oejrlapg7NO8vf5m/qT3Y1brnyluuuebewZV33LFycI9Y4p6pTPW2VkoH44MDNV2rfXPOePrpZ9oX/2KxdFDl4d409YG0ia2fbqyGvUXgulQJa+CU4ZD+ylxBv7qhWL+6RgOLCCVrSEbWACDBz+5JrHvsRhnmHINhaxlRa8WmRmBVeetwkby1TtJlE2dL1oSubWrECgSvl0pPFfSuNYptTcdrM9ZMV5KVJTpesOpV8OpCk75emhMQitLyaliCZ9Db0o2NXnOrQW2hXnVLlckRtfpd+jEo0d3SxsBuHAOuv1Uwv06JqyCqZ/eHTHBMon7FF55WVktxFcagvMCWnvS8WGarQnSxWGlrncrxpOoU2UmQDAkvw8lEc+OSGSeThOAHAeFCByuHYwR/E5VwAiSIdzM2pxtb9HRTqKsySu/5vLrbL3tuW/7fC3ShrE3AofR1+SrUWbyWZJ3QpoDMjyoIarQgqNGW1EkuOo9kvEm41FqSWQdSQYGYTNaJi6jTzRdRnRyjw8nB1sCsrsgBML/MFs0MTWcCfr534nHUqoEwYQfV9eTrS5pa2dH1gQdGNmySzlm7Ia725+Z0U396MwJGh/fepbOztEvoQZ02Aze4Tg9KzxAe0JKnBV7wqJ4LGim8C80r0HhPqE6uEXl/VW0T8rQw/wY7jxp5vFXe0gJfS52Rd6eqmHdH1bg0Em4rTuBXCVWlp6FV0fmugX77DrXVRQTc+9S281z/ZuIiEfJz4beEWuCU4uN7alR1VgvHYvBzolH1W82we3jWmWegDx2+VuT5Ye83+zzspK3YrZOQzBu8QWTr7ZDI80FSVJHZS+x6oGIGCtcDDAy6IPmp5odduqxxmSc1ZkUnhX9ByBkXxlS+mOfmz33T/dSPXHeqFhrL99N/zQ9JmXwzfe1m3djKC9jYNpB2YBwIYh2wPZXKhiBLipQDtSg/Z04CWW0bM1gHXrXZPTGMKllwom7BEFCTjphH6YTJA7APTwXyQWSrm9sgqEabYOxrEYcDsNtqpHmJFI27zgE02oFwQbhCXjC8qCe1eAQehoc7tvdvCKYu3X5J/t/UzjYsXr1mUf432tcPU4PJ9p1Xnkkv0e4MfE+pxDXNz85c6wmGLTmNiSc3bvJarG7MCIdBJwwPX/w460nCURBcg6/fgsYGNcE83sLuErKoxcdi89d5ceW1O24e/d2OyKKefft6KtU1of2Rz+TflQ6+d+bil+nz2v6yaWpAt8eryiJsa5FRtlC2sgUMRD7VHV6n1Pox93nFBaQo3oC60cjGzV5IdPItXh2cQOn2wrb48wd1WzzVb/H5SWliaekWr9U+bSZx0g2VdKU1yJku1qu5ZSI9ncWRnnmsYyVRm84y5UmfMGqj6/QssZtvChvMUqDUoLMH1iixcY+xO+Vny9UUZzqZPbrKlBW3a2XFhhBON1wDjeGYdkMN0SeqC9axRc4YkbldWGLG6sqczg68toXnezeV1LbocqozVBRpNTk86apIzLUVp0AKiBuFbtfmFSnf084eWJPyVV2bsJZC3oH79PnT1qXodukTqU7hbAE8AscVHHk7vSF9O7GMQmdsUYBypTrJ1CIUulDXXr4PPsL2QR/5RRHmza+L45SgrwIniXQ7ObyaXYNI6XfA0icxsugBRVavivbQoafisUQRTi3/0Y5bVpaBqT3aqWHUKjTb0I9pm4+NTDs5fNmnY5sE2MaAK5tgpimDKnu0s9hvPjL4DTs/Gc3j1Q5PEAX8ZO6DQR+fG4I+bl9R9sPny3gngFrSc7JeVgDi6SkNp7dmiQ1LcJAZjrIpci+Bt9H710cG//pYNvy4bnaiNjw5b/xUbGjwwzsQ6lPshwj6kYUf7sJzfBP5tdET2aXfm4IjQSipqqpxc9ZqB55A8dxt/i+7rpVYqix+zeh/3ylBsRX7YgmSTeZ+KeV0NqWfik3/C66HJ2hTgz9eXWTTUt/8WrFNKdtrf0Xfp+3MumHM4UC4OwcSJkK5JA6a1e/nXfT9X60n/P3ysVneLx/7a4V8jL8/Qe8neelp9v4V7NQhYwAGkzEmSBSply9zIaguS7AASCJy/tz3fv9tQ+Q8yLaD/OiVZ9D7J9vg78fZ3/8r/v1Txd+XIIwj/r7ACUPcXv8RhuD8wJLf32j8CGss+NcrR2+VvjJJm+Az6NQF5BVyJ/uMlQSTAYDd+TifsPr3dxs+oZ99witX7L51dJLG2HrLbEQfwT5YyeXszo8hIczVE2pKQtgZMxOKBDzkcOIy5VTD6bMRXE3AajRcGZsefvEP48ZsBGyx7D99ZPf5m1LCuPnXmYEl0sba9qho202FtllykDsptO2ksyaDvbwxJzIwlJnNS2NB+iiz3Tnn774aR6gNRwmxjFMX0P04TmXyO5+8pQv/8JPpWlo8wHG1pftFS2Gk22G0wZ/mTu2UwsilvobwkLe5WyR4HMmsGTMLZtneobIOzHwON6QaxGE7/Mzws88OP0M/d/xVKbHtjTeI4XODoA7hMnxuQP+5wMbpw3pqD6+nlo8oVmcSWqG4oZ5atMOHeVW1KXbO6B42tka0KBxTWwXteuYZas5vpf+8dWT7t761fYTrfzxKH6R/nj2vWgiq0AdHVywfHV2+gn7lwMjo/lGMkeyZ+ou8j1yBcd9asoRkoxAhktgWARgsK7Q+yisgMfRXeURo9hX4qc1a3I/gPVKsu+Yy38n74qgvlB8zfu2tjAtRIuNX5petUx+Ydkpfx7thGLVIU2Qh+bOIBkvBEPhrEiA52TpQtwmE2c/9ufE5PmcdV66bAzXl4wsq8ecFrBuLUIY7ncukebUaD/L0YJkW0ErCNYBDecK0QxQ+tWuVE2bt6t3AYyyL+aY43/VGFfi0DD6thNLseF4JLD9B/1hf/+ACiEj0BJSKunSatZFdvn3OzjnzknApb4hD5bPFKmECZk7SH3iCwhbn9kCyWulfALCfCEScmgW9qqkQKKMxatXsSyFUA2nmvrj2XeE5086RAyMjB/LvjSxfMTKyYnl9fv8QveY7+OSI9N/nrZzH/uXvEV9v419/h6/yf/Ss41ukR7+FPjQykt/VPG9ecyyZjImv9GbxDfhnE2mkc+lviJkEiIpy4NgGnO6J/qiVzu199dXeL5+R+vVvUt+D31nEfuc0/J1aosIypKT4NYWYNNgB+3W2+p7GfvnLvZT8OvXd76Ugfz489QGNM1+RmYdkJUQGpzj6GfK/+u1H1m+jh+bLbzi0oeP1FJTGwTrXSl+HLrO2SVMfSB3sb7dD/R/+7dZcNsCLnMfZ2AXcCA6zIHerx40/12BgtSqJIVXHkUw9j5rWOyBC6oWgVKuAC1j8mfa0EoXEQxgTD1C2H8eQTKwf0rP97AtEyqMiGWHFIrkw+4qALqnj9HNG/lvVBcG1krwlsKH2nl17T00vXNy7NZoP5CX6x8AL4R3zB5adsvYLe1eGnJHwyvM+O7Rq/ppFK2u8lpB55Skb5uM9hs6Vu6SX2HkxBNyeQRl1bgH5F8BC9ABbwMYItVibo6xPYeQt9+ayXh+86IVctc8L3/oCbGnzapHiiIix/+wdO9c96fKw86JZsXgnPRBmf3b1288WcUK6gNnTbHNxTLVktlhtRkw1AmzYv2Aq2p8yqxwwXWtXnunauWLt59yjw6585vo1N9Cl9JRfHjv2S/qlP/1pa/6ndP5S4HtkY2mRDrPbWhWwmWPcrTLHEcfu3Lg9JHuEzEg1LqeF0zDrDcCIoxZMarCBGrNzamSihCA9RzBdB7KzGjgGk3QYZ5R6VPZgyXLTBcO3fn7n6f1z3q9Wfrhl/aKFm88YXEQDN9/3hd3Dtyd/Ur8y8pv8//nCljNv2c58r3lqQHoaeT0uJCrFiGLysQ3GjvuRI5eVLAE8XIQwA8ZOGxbMfVkw94UblRP2G3dSzb4HmPfirhQAZKKX7UqIOJCpRu5hbuzFZBIABMC6kPKVns5Pbc0f2soet0oHt259frn0yvHW5exx+fLjrTCHB1hbb0NOlO8SnrsFNINZTcTBEdgFqWp4wuWxc/0Dt1CO4XqdsJV1szNI1oapRRs0SWLnOlUCofey114sSCDIzJNcdl6W9uJ7v3oeXjHrq89M9kl2lGP3DvAp2eQUJVQi36KqGzT2BmXoY29jUGYdlm47PvbRR9KK0/NXv/c+/crQ88vojfTsZa/cnv9+/ku3s34myTtSC10047leaoF7wDsbwS6xqf+UDshB4iAXA/4MjliUs6M5u1UxrmfPe/tCATzh/bJCDQJcV194q5P3y97Fr1fsReqfhIsUW41kG4LI4WZktdmLbkUxdidih4poMCUd+GL+D46L1n5u4e+fkX5+vIEuWv6sdC6iZsake+m7zL/qSCtZTwCNws6sCWQpaerORDHN6mfu1YbrGN/+Qnw+sJ1RCcUhymx1+6vqcS40JYCGzeE1F3SoE4XJgChTnAtWCDfHMdyO0+LeM5bv3LTurOVbti7fuX7dWSs2r+lsbuptOWVBrCP/i9hAY6yzI7aIbly1bffurSuXb9+9e8vqeFesa0NHS0fLnFPngJ0vnUrSl6X/SyrJKIHTkD+X9WPu1w+5X2b4aC5riqqIGZWtmIdkgqiQBHfgArO0EoRF2ZFWqBVVCtj5FmC41hDiaWPQjbBfwOBCXLgA+kdfXu0ON/X2L5q72hVt7OtbkJQ2LGrtPz64aO3qs09t65eeW7R2FXKdkwukOH2OzZd6sDymosZqq8IcqcnOm47cmNsBnM8SZnwgpUOUMDACVKSVqloOVJX8irWeLT1m4IdVHG4V9mURqK8+BH0h7lf/sxRP7Wrb197ZtDQ1MudLwTmNS4t+pg/duHJt/JqV6/79Bv4Vz8VJUiW1SEHmL8+jL1O8MbAjsQknrElC7SWYxP4UlOJ4klmnDdcgF65B4oxsjOVD2l5TQMm63LhAQNjcnlTFMNLzf7cZ54fkG6OSm4s1mWRXsGPMio82fHTCI7zHA+8Z8+NjAB5ldrCy2kAS1FjrEm+0xvqhroVN//4UpPqtKTZ5/9i/df5+ZeBtGkpvHTiQHXz3wKWXbrxs4+WXb7wM709JxD91svnjADYNG8/fZEg3Qs+68dLrRF0sKanO8ch7h5diH2REdZoVk9gF3/LyF8wZwl6hfH9UzADxZHOcAri0i44TDXMm5vcc2hsPu2lYW27y19PPw9fzJlZObLr77ic3kJK2XlVoK1+5TByLCuyLR0oaqi6yNDhpyhB9Q01dYmE1K+Yg64WFNZTIFtyz9eg4dSky97LWmv1qUz/PmoqREtoCLd00kb93I7Z17dTb0lrp+3gvfYTgPVQ6ortsHkq99qub9DuAYjFNgg3/VzN/3gO5FtDGMdvgJQ+UmxZ+h7BmUxt7HSG1WH5qLfwudolARS+8CsZ/QkD9rFoU6jGq+1mt8pKDCWtUWjtFptgU+cY3Hn6YDuUfoKN0NP/Ab3/7W4FnkeHcESQJ1i+8wWTqUhzS0oL1TdEkAluylqomuNewiWCracCNvfUEoS31AGxLQrqwit2I6uGluhr2rvo6+La+ke2lbQXYS6ber5AAlAgAiyOHvig0nIajjUL4GlcG/mIu85wKhLnvPgGEoQ8VIWOMiJhT9D/wfD2zj9SDWGE3aSRfEprkjlS2QUb5Tkh9y6joUAMyly5294M8aSQJxXBwNa0FXXLgGRKq5JESVXInv7ZaOEEJFNBx2rA6OIMrngZ2OwPTCDHWBrbUZ6nZk06n9RdpENZNlDGB1FOQ1t2/wND59dKDmrLuHQsNPUe/YHPzMLNAFHBOXoG/QSX2COpRssOaSDv6AXiD5DXeI5lgEnYuB3MaPHd72PKa9XrwNO5n/fXoxbAQucDuFQAzM6E8hDXAM8WSH/XBG1mvvLRMr1rK9OapfkMnTOjbXxMYokbSS/6N+7dS15niHq7U9KTQx+OgB6BQdk9EXx+zNLTObY5yZ2/vQmfvO0FnB+bTeUlg321NZjvnwEud7exdczrh2znd7F2dfErAfIAxD+ewPkd1/znC/TsDmWQ6U+VXmnqYB9TVMw+oQcKvgAwnmXBlk9DMKDWPaVa3KJkZUmoGPzFMkuZpnAbninxArCUd5F9Ua7cya7fLKk5utkWl81NbVACUAAUkrRxBW3Z5ybT5lVBL2rDMtH/cZQZFrUuWmn8qsuIzIyNGQy7Wm+/4AukpmHdbpt6UfiCNETOJkSGCrOzs5IFLh8vOb0WVLlw9WGdxmWlGbEojF+1uBHFuapdr8MwLGgVZS7AO1woasbCDalCg7pmDqHgKdt5lJ2CsrZIipp0L6fqjLdvbw8vqm9d55uxM79lUv9Hp39y4q6cz3iuNrTz/1J3H8zvPq6m75P7lI9fVNaxqXNKeXEf+P0gw5Y0AAAAB//8AAgAAAfoCmgK8AEsAQwBdAFsAVQBRAFcAYABZAGIANABIAD0ARgBTAE542l1Ru05bQRDdDQ8DgcTYIDnaFLOZkALvhTZIIK4uwsh2YzlC2o1c5GJcwAdQIFGD9msGaChTpE2DkAskPoFPiJSZNYmiNDs7s3POmTNLypGqd2m956lzFkjhboNmm34npNpFgAfS9Y1GRtrBIy02M3rlun2/j8FmNOVOGkB5z1vKQ0bTTqAW7bl/Mj+D4T7/yzwHg5Zmmp5aZyE9hMB8M25p8DWjWXf9QV+xOlwNBoYU01Tc9cdUyv+W5lxtGbY2M5p3cCEiP5gGaGqtjUDTnzqkej6OYgly+WysDSamrD/JRHBhMl3VVC0zvnZwn+wsOtikSnPgAQ6wVZ6Ch+OjCYX0LYkyS0OEg9gqMULEJIdCTjl3sj8pUD6ShDFvktLOuGGtgXHkNTCozdMcvsxmU9tbhzB+EUfw3S/Gkg4+sqE2RoTYjlgKYAKRkFFVvqHGcy+LAbnU/jMQJWB5+u1fJwKtOzYRL2VtnWOMFYKe3zbf+WXF3apc50Whu3dVNVTplOZDL2ff4xFPj4XhoLHgzed9f6NA7Q2LGw2aA8GQ3o3e/9FadcRV3gsf2W81s7EWAAAAuAH/hbABjQBLsAhQWLEBAY5ZsUYGK1ghsBBZS7AUUlghsIBZHbAGK1xYWbAUKwAAeNqFUttq2zAYvs9T/Ohqg0ZqOpo1wXYYhcAYhV5kbLeK9TsR0cGT5EP29JXcnNq1HfhC2N9Zzha9VtCi89KanEzoNQE0pRXSbHLyc7Uc35FFMco0Bi544C+hRdYY+adBKUCKnJRWU72vrAmehn2N0hjb8hDhnpbxLe/HtbN0ejvWKGhX7WS4oZvwe0NYkbVohHVguMacPOyXSYVA41ROtiHUc8a6rjvJRyuWWKVDIYM/Hg70bwp7+MHLv435WKKObaxhuwHKeKQNquwkK9CXTtapQ5EF7AMonpZBQ4rVVnqID4dfuE6aUDmr4ZCdwrJRCqSprNPDCMDXtgkQEi3B56N3Ug0n9mpBdl6QjTKWssSgL/IpWaLx+GHjVmJ3wC1UvLTJ9Mv1MKSt905utuGfmvfHL/Cp/AwX016BWHNYxZjw/ZzzCiaz2VcagQoGmgeHHl0br/wU+9LNcYGau90bxqkwPDoL01t4QPE89okAtvp/nLPnhRE7/s7F6AnC8w+f") format("woff");
+ font-weight: 700;
+ font-style: normal
+}
+p {
+ letter-spacing: .3
+}
+.center,
+.center-text {
+ text-align: center
+}
+h1,
+h2,
+h3,
+h4 {
+ font-weight: 400;
+ letter-spacing: .3
+}
+.heading--bold {
+ font-weight: 900;
+ font-smoothing: antialiased
+}
+hr {
+ border-top: 2px solid #ebebeb;
+ margin: 20px 0
+}
+.link-list {
+ padding-left: 0
+}
+.link-list>li {
+ text-decoration: none;
+ list-style: none;
+ margin: 20px 0
+}
+.link-list>li a {
+ color: #397fba
+}
+.headed-list {
+ list-style: none;
+ position: relative;
+ padding-left: 0
+}
+.headed-list li {
+ position: relative;
+ margin: 0
+}
+.headed-list li+li {
+ margin-top: 2em
+}
+.headed-list h5 {
+ font-size: 15px;
+ font-weight: 700;
+ margin: 0
+}
+.headed-list p {
+ margin: 0
+}
+.pretty {
+ list-style: none;
+ padding-left: 1em
+}
+.pretty li {
+ position: relative
+}
+.pretty li:before {
+ content: '';
+ position: absolute;
+ display: block;
+ width: .3em;
+ height: .3em;
+ border-radius: 50%;
+ left: -1em;
+ background: #d1d3d3;
+ top: .6em
+}
+.pretty-ol {
+ padding-left: 1em
+}
+.pretty-ol li {
+ padding-left: .5em
+}
+.inline-link,
+p a {
+ text-decoration: underline;
+ color: #4665a2
+}
+a:focus,
+button:active,
+button:focus {
+ outline: none
+}
+.svg-icon {
+ vertical-align: bottom
+}
+.small-print>* {
+ font-size: 12px
+}
+.small-print h2,
+.small-print h3,
+.small-print h4,
+.small-print h5 {
+ font-size: 14px
+}
+.sm {
+ position: relative;
+ z-index: 9999
+}
+.sm,
+.sm li,
+.sm ul {
+ display: block;
+ list-style: none;
+ margin: 0;
+ padding: 0;
+ line-height: normal;
+ direction: ltr;
+ text-align: left;
+ -webkit-tap-highlight-color: transparent
+}
+.sm-rtl,
+.sm-rtl li,
+.sm-rtl ul {
+ direction: rtl;
+ text-align: right
+}
+.sm>li>h1,
+.sm>li>h2,
+.sm>li>h3,
+.sm>li>h4,
+.sm>li>h5,
+.sm>li>h6 {
+ margin: 0;
+ padding: 0
+}
+.sm ul {
+ display: none
+}
+.sm a,
+.sm li {
+ position: relative
+}
+.sm a {
+ display: block
+}
+.sm a.disabled {
+ cursor: not-allowed
+}
+.sm:after {
+ display: block;
+ height: 0;
+ font: 0/0 serif;
+ clear: both;
+ visibility: hidden;
+ overflow: hidden
+}
+.sm,
+.sm *,
+.sm:after,
+.sm:before {
+ box-sizing: border-box
+}
+.sm-dox {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAcElEQVR4Ae3dTQ6DIBRF4ce70NS4uA51YOLAtFYw0B+gxn06dAddRMGykHO/5K6Ctv3LdaX4fJJ4+RXuvcA+/xkXMbsPJhugbcQ4B9xT2dF43EzAVfscExGa3rIQxGkORZaK5U9zhKKSGYFueODS6h/TSxpOsn4UagAAAABJRU5ErkJggg==)
+}
+.sm-dox a,
+.sm-dox a:active,
+.sm-dox a:focus,
+.sm-dox a:hover {
+ padding: 0 12px;
+ padding-right: 43px;
+ font-family: Lucida Grande, Geneva, Helvetica, Arial, sans-serif;
+ font-size: 13px;
+ font-weight: 700;
+ line-height: 36px;
+ text-decoration: none;
+ text-shadow: 0 1px 1px hsla(0, 0%, 100%, .9);
+ color: #283a5d;
+ outline: 0
+}
+.sm-dox a:hover {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAVUlEQVR4Ae2dSwqAMBBDJ2+kKIqIW8W94CXceP8j2amt5wgJ+Z3B9vOmH1emZSMNM3QJSRkgHDMrkLz4ReN+XA9EHr0fOa/b4OiSd023v/b/fX9Z9V/qQQI0WZ7jfQAAAABJRU5ErkJggg==);
+ background-repeat: repeat-x;
+ color: #fff;
+ text-shadow: 0 1px 1px #000
+}
+.sm-dox a.current {
+ color: #d23600
+}
+.sm-dox a.disabled {
+ color: #bbb
+}
+.sm-dox a span.sub-arrow {
+ position: absolute;
+ top: 50%;
+ margin-top: -14px;
+ left: auto;
+ right: 3px;
+ width: 28px;
+ height: 28px;
+ overflow: hidden;
+ font: 700 12px/28px monospace!important;
+ text-align: center;
+ text-shadow: none;
+ background: hsla(0, 0%, 100%, .5);
+ border-radius: 5px
+}
+.sm-dox a.highlighted span.sub-arrow:before {
+ display: block;
+ content: '-'
+}
+.sm-dox>li:first-child>:not(ul) a,
+.sm-dox>li:first-child>a {
+ border-radius: 5px 5px 0 0
+}
+.sm-dox>li:last-child>:not(ul) a,
+.sm-dox>li:last-child>a,
+.sm-dox>li:last-child>ul,
+.sm-dox>li:last-child>ul>li:last-child>:not(ul) a,
+.sm-dox>li:last-child>ul>li:last-child>a,
+.sm-dox>li:last-child>ul>li:last-child>ul,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>:not(ul) a,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>:not(ul) a,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>:not(ul) a,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul {
+ border-radius: 0 0 5px 5px
+}
+.sm-dox>li:last-child>:not(ul) a.highlighted,
+.sm-dox>li:last-child>a.highlighted,
+.sm-dox>li:last-child>ul>li:last-child>:not(ul) a.highlighted,
+.sm-dox>li:last-child>ul>li:last-child>a.highlighted,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>:not(ul) a.highlighted,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>:not(ul) a.highlighted,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>:not(ul) a.highlighted,
+.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted {
+ border-radius: 0
+}
+.sm-dox ul {
+ background: hsla(0, 0%, 64%, .1)
+}
+.sm-dox ul a,
+.sm-dox ul a:active,
+.sm-dox ul a:focus,
+.sm-dox ul a:hover {
+ font-size: 12px;
+ border-left: 8px solid transparent;
+ line-height: 36px;
+ text-shadow: none;
+ background-color: #fff;
+ background-image: none
+}
+.sm-dox ul a:hover {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAVUlEQVR4Ae2dSwqAMBBDJ2+kKIqIW8W94CXceP8j2amt5wgJ+Z3B9vOmH1emZSMNM3QJSRkgHDMrkLz4ReN+XA9EHr0fOa/b4OiSd023v/b/fX9Z9V/qQQI0WZ7jfQAAAABJRU5ErkJggg==);
+ background-repeat: repeat-x;
+ color: #fff;
+ text-shadow: 0 1px 1px #000
+}
+.sm-dox ul ul a,
+.sm-dox ul ul a:active,
+.sm-dox ul ul a:focus,
+.sm-dox ul ul a:hover {
+ border-left: 16px solid transparent
+}
+.sm-dox ul ul ul a,
+.sm-dox ul ul ul a:active,
+.sm-dox ul ul ul a:focus,
+.sm-dox ul ul ul a:hover {
+ border-left: 24px solid transparent
+}
+.sm-dox ul ul ul ul a,
+.sm-dox ul ul ul ul a:active,
+.sm-dox ul ul ul ul a:focus,
+.sm-dox ul ul ul ul a:hover {
+ border-left: 32px solid transparent
+}
+.sm-dox ul ul ul ul ul a,
+.sm-dox ul ul ul ul ul a:active,
+.sm-dox ul ul ul ul ul a:focus,
+.sm-dox ul ul ul ul ul a:hover {
+ border-left: 40px solid transparent
+}
+@mediamin-width768px {
+ .sm-dox ul {
+ position: absolute;
+ width: 12em
+ }
+ .sm-dox li {
+ float: left
+ }
+ .sm-dox.sm-rtl li {
+ float: right
+ }
+ .sm-dox.sm-rtl ul li,
+ .sm-dox.sm-vertical li,
+ .sm-dox ul li {
+ float: none
+ }
+ .sm-dox a {
+ white-space: nowrap
+ }
+ .sm-dox.sm-vertical a,
+ .sm-dox ul a {
+ white-space: normal
+ }
+ .sm-dox .sm-nowrap>li>:not(ul) a,
+ .sm-dox .sm-nowrap>li>a {
+ white-space: nowrap
+ }
+ .sm-dox {
+ padding: 0 10px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAcElEQVR4Ae3dTQ6DIBRF4ce70NS4uA51YOLAtFYw0B+gxn06dAddRMGykHO/5K6Ctv3LdaX4fJJ4+RXuvcA+/xkXMbsPJhugbcQ4B9xT2dF43EzAVfscExGa3rIQxGkORZaK5U9zhKKSGYFueODS6h/TSxpOsn4UagAAAABJRU5ErkJggg==);
+ line-height: 36px
+ }
+ .sm-dox a span.sub-arrow {
+ top: 50%;
+ margin-top: -2px;
+ right: 12px;
+ width: 0;
+ height: 0;
+ border-width: 4px;
+ border-style: solid dashed dashed;
+ border-color: #283a5d transparent transparent;
+ background: transparent;
+ border-radius: 0
+ }
+ .sm-dox a,
+ .sm-dox a.highlighted,
+ .sm-dox a:active,
+ .sm-dox a:focus,
+ .sm-dox a:hover {
+ padding: 0 12px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAf0lEQVR4Ae3dgQmCQABA0aM/URIUhaQimqIlpkmRl4pmljZbG7RIw+RRgzzeGuL1/pBdnmRyIM1/knM/GohPPdHx8XcnzEaHjiDt8PYtfnLDjVuc6Iqt7BqsbYMZ1qyDGt2v0L2K1UYpWbolC6dgbhfMLDkRQqCZkqkh0Yxc/QU8xSP87u6VHwAAAABJRU5ErkJggg==);
+ background-repeat: no-repeat;
+ background-position: 100%;
+ border-radius: 0!important
+ }
+ .sm-dox a:hover {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAVUlEQVR4Ae2dSwqAMBBDJ2+kKIqIW8W94CXceP8j2amt5wgJ+Z3B9vOmH1emZSMNM3QJSRkgHDMrkLz4ReN+XA9EHr0fOa/b4OiSd023v/b/fX9Z9V/qQQI0WZ7jfQAAAABJRU5ErkJggg==);
+ background-repeat: repeat-x;
+ color: #fff;
+ text-shadow: 0 1px 1px #000
+ }
+ .sm-dox a:hover span.sub-arrow {
+ border-color: #fff transparent transparent
+ }
+ .sm-dox a.has-submenu {
+ padding-right: 24px
+ }
+ .sm-dox li {
+ border-top: 0
+ }
+ .sm-dox>li>ul:after,
+ .sm-dox>li>ul:before {
+ content: '';
+ position: absolute;
+ top: -18px;
+ left: 30px;
+ width: 0;
+ height: 0;
+ overflow: hidden;
+ border-width: 9px;
+ border-style: dashed dashed solid;
+ border-color: transparent transparent #bbb
+ }
+ .sm-dox>li>ul:after {
+ top: -16px;
+ left: 31px;
+ border-width: 8px;
+ border-color: transparent transparent #fff
+ }
+ .sm-dox ul {
+ border: 1px solid #bbb;
+ padding: 5px 0;
+ background: #fff;
+ border-radius: 5px!important;
+ box-shadow: 0 5px 9px rgba(0, 0, 0, .2)
+ }
+ .sm-dox ul a span.sub-arrow {
+ right: 8px;
+ top: 50%;
+ margin-top: -5px;
+ border-width: 5px;
+ border-color: transparent transparent transparent #555;
+ border-style: dashed dashed dashed solid
+ }
+ .sm-dox ul a,
+ .sm-dox ul a.highlighted,
+ .sm-dox ul a:active,
+ .sm-dox ul a:focus,
+ .sm-dox ul a:hover {
+ border: 0!important;
+ color: #555;
+ background-image: none
+ }
+ .sm-dox ul a:hover {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAVUlEQVR4Ae2dSwqAMBBDJ2+kKIqIW8W94CXceP8j2amt5wgJ+Z3B9vOmH1emZSMNM3QJSRkgHDMrkLz4ReN+XA9EHr0fOa/b4OiSd023v/b/fX9Z9V/qQQI0WZ7jfQAAAABJRU5ErkJggg==);
+ background-repeat: repeat-x;
+ color: #fff;
+ text-shadow: 0 1px 1px #000
+ }
+ .sm-dox ul a:hover span.sub-arrow {
+ border-color: transparent transparent transparent #fff
+ }
+ .sm-dox span.scroll-down,
+ .sm-dox span.scroll-up {
+ position: absolute;
+ display: none;
+ visibility: hidden;
+ overflow: hidden;
+ background: #fff;
+ height: 36px
+ }
+ .sm-dox span.scroll-down:hover,
+ .sm-dox span.scroll-up:hover {
+ background: #eee
+ }
+ .sm-dox span.scroll-up:hover span.scroll-down-arrow,
+ .sm-dox span.scroll-up:hover span.scroll-up-arrow {
+ border-color: transparent transparent #d23600
+ }
+ .sm-dox span.scroll-down:hover span.scroll-down-arrow {
+ border-color: #d23600 transparent transparent
+ }
+ .sm-dox span.scroll-down-arrow,
+ .sm-dox span.scroll-up-arrow {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ margin-left: -6px;
+ width: 0;
+ height: 0;
+ overflow: hidden;
+ border-width: 6px;
+ border-style: dashed dashed solid;
+ border-color: transparent transparent #555
+ }
+ .sm-dox span.scroll-down-arrow {
+ top: 8px;
+ border-style: solid dashed dashed;
+ border-color: #555 transparent transparent
+ }
+ .sm-dox.sm-rtl a.has-submenu {
+ padding-right: 12px;
+ padding-left: 24px
+ }
+ .sm-dox.sm-rtl a span.sub-arrow {
+ right: auto;
+ left: 12px
+ }
+ .sm-dox.sm-rtl.sm-vertical a.has-submenu {
+ padding: 10px 20px
+ }
+ .sm-dox.sm-rtl.sm-vertical a span.sub-arrow {
+ right: auto;
+ left: 8px;
+ border-style: dashed solid dashed dashed;
+ border-color: transparent #555 transparent transparent
+ }
+ .sm-dox.sm-rtl>li>ul:before {
+ left: auto;
+ right: 30px
+ }
+ .sm-dox.sm-rtl>li>ul:after {
+ left: auto;
+ right: 31px
+ }
+ .sm-dox.sm-rtl ul a.has-submenu {
+ padding: 10px 20px!important
+ }
+ .sm-dox.sm-rtl ul a span.sub-arrow {
+ right: auto;
+ left: 8px;
+ border-style: dashed solid dashed dashed;
+ border-color: transparent #555 transparent transparent
+ }
+ .sm-dox.sm-vertical {
+ padding: 10px 0;
+ border-radius: 5px
+ }
+ .sm-dox.sm-vertical a {
+ padding: 10px 20px
+ }
+ .sm-dox.sm-vertical a.highlighted,
+ .sm-dox.sm-vertical a:active,
+ .sm-dox.sm-vertical a:focus,
+ .sm-dox.sm-vertical a:hover {
+ background: #fff
+ }
+ .sm-dox.sm-vertical a.disabled {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAcElEQVR4Ae3dTQ6DIBRF4ce70NS4uA51YOLAtFYw0B+gxn06dAddRMGykHO/5K6Ctv3LdaX4fJJ4+RXuvcA+/xkXMbsPJhugbcQ4B9xT2dF43EzAVfscExGa3rIQxGkORZaK5U9zhKKSGYFueODS6h/TSxpOsn4UagAAAABJRU5ErkJggg==)
+ }
+ .sm-dox.sm-vertical a span.sub-arrow {
+ right: 8px;
+ top: 50%;
+ margin-top: -5px;
+ border-width: 5px;
+ border-style: dashed dashed dashed solid;
+ border-color: transparent transparent transparent #555
+ }
+ .sm-dox.sm-vertical>li>ul:after,
+ .sm-dox.sm-vertical>li>ul:before {
+ display: none
+ }
+ .sm-dox.sm-vertical ul a {
+ padding: 10px 20px
+ }
+ .sm-dox.sm-vertical ul a.highlighted,
+ .sm-dox.sm-vertical ul a:active,
+ .sm-dox.sm-vertical ul a:focus,
+ .sm-dox.sm-vertical ul a:hover {
+ background: #eee
+ }
+ .sm-dox.sm-vertical ul a.disabled {
+ background: #fff
+ }
+}
+#nav-tree .children_ul {
+ margin: 0;
+ padding: 4px
+}
+#nav-tree ul {
+ list-style: none outside none;
+ margin: 0;
+ padding: 0
+}
+#nav-tree li {
+ white-space: nowrap;
+ margin: 0;
+ padding: 0
+}
+#nav-tree .plus {
+ margin: 0
+}
+#nav-tree img {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ vertical-align: middle
+}
+#nav-tree a {
+ text-decoration: none;
+ padding: 0;
+ margin: 0;
+ outline: none
+}
+#nav-tree .label {
+ margin: 0;
+ padding: 0;
+ font: 16px "Contax Pro", Lucida Grande, Geneva, Helvetica, Arial, sans-serif;
+ line-height: 160%
+}
+#nav-tree .label a {
+ padding: 2px
+}
+#nav-tree .children_ul,
+#nav-tree .item {
+ margin: 0;
+ padding: 0
+}
+#nav-tree {
+ font-size: 14px
+}
+#doc-content,
+#nav-tree {
+ padding: 0;
+ overflow: auto
+}
+#doc-content {
+ display: block;
+ margin: 0;
+ -webkit-overflow-scrolling: touch
+}
+#side-nav {
+ padding: 0 6px 0 0;
+ margin: 0;
+ position: absolute;
+ left: 0;
+ width: 320px
+}
+#side-nav,
+.ui-resizable .ui-resizable-handle {
+ display: block;
+}
+.ui-resizable-e {
+ cursor: ew-resize;
+ height: 100%;
+ right: 0;
+ top: 0;
+ width: 6px
+}
+.ui-resizable-handle {
+ display: none;
+ font-size: .1px;
+ position: absolute;
+ z-index: 1
+}
+#nav-tree-contents {
+ margin: 6px 0 0
+}
+#nav-tree {
+ -webkit-overflow-scrolling: touch
+}
+#nav-sync {
+ position: absolute;
+ top: 5px;
+ right: 24px;
+ z-index: 0;
+ display: none;
+}
+#nav-sync img {
+ opacity: .3
+}
+#nav-sync img:hover {
+ opacity: .9
+}
+@media print {
+ #nav-tree {
+ display: none
+ }
+ div.ui-resizable-handle {
+ display: none;
+ position: relative
+ }
+}
+#FSearchBox {
+ float: left
+}
+#MSearchBox {
+ white-space: nowrap;
+ float: none;
+ margin-top: 0;
+ right: 0;
+ width: 170px;
+ height: 24px;
+ z-index: 102;
+ display: none;
+ position: absolute
+}
+#MSearchSelect {
+ display: block;
+ position: absolute;
+ width: 20px;
+ height: 19px
+}
+.left #MSearchSelect {
+ left: 4px
+}
+.right #MSearchSelect {
+ right: 5px
+}
+#MSearchField {
+ border: none;
+ width: 111px;
+ margin-left: 20px;
+ outline: none;
+ -webkit-border-radius: 0
+}
+#FSearchBox #MSearchField {
+ margin-left: 15px
+}
+#MSearchClose {
+ display: none;
+ position: absolute;
+ top: 4px;
+ background: none;
+ border: none;
+ margin: 0 4px 0 0;
+ padding: 0;
+ outline: none
+}
+.left #MSearchClose {
+ left: 6px
+}
+.right #MSearchClose {
+ right: 2px
+}
+.MSearchBoxActive #MSearchField {
+ color: #000
+}
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0;
+ top: 0;
+ background-color: #f9fafc;
+ z-index: 10001;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, .15)
+}
+.SelectItem {
+ font: 8pt Arial, Verdana, sans-serif;
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0
+}
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: monospace;
+ outline-style: none;
+ text-decoration: none
+}
+a.SelectItem {
+ display: block;
+ padding-left: 6px;
+ padding-right: 12px
+}
+a.SelectItem,
+a.SelectItem:active,
+a.SelectItem:focus {
+ outline-style: none;
+ color: #000;
+ text-decoration: none
+}
+a.SelectItem:hover {
+ color: #fff;
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block
+}
+iframe#MSearchResults {
+ width: 60ex;
+ height: 15em
+}
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0;
+ top: 0;
+ border: 1px solid #000;
+ z-index: 10000
+}
+#SRIndex {
+ clear: both;
+ padding-bottom: 15px
+}
+.SREntry {
+ font: 400 10px/16px "Contax Pro", sans-serif;
+ font-size: 14pt;
+ padding-left: 1ex
+}
+.SRPage .SREntry {
+ font-size: 10pt;
+ padding: 1px 5px
+}
+body.SRPage {
+ margin: 5px 2px
+}
+.SRChildren {
+ padding-left: 3ex;
+ padding-bottom: .5em
+}
+.SRPage .SRChildren {
+ display: none
+}
+.SRSymbol {
+ font-weight: 700
+}
+.SRSymbol,
+a.SRScope {
+ color: #425e97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none
+}
+a.SRScope {
+ display: block
+}
+a.SRScope:active,
+a.SRScope:focus,
+a.SRSymbol:active,
+a.SRSymbol:focus {
+ text-decoration: underline
+}
+span.SRScope {
+ padding-left: 4px
+}
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic
+}
+.SRResult {
+ display: none
+}
+DIV.searchresults {
+ margin-left: 10px;
+ margin-right: 10px
+}
+.searchresult {
+ background-color: #f0f3f8
+}
+.pages b {
+ color: #fff;
+ padding: 5px 5px 3px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAVUlEQVR4Ae2dSwqAMBBDJ2+kKIqIW8W94CXceP8j2amt5wgJ+Z3B9vOmH1emZSMNM3QJSRkgHDMrkLz4ReN+XA9EHr0fOa/b4OiSd023v/b/fX9Z9V/qQQI0WZ7jfQAAAABJRU5ErkJggg==);
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000
+}
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none
+}
+.hl {
+ font-weight: 700
+}
+#searchresults {
+ margin-bottom: 20px
+}
+.searchpages {
+ margin-top: 10px
+}
+body,
+div,
+dl,
+p,
+table {
+ font: 400 16px/24px "Contax Pro", sans-serif;
+}
+h1.groupheader {
+ font-size: 150%
+}
+.title {
+ font: 400 16px/32px "Contax Pro", sans-serif;
+ font-weight: 700;
+ font-size: 32px;
+ margin: 10px 2px
+}
+h2.groupheader {
+ font-size: 150%;
+ font-weight: 400;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%
+}
+h3.groupheader {
+ font-size: 100%
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ -webkit-transition: text-shadow .5s linear;
+ transition: text-shadow .5s linear;
+ margin-right: 15px
+}
+h1.glow,
+h2.glow,
+h3.glow,
+h4.glow,
+h5.glow,
+h6.glow {
+ text-shadow: 0 0 15px cyan
+}
+dt {
+ font-weight: 700
+}
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3
+}
+p.startdd,
+p.startli {
+ margin-top: 2px
+}
+p.starttd {
+ margin-top: 0
+}
+p.endli {
+ margin-bottom: 0
+}
+p.enddd {
+ margin-bottom: 4px
+}
+p.endtd {
+ margin-bottom: 2px
+}
+caption {
+ font-weight: 700
+}
+span.legend {
+ font-size: 70%;
+ text-align: center
+}
+h3.version {
+ font-size: 90%;
+ text-align: center
+}
+div.navtab,
+div.qindex {
+ background-color: #ebeff6;
+ border: 1px solid #a3b4d7;
+ text-align: center
+}
+div.navpath,
+div.qindex {
+ width: 100%;
+ line-height: 140%
+}
+div.navtab {
+ margin-right: 15px
+}
+.contents a:visited {
+ color: #121c2f
+}
+a:hover {
+ text-decoration: underline
+}
+a.qindex,
+a.qindexHL {
+ font-weight: 700
+}
+a.qindexHL {
+ background-color: #9cafd4;
+ color: #fff;
+ border: 1px double #869dca
+}
+.contents a.qindexHL:visited {
+ color: #fff
+}
+a.el {
+ font-weight: 700
+}
+a.code,
+a.code:visited,
+a.codeRef,
+a.codeRef:visited,
+a.line,
+a.line:visited,
+a.lineRef,
+a.lineRef:visited {
+ color: #121c2f
+}
+dl.el {
+ margin-left: -1cm
+}
+pre.fragment {
+ padding: 4px 6px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%
+}
+div.fragment,
+pre.fragment {
+ border: 1px solid #c4cfe5;
+ background-color: #fbfcfd;
+ margin: 4px 8px 4px 2px
+}
+div.fragment {
+ padding: 0
+}
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap;
+ white-space: -pre-wrap;
+ white-space: -o-pre-wrap;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0;
+ margin: 0;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: .5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: .5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: .5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: .5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: .5s
+}
+div.line:after {
+ white-space: pre
+}
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan
+}
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0f0;
+ background-color: #e8e8e8;
+ white-space: pre
+}
+span.lineno a {
+ background-color: #d8d8d8
+}
+span.lineno a:hover {
+ background-color: #c8c8c8
+}
+.lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none
+}
+div.ah,
+span.ah {
+ background-color: #000;
+ font-weight: 700;
+ color: #fff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: .2em;
+ border: thin solid #333;
+ border-radius: .5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, .15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000), color-stop(.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0, #444 40%, #000 110%)
+}
+div.classindex ul {
+ list-style: none;
+ padding-left: 0
+}
+div.classindex span.ai {
+ display: inline-block
+}
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: 700
+}
+div.groupText {
+ margin-left: 16px;
+ font-style: italic
+}
+body {
+ background-color: #fff;
+ color: #000;
+ margin: 0
+}
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px
+}
+td.indexkey {
+ font-weight: 700;
+ white-space: nowrap;
+ vertical-align: top
+}
+td.indexkey,
+td.indexvalue {
+ background-color: #ebeff6;
+ border: 1px solid #c4cfe5;
+ margin: 2px 0;
+ padding: 2px 10px
+}
+tr.memlist {
+ background-color: #eef1f7
+}
+p.formulaDsp {
+ text-align: center
+}
+img.formulaInl {
+ vertical-align: middle
+}
+div.center {
+ text-align: center;
+ margin-top: 0;
+ margin-bottom: 0;
+ padding: 0
+}
+div.center img {
+ border: 0
+}
+address.footer {
+ text-align: right;
+ padding-right: 12px
+}
+img.footer {
+ border: 0;
+ vertical-align: middle
+}
+span.keyword {
+ color: green
+}
+span.keywordtype {
+ color: #604020
+}
+span.keywordflow {
+ color: #e08000
+}
+span.comment {
+ color: maroon
+}
+span.preprocessor {
+ color: #806020
+}
+span.stringliteral {
+ color: #002080
+}
+span.charliteral {
+ color: teal
+}
+span.vhdldigit {
+ color: #f0f
+}
+span.vhdlchar {
+ color: #000
+}
+span.vhdlkeyword {
+ color: #700070
+}
+span.vhdllogic {
+ color: red
+}
+blockquote {
+ background-color: #f7f8fb;
+ border-left: 2px solid #9cafd4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px
+}
+td.tiny {
+ font-size: 75%
+}
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #a3b4d7
+}
+th.dirtab {
+ background: #ebeff6;
+ font-weight: 700
+}
+hr {
+ height: 0;
+ border: none
+}
+hr.footer {
+ height: 1px
+}
+table.memberdecls {
+ border-spacing: 0;
+ padding: 0
+}
+.fieldtable tr,
+.memberdecls td {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: .5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: .5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: .5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: .5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: .5s
+}
+.fieldtable tr.glow,
+.memberdecls td.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan
+}
+.mdescLeft,
+.mdescRight,
+.memItemLeft,
+.memItemRight,
+.memTemplItemLeft,
+.memTemplItemRight,
+.memTemplParams {
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px
+}
+.mdescLeft,
+.mdescRight {
+ padding: 0 8px 4px;
+ color: #555
+}
+.memSeparator {
+ border-bottom: 1px solid #dee4f0;
+ line-height: 1px;
+ margin: 0;
+ padding: 0
+}
+.memItemLeft,
+.memTemplItemLeft {
+ white-space: nowrap
+}
+.memItemRight {
+ width: 100%
+}
+.memTemplParams {
+ color: #4665a2;
+ white-space: nowrap;
+ font-size: 80%
+}
+.memtitle {
+ padding: 8px;
+ border-top: 1px solid #a8b8d9;
+ border-left: 1px solid #a8b8d9;
+ border-right: 1px solid #a8b8d9;
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ margin-bottom: -1px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA4CAIAAACzAgW7AAAAYElEQVR4Ae3dSw6AIAxF0Za3WweG+IFC0W1r4sTCSBwYl3By07wugo7zguqOpBtSNlogVkkFsRJFkII1arOEbBTzmptpSZis3urnSjCM0RHRL477m5kdEXX48fPevzZzA0gYIN0BAPV5AAAAAElFTkSuQmCC);
+ background-repeat: repeat-x;
+ background-color: #e2e8f2;
+ line-height: 1.25;
+ font-weight: 300;
+ float: left
+}
+.permalink {
+ font-size: 65%;
+ display: inline-block;
+ vertical-align: middle
+}
+.memtemplate {
+ font-size: 80%;
+ color: #4665a2;
+ font-weight: 400;
+ margin-left: 9px
+}
+.memnav {
+ background-color: #ebeff6;
+ border: 1px solid #a3b4d7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px
+}
+.memitem,
+.mempage {
+ width: 100%
+}
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow .5s linear;
+ transition: box-shadow .5s linear;
+ display: table!important
+}
+.memitem.glow {
+ box-shadow: 0 0 15px cyan
+}
+.memname {
+ font-weight: 400;
+ margin-left: 6px
+}
+.memname td {
+ vertical-align: bottom
+}
+.memproto,
+dl.reflist dt {
+ border-top: 1px solid #a8b8d9;
+ border-left: 1px solid #a8b8d9;
+ border-right: 1px solid #a8b8d9;
+ padding: 6px 0;
+ color: #253555;
+ font-weight: 700;
+ text-shadow: 0 1px 1px hsla(0, 0%, 100%, .9);
+ background-color: #dfe5f1;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, .15);
+ border-top-right-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, .15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, .15);
+ -webkit-border-top-right-radius: 4px
+}
+.overload {
+ font-family: courier new, courier, monospace;
+ font-size: 65%
+}
+.memdoc,
+dl.reflist dd {
+ border-bottom: 1px solid #a8b8d9;
+ border-left: 1px solid #a8b8d9;
+ border-right: 1px solid #a8b8d9;
+ padding: 6px 10px 2px;
+ background-color: #fbfcfd;
+ border-top-width: 0;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAGCAYAAAACEPQxAAAAJklEQVR4Ae3dMQ0AAAgDwU9IF2aE4V8NLT5+uOVNIGnLTejAgwcHD1MAvfyCPAUAAAAASUVORK5CYII=);
+ background-repeat: repeat-x;
+ background-color: #fff;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, .15);
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, .15) 5px 5px 5px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, .15)
+}
+dl.reflist dt {
+ padding: 5px
+}
+dl.reflist dd {
+ margin: 0 0 10px;
+ padding: 5px
+}
+.paramkey {
+ text-align: right
+}
+.paramname,
+.paramtype {
+ white-space: nowrap
+}
+.paramname {
+ color: #602020
+}
+.paramname em {
+ font-style: normal
+}
+.paramname code {
+ line-height: 14px
+}
+.exception,
+.params,
+.retval,
+.tparams {
+ margin-left: 0;
+ padding-left: 0
+}
+.params .paramname,
+.retval .paramname {
+ font-weight: 700;
+ vertical-align: top
+}
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top
+}
+.params .paramdir {
+ font-family: courier new, courier, monospace;
+ vertical-align: top
+}
+table.mlabels {
+ border-spacing: 0
+}
+td.mlabels-left {
+ width: 100%;
+ padding: 0
+}
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0;
+ white-space: nowrap
+}
+span.mlabels {
+ margin-left: 8px
+}
+span.mlabel {
+ background-color: #728dc1;
+ border-top: 1px solid #5373b4;
+ border-left: 1px solid #5373b4;
+ border-right: 1px solid #c4cfe5;
+ border-bottom: 1px solid #c4cfe5;
+ text-shadow: none;
+ color: #fff;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle
+}
+div.directory {
+ margin: 10px 0;
+ border-top: 1px solid #9cafd4;
+ border-bottom: 1px solid #9cafd4;
+ width: 100%
+}
+.directory table {
+ border-collapse: collapse
+}
+.directory td {
+ margin: 0;
+ padding: 0;
+ vertical-align: top
+}
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px
+}
+.directory td.entry a {
+ outline: none
+}
+.directory td.entry a img {
+ border: none
+}
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0, 0, 0, .05)
+}
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #f7f8fb
+}
+.directory img {
+ vertical-align: -30%
+}
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt
+}
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3d578c
+}
+.arrow {
+ color: #9cafd4;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ font-size: 80%;
+ height: 22px
+}
+.arrow,
+.icon {
+ display: inline-block;
+ width: 16px
+}
+.icon {
+ font-family: Arial, Helvetica;
+ font-weight: 700;
+ font-size: 12px;
+ height: 14px;
+ background-color: #728dc1;
+ color: #fff;
+ text-align: center;
+ border-radius: 4px;
+ margin-left: 2px;
+ margin-right: 2px
+}
+.icona {
+ width: 24px;
+ height: 22px;
+ display: inline-block
+}
+.iconfopen {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAYAAADafVyIAAACHElEQVR4Ae1dP2/TUBD/OWmaNGmwHTuNEGlpk7aJWooAiZGBiQ/AwDdgYujU2ayd2PkOLEjsVSf0JBaQKoFUtV2CVKFEHlDaxDZ3z32JHTuhQzsgYb/Tnd+f+93v7p68akEQAMCtSQYAblP+fYA5AEiT044bfD/twfcDDD1fysaKga2GpQHAdWUqADuvWUXkc1nk5kKin7/+xJejc9kVAb0avdmMhgzJqxebqcBZx3EAICFHx78cdsyHudHYrpoLsIyC1Ea5AH1xHqViDl33Ag837bcAMCnaZJu+//At6Lp9UGbko9ZZezSZ0cJAffrm9PEy2/zUlxbx+uVOjEmCwceDY+fBuiWjrFWKsEmzbRtjsfQFmOW81Mad/Mg+6bh4/nQ5xiS1Bv0LT+ZWRSr1VbTMgucUI57XiJXv+3IdQGwkAPhQ/3JIAGFhGccbpQmym2RarnLokeNxAEmEBABvvBz4VFyOLHSqahAyCB1GQXgfB3YtBkyfGXDXjB1wClTESS8KXKVzZhftvTsMalZpVIPo+qRvXmNwxfy8+xv7u89iXZTCgKKkPA+GYf7VnLKT39MDmHmTow6nOY86jO75K8CPsx6A8eAsRQueZrM26U4AiI3ERaNLVX3cXhI7G7bYblqidd8UrVVTNJcN0azrYu2eTrYu2mum2GpUxPa6JR61quIJnWmvVsTK3fKnmQzI+RsAuCn5/0cDgJnyB7pKCEBUoHiUAAAAAElFTkSuQmCC)
+}
+.iconfclosed,
+.iconfopen {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-position: 0 -4px;
+ background-repeat: repeat-y;
+ vertical-align: top;
+ display: inline-block
+}
+.iconfclosed {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAYAAADafVyIAAACL0lEQVR4Ae1dTU/UQBh+2vp12JBscF32A78jm8VdUFmQRUOIXDn5A7x50d9g1sT/4IH/wMl48+IBokMgJhA9cdDEEI0HowGXdlrnnXa2M22BkNiDh3aeTPtO533e933enb1aQRAAQG6wASBP5E5wCgCSePP+S7Dx8RuAeNxqlLA4c9ECgJMgk4Ccj18bHrxbwu3mp+9EAAAngpUUeXllK/i8+ws3IwJyTp9s7/wIayoMvjDQrF9kq18o4PHDlrHg9Ho9APF49Xan92ipiXq5gJrYUC0V5PPkjZLMqnX9vCQfu1xE40oRY5dCNK8O493WLhY6o8+PLdHP330ZtYpMRe26/iAjl/vhuh/AE89nTjsAkEKKgDbv/fHkrJyF9kCS0OXxcCYbmWg+cDkApJCZAUVFzqyozsqRIqB1pZ1uB4AkUiI/e7kWPJgeheuFJVBOdOIkiRTftrH64StePOkaIqcyoI2qRHGUcbRcrKvSmQRhlgCMkalB/4APItS1oJnqn+hQo30BGCNF4Hoce/suOGkg7nCz6ihBRHdEpgdFBDzqrGNFphYkDUhkysQWDJSNLjrZDEeOLQMAYIxMgv2+J6KJxDykQxxJqr072cdUWmSxaX07Puj034J61ztL16c4dBYADKSOCnEclBY6dXb/dpXdm6yy2XZF4m57hE23RlhnvMxmWhXWnaiwuYkqmxPfzN+psfmpOptqlllx6NzrIzMQ589TAPhX+P//0XIn+AvU+Rz5ggypoQAAAABJRU5ErkJggg==)
+}
+.icondoc {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAWCAYAAADafVyIAAACsUlEQVR4Ae2dTU9TWxiFn55z+mE/LVhaKFAVRBI0gh8gQQZXYnVgYgwJNzd35EhGxhlDy9SBf8L/4C9gdm+EARGIQVAD8nGLUKBAC6373QUT6Dk4MAzu4KQru6fdedde71rvOVNXuVwGODMYAGeJMyewAE7iw6dsubhfYq9woO/l+8ZWgdzWHqGAB5/XIqzWhliAZF3QBeAEM5PJABzDxMx/mXiNn6DfTeCcWxc851NQa3Zjl2jIJ4WZmF7FbRmZaNg3CmAH2xaZpgvDqMDlcuFxmwQVkZy+IRZkYWVLn/7G1Zg6zCqzX9cdk+LogWkaP0kElmUQUCpCATefv+X0HiG53RFncjbLcjZvS2Lrgf7j8PRySZTLVIj8qoyoePP2PZv5oiaJKGUr3/PEa/0Ax2DrwdxiLpO4ENAFV9d3MKWwatF6TpmsfKlXReO1AaJhrzZb9liGQWvT+SovnBWoFomAyY9ZraD/VpJ/p5Z1smrCPjFXCioVBb1/t7APUAVHD456/6gvRWd7DJ/H4mFvisGBVvo6G+i/maQxESQS9FKnElcslgCq4KhAiss1Nr7A1NwaLY0Rvixt6rjOL+bouZYgEvJyNRWlVCpTKFZmBjj2OXWSDdWjB3eb+fNhGwM9zTx70qFVjA73cq8ryeVkRM9GJOgBsIWjAum/YHr+u8769k6RtdyuHjBRM6N+X17L8+KvTj2IAHZwVOCxTJ2eVH2I7mtxhtJtPB+8ztM/Wmi/WKPvX/7dpVspgwlgB2fqw2EbG1/UKuTUMmAnPZD1tEb/MkXiwVD6Cve7m2w9kDiLVwB2sCWQVEhxyb88IqTvRw++xnhIeyPG1qth1ErV3gOHF5dti4Sg5/EIS3P/4PFWigDYobC3TeLSHV6NDANUwZYg3Ztypd+9Bvht/P9fmT8AqlfEsPcjdQ8AAAAASUVORK5CYII=);
+ background-position: 0 -4px;
+ background-repeat: repeat-y;
+ vertical-align: top;
+ display: inline-block
+}
+table.directory {
+ font: 400 14px "Contax Pro", sans-serif
+}
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none
+}
+address {
+ font-style: normal;
+ color: #2a3d61
+}
+table.doxtable caption {
+ caption-side: top
+}
+table.doxtable {
+ border-collapse: collapse;
+ margin-top: 4px;
+ margin-bottom: 4px
+}
+table.doxtable td,
+table.doxtable th {
+ border: 1px solid #2d4068;
+ padding: 3px 7px 2px
+}
+table.doxtable th {
+ background-color: #374f7f;
+ color: #fff;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px
+}
+table.fieldtable {
+ margin-bottom: 10px;
+ border: 1px solid #a8b8d9;
+ border-spacing: 0;
+ border-radius: 4px;
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, .15)
+}
+.fieldtable td,
+.fieldtable th {
+ padding: 3px 7px 2px
+}
+.fieldtable td.fieldname,
+.fieldtable td.fieldtype {
+ white-space: nowrap;
+ border-right: 1px solid #a8b8d9;
+ border-bottom: 1px solid #a8b8d9;
+ vertical-align: top
+}
+.fieldtable td.fieldname {
+ padding-top: 3px
+}
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #a8b8d9
+}
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0
+}
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px
+}
+.fieldtable tr:last-child td {
+ border-bottom: none
+}
+.fieldtable th {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA4CAIAAACzAgW7AAAAYElEQVR4Ae3dSw6AIAxF0Za3WweG+IFC0W1r4sTCSBwYl3By07wugo7zguqOpBtSNlogVkkFsRJFkII1arOEbBTzmptpSZis3urnSjCM0RHRL477m5kdEXX48fPevzZzA0gYIN0BAPV5AAAAAElFTkSuQmCC);
+ background-repeat: repeat-x;
+ background-color: #e2e8f2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align: left;
+ font-weight: 400;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #a8b8d9
+}
+.tabsearch {
+ top: 0;
+ left: 10px;
+ height: 36px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAcElEQVR4Ae3dTQ6DIBRF4ce70NS4uA51YOLAtFYw0B+gxn06dAddRMGykHO/5K6Ctv3LdaX4fJJ4+RXuvcA+/xkXMbsPJhugbcQ4B9xT2dF43EzAVfscExGa3rIQxGkORZaK5U9zhKKSGYFueODS6h/TSxpOsn4UagAAAABJRU5ErkJggg==);
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px
+}
+.navpath ul {
+ font-size: 11px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAIAAADHFsdbAAAAcElEQVR4Ae3dTQ6DIBRF4ce70NS4uA51YOLAtFYw0B+gxn06dAddRMGykHO/5K6Ctv3LdaX4fJJ4+RXuvcA+/xkXMbsPJhugbcQ4B9xT2dF43EzAVfscExGa3rIQxGkORZaK5U9zhKKSGYFueODS6h/TSxpOsn4UagAAAABJRU5ErkJggg==);
+ background-repeat: repeat-x;
+ background-position: 0 -5px;
+ height: 30px;
+ line-height: 30px;
+ color: #8aa0cc;
+ border: 1px solid #c2cde4;
+ overflow: hidden;
+ margin: 0;
+ padding: 0
+}
+.navpath li {
+ list-style-type: none;
+ float: left;
+ padding-left: 10px;
+ padding-right: 15px;
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAeCAYAAAARgF8NAAACa0lEQVR4Ae2dy2sTURTGz525ycykSSaTpg9tmiYxNTYqbsSFlAbcuJBSLDQLK0i1KFUbrWKUqhQxgoqIj0oXLrooRbdtEd+P+mjrSm1LUydDmyiC6OTRhaQIEu8MJuTW/guH73LO5fzuvZwzZ/Yoevf90iZfORDzfZLVnwBAiW3adSBgEgzYaGDx99SvCQCghPoGJrfxHB7x19l+k72X3PKHAs7d0Q9NNLgliTOypz/K6mgpgP/5gR+ZXMRZaT5KYgpAZ/vfad6IEPqy0WtnGQYFp+PqXBHova0DmkWdVeaddis/RYDuInDm1ttCXINZJhbw2PMkdk0r6pIORG68KX3y/jqnWG/iDYMzitqvAyevvy4FgmbBMOx1ijnyTP1qgGYfNrglqwEzR2aU1CPUc20cACgdLBf5w2sqypKzSqoFha+8AgBKAsuib+QWhpS8FXVffgkAsHJdJSUHbRZuHHVdeg4AsHI1W83GsKva8pUBAFhltZKGSfk8yOjQxWcAQEnU2t7gteszgjovPAUASsccktBRKQnxuYV0G9rf9wQAKE37XDYz6UNnbCH9Au07/7g02Wji8T33WusyOa13kt3StLcUiFY7ykwYM4NqJjept7q992EhSYYBKevrJC32xxbT+gCzmxuLN3RJVr5W4PHU/GJmqDgPociDQjzvq7VpbW7/nMgUh4QNbN+j+R0Ch9tEC5cjyQg1k60nxjQ/7Kyy+E0CHpITmZsUsLtnrIJ8NcXnErW9R05k0xTQcnz0lMMmhOwiNysnsx0AQAk1h0finhqRxxiF4smsXjv145CWLjMI0nIi/V9Ss7/CQLJvSb7lJAAAAABJRU5ErkJggg==);
+ background-repeat: no-repeat;
+ background-position: 100%;
+ color: #364d7c
+}
+.navpath li.navelem a {
+ height: 32px;
+ display: block;
+ outline: none;
+ color: #283a5d;
+ font-family: Lucida Grande, Geneva, Helvetica, Arial, sans-serif;
+ text-shadow: 0 1px 1px hsla(0, 0%, 100%, .9);
+ text-decoration: none
+}
+.navpath li.navelem a:hover {
+ color: #6884bd
+}
+.navpath li.footer {
+ list-style-type: none;
+ float: right;
+ padding-left: 10px;
+ padding-right: 15px;
+ background-image: none;
+ background-repeat: no-repeat;
+ background-position: 100%;
+ color: #364d7c;
+ font-size: 8pt
+}
+div.summary {
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right
+}
+div.summary a,
+table.classindex {
+ white-space: nowrap
+}
+table.classindex {
+ margin: 10px;
+ margin-left: 3%;
+ margin-right: 3%;
+ width: 94%;
+ border: 0;
+ border-spacing: 0;
+ padding: 0
+}
+div.ingroups {
+ font-size: 8pt;
+ width: 50%;
+ text-align: left
+}
+div.ingroups a {
+ white-space: nowrap
+}
+div.header {
+ background-color: #f9fafc;
+ margin: 0;
+ border-bottom: 1px solid #c4cfe5
+}
+div.headertitle {
+ padding: 5px 5px 5px 10px
+}
+dl {
+ padding: 0 0 0 10px
+}
+dl.section {
+ margin-left: 0;
+ padding-left: 0
+}
+dl.note {
+ border-color: #d0c000
+}
+dl.attention,
+dl.note,
+dl.warning {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid
+}
+dl.attention,
+dl.warning {
+ border-color: red
+}
+dl.invariant,
+dl.post,
+dl.pre {
+ border-color: #00d000
+}
+dl.deprecated,
+dl.invariant,
+dl.post,
+dl.pre {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid
+}
+dl.deprecated {
+ border-color: #505050
+}
+dl.todo {
+ border-color: #00c0e0
+}
+dl.test,
+dl.todo {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid
+}
+dl.test {
+ border-color: #3030e0
+}
+dl.bug {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #c08050
+}
+dl.section dd {
+ margin-bottom: 6px
+}
+#projectlogo {
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate
+}
+#projectlogo img {
+ border: 0 none
+}
+#projectalign {
+ vertical-align: middle
+}
+#projectname {
+ font: 300% Tahoma, Arial, sans-serif;
+ margin: 0;
+ padding: 2px 0
+}
+#projectbrief {
+ font: 120% Tahoma, Arial, sans-serif;
+ margin: 0;
+ padding: 0
+}
+#projectnumber {
+ font: 50% Tahoma, Arial, sans-serif;
+ margin: 0;
+ padding: 0
+}
+#titlearea {
+ padding: 0;
+ margin: 0;
+ width: 100%;
+ border-bottom: 1px solid #dcd9d9
+}
+.diagraph,
+.dotgraph,
+.image,
+.mscgraph {
+ text-align: center
+}
+.caption {
+ font-weight: 700
+}
+div.zoom {
+ border: 1px solid #90a5ce
+}
+dl.citelist {
+ margin-bottom: 50px
+}
+dl.citelist dt {
+ color: #334975;
+ float: left;
+ font-weight: 700;
+ margin-right: 10px;
+ padding: 5px
+}
+dl.citelist dd {
+ margin: 2px 0;
+ padding: 5px 0
+}
+div.toc {
+ padding: 14px 25px;
+ background-color: #f4f6fa;
+ border: 1px solid #d8dfee;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 8px 10px 10px;
+ width: 200px
+}
+div.toc li {
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAICAYAAAA1BOUGAAAAWklEQVR4Ae2dyw2AIBBEn1CWMfFsG55twAtysQFqsi5lDOiGRFvYyb7Zz9QAvLWm47TeAXzpf5mjNoBWmusztAfFBz9Mcycofaw+KwqeS/Mc96W/YxFoYBeCC17XGwSD3o1uAAAAAElFTkSuQmCC) no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana, DejaVu Sans, Geneva, sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px
+}
+div.toc h3 {
+ font: 700 12px/1.2 Arial, FreeSans, sans-serif;
+ color: #4665a2;
+ border-bottom: 0 none;
+ margin: 0
+}
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0
+}
+div.toc li.level1 {
+ margin-left: 0
+}
+div.toc li.level2 {
+ margin-left: 15px
+}
+div.toc li.level3 {
+ margin-left: 30px
+}
+div.toc li.level4 {
+ margin-left: 45px
+}
+.inherit_header {
+ font-weight: 700;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none
+}
+.inherit_header td {
+ padding: 6px 0 2px 5px
+}
+.inherit {
+ display: none
+}
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px
+}
+#powerTip,
+.ttc {
+ position: absolute;
+ display: none
+}
+#powerTip {
+ cursor: default;
+ white-space: nowrap;
+ background-color: #fff;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: .9;
+ padding: 1ex 1em 1em;
+ z-index: 2147483647
+}
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic
+}
+#powerTip div.ttname,
+#powerTip div.ttname a {
+ font-weight: 700
+}
+#powerTip div.ttdeci {
+ color: #006318
+}
+#powerTip div {
+ margin: 0;
+ padding: 0;
+ font: 12px/16px "Contax Pro", sans-serif
+}
+#powerTip:after,
+#powerTip:before {
+ content: "";
+ position: absolute;
+ margin: 0
+}
+#powerTip.e:after,
+#powerTip.e:before,
+#powerTip.n:after,
+#powerTip.n:before,
+#powerTip.ne:after,
+#powerTip.ne:before,
+#powerTip.nw:after,
+#powerTip.nw:before,
+#powerTip.s:after,
+#powerTip.s:before,
+#powerTip.se:after,
+#powerTip.se:before,
+#powerTip.sw:after,
+#powerTip.sw:before,
+#powerTip.w:after,
+#powerTip.w:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute
+}
+#powerTip.e:after,
+#powerTip.n:after,
+#powerTip.ne:after,
+#powerTip.nw:after,
+#powerTip.s:after,
+#powerTip.se:after,
+#powerTip.sw:after,
+#powerTip.w:after {
+ border-color: hsla(0, 0%, 100%, 0)
+}
+#powerTip.e:before,
+#powerTip.n:before,
+#powerTip.ne:before,
+#powerTip.nw:before,
+#powerTip.s:before,
+#powerTip.se:before,
+#powerTip.sw:before,
+#powerTip.w:before {
+ border-color: hsla(0, 0%, 50%, 0)
+}
+#powerTip.n:after,
+#powerTip.n:before,
+#powerTip.ne:after,
+#powerTip.ne:before,
+#powerTip.nw:after,
+#powerTip.nw:before {
+ top: 100%
+}
+#powerTip.n:after,
+#powerTip.ne:after,
+#powerTip.nw:after {
+ border-top-color: #fff;
+ border-width: 10px;
+ margin: 0 -10px
+}
+#powerTip.n:before {
+ border-top-color: gray;
+ border-width: 11px;
+ margin: 0 -11px
+}
+#powerTip.n:after,
+#powerTip.n:before {
+ left: 50%
+}
+#powerTip.nw:after,
+#powerTip.nw:before {
+ right: 14px
+}
+#powerTip.ne:after,
+#powerTip.ne:before {
+ left: 14px
+}
+#powerTip.s:after,
+#powerTip.s:before,
+#powerTip.se:after,
+#powerTip.se:before,
+#powerTip.sw:after,
+#powerTip.sw:before {
+ bottom: 100%
+}
+#powerTip.s:after,
+#powerTip.se:after,
+#powerTip.sw:after {
+ border-bottom-color: #fff;
+ border-width: 10px;
+ margin: 0 -10px
+}
+#powerTip.s:before,
+#powerTip.se:before,
+#powerTip.sw:before {
+ border-bottom-color: gray;
+ border-width: 11px;
+ margin: 0 -11px
+}
+#powerTip.s:after,
+#powerTip.s:before {
+ left: 50%
+}
+#powerTip.sw:after,
+#powerTip.sw:before {
+ right: 14px
+}
+#powerTip.se:after,
+#powerTip.se:before {
+ left: 14px
+}
+#powerTip.e:after,
+#powerTip.e:before {
+ left: 100%
+}
+#powerTip.e:after {
+ border-left-color: #fff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px
+}
+#powerTip.e:before {
+ border-left-color: gray;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px
+}
+#powerTip.w:after,
+#powerTip.w:before {
+ right: 100%
+}
+#powerTip.w:after {
+ border-right-color: #fff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px
+}
+#powerTip.w:before {
+ border-right-color: gray;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px
+}
+@media print {
+ #nav-path,
+ #side-nav,
+ #top {
+ display: none
+ }
+ body {
+ overflow: visible
+ }
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6 {
+ page-break-after: avoid
+ }
+ .summary {
+ display: none
+ }
+ .memitem {
+ page-break-inside: avoid
+ }
+ #doc-content {
+ margin-left: 0!important;
+ height: auto!important;
+ width: auto!important;
+ overflow: inherit;
+ display: inline
+ }
+}
+body,
+input {
+ font-family: Open Sans, Helvetica, sans-serif;
+ color: #323d47;
+ background: #ebebeb
+}
+a {
+ color: #4665a2
+}
+#projectname,
+.title,
+h1,
+h2 {
+ font-family: Contax Pro, HelveticaNeue, Helvetica Neue, HelveticaNeueRoman, HelveticaNeue-Roman, Helvetica Neue Roman, Helvetica, Tahoma, Geneva, Arial, sans-serif;
+ font-weight: 900;
+}
+#projectname,
+.title {
+ font-size: 32px
+}
+h1 {
+ font-size: 24px;
+}
+h2 {
+ font-size: 20px;
+}
+hr {
+ border-top: 1px solid #f59cad
+}
+#projectname {
+ padding-left: 20px
+}
+#MSearchField {
+ padding: 0 0 0 .5em;
+ font-size: 1em
+}
+#MSearchSelectWindow {
+ border: 1px solid #f59cad
+}
+a.SelectItem:hover {
+ background: #ebebeb;
+ color: #000
+}
+#MSearchResultsWindow {
+ background: #fbfbfb;
+ border-radius: 3px
+}
+#nav-tree {
+ padding-left: 20px
+}
+#nav-tree .selected {
+ font-weight: 700
+}
+.arrow {
+ color: #d1d3d3
+}
+.item:hover>a>.arrow {
+ color: #aaaeae
+}
+.ui-resizable-e {
+ border-style: solid;
+ border-width: 0 1px;
+ border-color: #dcd9d9
+}
+.ui-resizable-e:before {
+ content: '';
+ display: block;
+ position: absolute;
+ top: 50%;
+ margin-top: -8px;
+ width: 3px;
+ height: 3px;
+ border-style: double;
+ border-width: 6px 0;
+ border-color: #ebebeb;
+ margin-left: 2px
+}
+div.header {
+ background: #ebebeb;
+ border: 0
+}
+h2.groupheader {
+ color: #000;
+ border-bottom: 1px solid #f59cad
+}
+.memSeparator {
+ border-bottom: 1px solid #f8ccd4
+}
+/*# sourceMappingURL=doxygen.css.map*/
+
+div.image img[src="BlocksMonitor.png"] {
+ width: 750px;
+}
+div.image img[src="BlocksDrawing_palette.JPG"] {
+ width: 320px;
+}
+div.image img[src="BlocksDrawing_canvas.JPG"] {
+ width: 320px;
+}
+div.image img[src="BlocksSynth_grid.JPG"] {
+ width: 320px;
+}
+div.image img[src="BlocksSynth_waveshape.gif"] {
+ width: 320px;
+}
--- /dev/null
+juce_audio_basics
+juce_audio_devices
+juce_blocks_basics
+juce_core
+juce_events
--- /dev/null
+# The BLOCKS SDK
+
+Documentation can be found at http://developer.roli.com/documentation/the_standalone_blocks_sdk.html
+
--- /dev/null
+#ifndef JUCEHEADER_INCLUDED\r
+#define JUCEHEADER_INCLUDED\r
+\r
+#ifndef JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED\r
+#define JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED 1\r
+#endif\r
+\r
+#ifndef JUCE_DONT_DECLARE_PROJECTINFO\r
+#define JUCE_DONT_DECLARE_PROJECTINFO 1\r
+#endif\r
+\r
+#include <juce_audio_basics/juce_audio_basics.h>\r
+#include <juce_audio_devices/juce_audio_devices.h>\r
+#include <juce_blocks_basics/juce_blocks_basics.h>\r
+#include <juce_core/juce_core.h>\r
+#include <juce_events/juce_events.h>\r
+\r
+#endif // JUCEHEADER_INCLUDED\r
--- /dev/null
+ifndef AR\r
+ AR := ar\r
+endif\r
+\r
+ifndef CONFIG\r
+ CONFIG := Debug\r
+endif\r
+\r
+TARGET := libBLOCKS-SDK.a\r
+\r
+JUCE_OUTDIR := $(CONFIG)\r
+JUCE_OBJDIR := build/$(CONFIG)\r
+\r
+JUCE_INCLUDES := -I../..\r
+JUCE_SDKDEFINES := -DJUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1 -DJUCE_STANDALONE_APPLICATION=1\r
+JUCE_CXXFLAGS = -std=c++11 $(DEPFLAGS) -march=native -DLINUX=1 $(JUCE_SDKDEFINES) $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread $(JUCE_INCLUDES)\r
+\r
+ifeq ($(CONFIG),Debug)\r
+ JUCE_CXXFLAGS += -DDEBUG=1 -D_DEBUG=1 -g -ggdb -O0\r
+endif\r
+\r
+ifeq ($(CONFIG),Release)\r
+ JUCE_CXXFLAGS += -DNDEBUG=1 -Os\r
+endif\r
+\r
+JUCE_MODULES := juce_audio_basics juce_audio_devices juce_blocks_basics juce_core juce_events\r
+JUCE_SOURCE := $(foreach MODULE_NAME,$(JUCE_MODULES),../../$(MODULE_NAME)/$(MODULE_NAME).cpp)\r
+JUCE_OBJECTS := $(foreach MODULE_NAME,$(JUCE_MODULES),$(JUCE_OBJDIR)/$(MODULE_NAME)/$(MODULE_NAME).o)\r
+\r
+.PHONY: clean\r
+\r
+$(JUCE_OUTDIR)/$(TARGET): check-pkg-config $(JUCE_OBJECTS)\r
+ @mkdir -p $(JUCE_OUTDIR)\r
+ $(AR) -cr $@ $(JUCE_OBJECTS)\r
+\r
+check-pkg-config:\r
+ @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; }\r
+ @pkg-config --print-errors alsa freetype2 libcurl x11 xext xinerama\r
+\r
+clean:\r
+ rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR)\r
+\r
+$(JUCE_OBJDIR)/%.o: ../../%.cpp\r
+ -@mkdir -p $(dir $@)\r
+ $(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ E2F016B31DB93C320054ECA4 /* juce_audio_basics.mm in Sources */ = {isa = PBXBuildFile; fileRef = E2F016B21DB93C320054ECA4 /* juce_audio_basics.mm */; };
+ E2F016B51DB93C3D0054ECA4 /* juce_audio_devices.mm in Sources */ = {isa = PBXBuildFile; fileRef = E2F016B41DB93C3D0054ECA4 /* juce_audio_devices.mm */; };
+ E2F016B71DB93C480054ECA4 /* juce_blocks_basics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E2F016B61DB93C480054ECA4 /* juce_blocks_basics.cpp */; };
+ E2F016B91DB93C540054ECA4 /* juce_core.mm in Sources */ = {isa = PBXBuildFile; fileRef = E2F016B81DB93C540054ECA4 /* juce_core.mm */; };
+ E2F016BB1DB93C5C0054ECA4 /* juce_events.mm in Sources */ = {isa = PBXBuildFile; fileRef = E2F016BA1DB93C5C0054ECA4 /* juce_events.mm */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ E2BD1B8A1DB62B4000C4F301 /* libBLOCKS-SDK.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libBLOCKS-SDK.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ E2F016B21DB93C320054ECA4 /* juce_audio_basics.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_basics.mm; path = ../../juce_audio_basics/juce_audio_basics.mm; sourceTree = "<group>"; };
+ E2F016B41DB93C3D0054ECA4 /* juce_audio_devices.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_devices.mm; path = ../../juce_audio_devices/juce_audio_devices.mm; sourceTree = "<group>"; };
+ E2F016B61DB93C480054ECA4 /* juce_blocks_basics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = juce_blocks_basics.cpp; path = ../../juce_blocks_basics/juce_blocks_basics.cpp; sourceTree = "<group>"; };
+ E2F016B81DB93C540054ECA4 /* juce_core.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_core.mm; path = ../../juce_core/juce_core.mm; sourceTree = "<group>"; };
+ E2F016BA1DB93C5C0054ECA4 /* juce_events.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_events.mm; path = ../../juce_events/juce_events.mm; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ E2BD1B871DB62B4000C4F301 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ E2BD1B811DB62B4000C4F301 = {
+ isa = PBXGroup;
+ children = (
+ E2F016B21DB93C320054ECA4 /* juce_audio_basics.mm */,
+ E2F016B41DB93C3D0054ECA4 /* juce_audio_devices.mm */,
+ E2F016B61DB93C480054ECA4 /* juce_blocks_basics.cpp */,
+ E2F016B81DB93C540054ECA4 /* juce_core.mm */,
+ E2F016BA1DB93C5C0054ECA4 /* juce_events.mm */,
+ E2BD1B8B1DB62B4000C4F301 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ E2BD1B8B1DB62B4000C4F301 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ E2BD1B8A1DB62B4000C4F301 /* libBLOCKS-SDK.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ E2BD1B881DB62B4000C4F301 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ E2BD1B891DB62B4000C4F301 /* BLOCKS-SDK */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = E2BD1B8E1DB62B4000C4F301 /* Build configuration list for PBXNativeTarget "BLOCKS-SDK" */;
+ buildPhases = (
+ E2BD1B861DB62B4000C4F301 /* Sources */,
+ E2BD1B871DB62B4000C4F301 /* Frameworks */,
+ E2BD1B881DB62B4000C4F301 /* Headers */,
+ E2ECDF741DB62D7E006D016F /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "BLOCKS-SDK";
+ productName = "BLOCKS-SDK";
+ productReference = E2BD1B8A1DB62B4000C4F301 /* libBLOCKS-SDK.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ E2BD1B821DB62B4000C4F301 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0800;
+ ORGANIZATIONNAME = "ROLI Ltd.";
+ TargetAttributes = {
+ E2BD1B891DB62B4000C4F301 = {
+ CreatedOnToolsVersion = 8.0;
+ ProvisioningStyle = Automatic;
+ };
+ };
+ };
+ buildConfigurationList = E2BD1B851DB62B4000C4F301 /* Build configuration list for PBXProject "BLOCKS-SDK" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = E2BD1B811DB62B4000C4F301;
+ productRefGroup = E2BD1B8B1DB62B4000C4F301 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ E2BD1B891DB62B4000C4F301 /* BLOCKS-SDK */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ E2ECDF741DB62D7E006D016F /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "mkdir -p ${PROJECT_DIR}/${CONFIGURATION}\ncp ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME} ${PROJECT_DIR}/${CONFIGURATION}";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ E2BD1B861DB62B4000C4F301 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ E2F016B31DB93C320054ECA4 /* juce_audio_basics.mm in Sources */,
+ E2F016B51DB93C3D0054ECA4 /* juce_audio_devices.mm in Sources */,
+ E2F016B71DB93C480054ECA4 /* juce_blocks_basics.cpp in Sources */,
+ E2F016B91DB93C540054ECA4 /* juce_core.mm in Sources */,
+ E2F016BB1DB93C5C0054ECA4 /* juce_events.mm in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ E2BD1B8C1DB62B4000C4F301 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_SUSPICIOUS_MOVES = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ E2BD1B8D1DB62B4000C4F301 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_SUSPICIOUS_MOVES = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ E2BD1B8F1DB62B4000C4F301 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = NO;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
+ EXECUTABLE_PREFIX = lib;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1",
+ "JUCE_STANDALONE_APPLICATION=1",
+ "DEBUG=1",
+ );
+ GCC_WARN_UNDECLARED_SELECTOR = NO;
+ HEADER_SEARCH_PATHS = ../..;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ E2BD1B901DB62B4000C4F301 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = NO;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
+ EXECUTABLE_PREFIX = lib;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1",
+ "JUCE_STANDALONE_APPLICATION=1",
+ "NDEBUG=1",
+ );
+ GCC_WARN_UNDECLARED_SELECTOR = NO;
+ HEADER_SEARCH_PATHS = ../..;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ E2BD1B851DB62B4000C4F301 /* Build configuration list for PBXProject "BLOCKS-SDK" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ E2BD1B8C1DB62B4000C4F301 /* Debug */,
+ E2BD1B8D1DB62B4000C4F301 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ E2BD1B8E1DB62B4000C4F301 /* Build configuration list for PBXNativeTarget "BLOCKS-SDK" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ E2BD1B8F1DB62B4000C4F301 /* Debug */,
+ E2BD1B901DB62B4000C4F301 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = E2BD1B821DB62B4000C4F301 /* Project object */;
+}
--- /dev/null
+\r
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio 14\r
+VisualStudioVersion = 14.0.25420.1\r
+MinimumVisualStudioVersion = 10.0.40219.1\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BLOCKS-SDK", "BLOCKS-SDK.vcxproj", "{6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|x64 = Debug|x64\r
+ Debug|x86 = Debug|x86\r
+ Release|x64 = Release|x64\r
+ Release|x86 = Release|x86\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}.Debug|x64.ActiveCfg = Debug|x64\r
+ {6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}.Debug|x64.Build.0 = Debug|x64\r
+ {6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}.Debug|x86.ActiveCfg = Debug|Win32\r
+ {6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}.Debug|x86.Build.0 = Debug|Win32\r
+ {6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}.Release|x64.ActiveCfg = Release|x64\r
+ {6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}.Release|x64.Build.0 = Release|x64\r
+ {6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}.Release|x86.ActiveCfg = Release|Win32\r
+ {6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}.Release|x86.Build.0 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|x64">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|x64">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\..\BlocksHeader.h" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\..\juce_audio_basics\juce_audio_basics.cpp" />\r
+ <ClCompile Include="..\..\juce_audio_devices\juce_audio_devices.cpp" />\r
+ <ClCompile Include="..\..\juce_blocks_basics\juce_blocks_basics.cpp" />\r
+ <ClCompile Include="..\..\juce_core\juce_core.cpp" />\r
+ <ClCompile Include="..\..\juce_events\juce_events.cpp" />\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{6EE7FF54-2573-4A5F-BF4A-9654DC2C580B}</ProjectGuid>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <RootNamespace>BLOCKSSDK</RootNamespace>\r
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <UseDebugLibraries>true</UseDebugLibraries>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <UseDebugLibraries>false</UseDebugLibraries>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <UseDebugLibraries>true</UseDebugLibraries>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+ <ConfigurationType>StaticLibrary</ConfigurationType>\r
+ <UseDebugLibraries>false</UseDebugLibraries>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Label="Shared">\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup />\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <ClCompile>\r
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <Optimization>Disabled</Optimization>\r
+ <PreprocessorDefinitions>JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..</AdditionalIncludeDirectories>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <ClCompile>\r
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <Optimization>Disabled</Optimization>\r
+ <PreprocessorDefinitions>JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..</AdditionalIncludeDirectories>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ </Link>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <ClCompile>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <FunctionLevelLinking>true</FunctionLevelLinking>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <PreprocessorDefinitions>JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..</AdditionalIncludeDirectories>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <ClCompile>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <FunctionLevelLinking>true</FunctionLevelLinking>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <PreprocessorDefinitions>JUCE_GLOBAL_MODULE_SETTINGS_INCLUDED=1;JUCE_STANDALONE_APPLICATION=1;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..</AdditionalIncludeDirectories>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ </Link>\r
+ <PostBuildEvent>\r
+ <Command>\r
+ </Command>\r
+ </PostBuildEvent>\r
+ </ItemDefinitionGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+import os
+import shutil
+
+script_dir = os.path.dirname(os.path.realpath(__file__))
+
+# Get the list of JUCE modules to include.
+juce_modules = []
+with open(os.path.join(script_dir, "..", "juce_modules.txt"), "r") as f:
+ for line in f:
+ juce_modules.append(line.strip())
+
+# Make sure we are starting afresh.
+out_directory = "BLOCKS-SDK"
+try:
+ shutil.rmtree(out_directory)
+except OSError as e:
+ if e.errno != 2:
+ # An errno of 2 indicates that the directory does not exist, which is
+ # fine!
+ raise e
+
+# Copy the required modules into the SDK dir.
+sdk_dir = os.path.join(out_directory, "SDK")
+shutil.copytree(os.path.join(script_dir, "SDK"), sdk_dir)
+for module_name in juce_modules:
+ shutil.copytree(os.path.join(script_dir, "..", "..", "..", "modules",
+ module_name),
+ os.path.join(sdk_dir, module_name))
+
+# Copy the examples.
+shutil.copytree(os.path.join(script_dir, "examples"),
+ os.path.join(out_directory, "examples"))
+
+# Copy the README.
+shutil.copyfile(os.path.join(script_dir, "README.md"),
+ os.path.join(out_directory, "README.md"))
--- /dev/null
+#include "BlockFinder.h"\r
+\r
+using namespace juce;\r
+\r
+BlockFinder::BlockFinder()\r
+{\r
+ // Register to receive topologyChanged() callbacks from pts.\r
+ pts.addListener (this);\r
+}\r
+\r
+void BlockFinder::topologyChanged()\r
+{\r
+ // We have a new topology, so find out what it isand store it in a local\r
+ // variable.\r
+ BlockTopology currentTopology = pts.getCurrentTopology();\r
+ Logger::writeToLog ("\nNew BLOCKS topology.");\r
+\r
+ // The blocks member of a BlockTopology contains an array of blocks. Here we\r
+ // loop over them and print some information.\r
+ Logger::writeToLog (String ("Detected ") + String (currentTopology.blocks.size()) + " blocks:");\r
+ for (auto& block : currentTopology.blocks)\r
+ {\r
+ Logger::writeToLog ("");\r
+ Logger::writeToLog (String(" Description: ") + block->getDeviceDescription());\r
+ Logger::writeToLog (String(" Battery level: ") + String (block->getBatteryLevel()));\r
+ Logger::writeToLog (String(" UID: ") + String (block->uid));\r
+ Logger::writeToLog (String(" Serial number: ") + block->serialNumber);\r
+ }\r
+}\r
--- /dev/null
+#ifndef BLOCKFINDER_INCLUDED\r
+#define BLOCKFINDER_INCLUDED\r
+\r
+#include <BlocksHeader.h>\r
+\r
+// Monitors a PhysicalTopologySource for changes to the connected BLOCKS and\r
+// prints some information about the BLOCKS that are available.\r
+class BlockFinder : private juce::TopologySource::Listener\r
+{\r
+public:\r
+ // Register as a listener to the PhysicalTopologySource, so that we receive\r
+ // callbacks in topologyChanged().\r
+ BlockFinder();\r
+\r
+private:\r
+ // Called by the PhysicalTopologySource when the BLOCKS topology changes.\r
+ void topologyChanged() override;\r
+\r
+ // The PhysicalTopologySource member variable which reports BLOCKS changes.\r
+ juce::PhysicalTopologySource pts;\r
+};\r
+\r
+#endif // BLOCKFINDER_INCLUDED\r
--- /dev/null
+ifeq ($(shell uname),Darwin)
+ PLATFORM = MacOS
+else
+ PLATFORM = Linux
+endif
+
+# C++ compiler.
+CXX := g++ -std=c++11
+
+# Build configuration (Debug or Release).
+ifndef CONFIG
+ CONFIG := Debug
+endif
+ifeq ($(CONFIG),Debug)
+ CXXFLAGS += -O0 -g -DDEBUG=1 -D_DEBUG=1
+else
+ CXXFLAGS += -O3 -DNDEBUG
+endif
+
+# The name of your application.
+APP_NAME := BlockFinder
+
+# The path to the modules directory in the BLOCKS SDK directory.
+SDK_PATH := ../../../SDK
+
+# The path to temporary build files.
+OBJECT_DIR := build/$(CONFIG)
+
+# The path to the compiled BLOCKSSDK library.
+BLOCKS_LIBRARY := $(SDK_PATH)/Build/$(PLATFORM)/$(CONFIG)/libBLOCKS-SDK.a
+
+# The source code for this application.
+SOURCE_FILES := $(wildcard ../*.cpp) $(foreach EXT,.cpp .mm,$(wildcard *$(EXT)))
+
+# Make a list of object files from .cpp files.
+SOURCE_OBJ := $(addprefix $(OBJECT_DIR)/,$(notdir $(addsuffix .o,$(basename $(SOURCE_FILES)))))
+
+# Header include paths (prefix with -I).
+INCLUDES := -I$(SDK_PATH)
+
+# Frameworks and libraries.
+ifeq ($(PLATFORM),MacOS)
+ LIBS := -framework Accelerate -framework AudioToolbox -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreMIDI -framework IOKit -framework OpenGL -framework QuartzCore
+else
+ LIBS := -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa libcurl x11) -ldl -lpthread -lrt
+ CXXFLAGS += -DLINUX=1
+endif
+
+##############################################################################
+# Build rules #
+##############################################################################
+
+.PHONEY: clean
+
+$(CONFIG)/$(APP_NAME): $(SOURCE_OBJ) $(BLOCKS_LIBRARY)
+ @mkdir -p $(dir $@)
+ $(CXX) $^ -o $@ $(LIBS)
+
+$(OBJECT_DIR)/%.o: ../%.cpp
+ @mkdir -p $(dir $@)
+ $(CXX) $(CXXFLAGS) $(INCLUDES) -o $@ -c $<
+
+$(OBJECT_DIR)/%.o: %.cpp
+ @mkdir -p $(dir $@)
+ $(CXX) $(CXXFLAGS) $(INCLUDES) -o $@ -c $<
+
+$(OBJECT_DIR)/%.o: %.mm
+ @mkdir -p $(dir $@)
+ $(CXX) $(CXXFLAGS) $(INCLUDES) -o $@ -c $<
+
+clean:
+ rm -rf $(CONFIG) $(OBJECT_DIR)
--- /dev/null
+#include "../BlockFinder.h"\r
+\r
+// A simple JUCE app containing our BlockFinder. This is a quick way of\r
+// setting up an event loop so we can receive Block topology change events.\r
+class MyJUCEApp : public juce::JUCEApplicationBase\r
+{\r
+public:\r
+ MyJUCEApp() {}\r
+ ~MyJUCEApp() {}\r
+ void initialise (const juce::String&) override {}\r
+ void shutdown() override {}\r
+ const juce::String getApplicationName() override { return "BlockFinder"; }\r
+ const juce::String getApplicationVersion() override { return "1.0.0"; }\r
+ bool moreThanOneInstanceAllowed() override { return true; }\r
+ void anotherInstanceStarted (const juce::String&) override {}\r
+ void suspended() override {}\r
+ void resumed() override {}\r
+ void systemRequestedQuit() override {}\r
+ void unhandledException(const std::exception*, const juce::String&,\r
+ int lineNumber) override {}\r
+\r
+private:\r
+\r
+ // Our BLOCKS class.\r
+ BlockFinder finder;\r
+};\r
+\r
+START_JUCE_APPLICATION (MyJUCEApp)\r
--- /dev/null
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ E232CCB11DB8CCEA00276BB3 /* BlockFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E232CCAF1DB8CCEA00276BB3 /* BlockFinder.cpp */; };
+ E242E7661DB77E9D0022D78D /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = E242E7651DB77E9D0022D78D /* main.mm */; };
+ E2E162A21DBA6DF60049A6D5 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2ECDFC41DB6864E006D016F /* Cocoa.framework */; };
+ E2E162A41DBA6F160049A6D5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2ECDFC21DB6864E006D016F /* AudioToolbox.framework */; };
+ E2ECDFC01DB685D2006D016F /* libBLOCKS-SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = E2ECDFBF1DB685D2006D016F /* libBLOCKS-SDK.a */; };
+ E2ECDFCA1DB6864E006D016F /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2ECDFC11DB6864E006D016F /* Accelerate.framework */; };
+ E2ECDFCE1DB6864E006D016F /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2ECDFC51DB6864E006D016F /* CoreAudio.framework */; };
+ E2ECDFCF1DB6864E006D016F /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E2ECDFC61DB6864E006D016F /* CoreMIDI.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ E2ECDFB01DB684F9006D016F /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = /usr/share/man/man1/;
+ dstSubfolderSpec = 0;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 1;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ E232CCAF1DB8CCEA00276BB3 /* BlockFinder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BlockFinder.cpp; path = ../BlockFinder.cpp; sourceTree = "<group>"; };
+ E232CCB01DB8CCEA00276BB3 /* BlockFinder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BlockFinder.h; path = ../BlockFinder.h; sourceTree = "<group>"; };
+ E242E7651DB77E9D0022D78D /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
+ E2ECDFB21DB684F9006D016F /* BlockFinder */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = BlockFinder; sourceTree = BUILT_PRODUCTS_DIR; };
+ E2ECDFBF1DB685D2006D016F /* libBLOCKS-SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libBLOCKS-SDK.a"; path = "../../../../SDK/Build/MacOS/Debug/libBLOCKS-SDK.a"; sourceTree = "<group>"; };
+ E2ECDFC11DB6864E006D016F /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ E2ECDFC21DB6864E006D016F /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ E2ECDFC31DB6864E006D016F /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
+ E2ECDFC41DB6864E006D016F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
+ E2ECDFC51DB6864E006D016F /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
+ E2ECDFC61DB6864E006D016F /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
+ E2ECDFC71DB6864E006D016F /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
+ E2ECDFC81DB6864E006D016F /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ E2ECDFC91DB6864E006D016F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ E2ECDFAF1DB684F9006D016F /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ E2E162A41DBA6F160049A6D5 /* AudioToolbox.framework in Frameworks */,
+ E2E162A21DBA6DF60049A6D5 /* Cocoa.framework in Frameworks */,
+ E2ECDFCA1DB6864E006D016F /* Accelerate.framework in Frameworks */,
+ E2ECDFCE1DB6864E006D016F /* CoreAudio.framework in Frameworks */,
+ E2ECDFCF1DB6864E006D016F /* CoreMIDI.framework in Frameworks */,
+ E2ECDFC01DB685D2006D016F /* libBLOCKS-SDK.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ E2ECDFA91DB684F9006D016F = {
+ isa = PBXGroup;
+ children = (
+ E232CCAF1DB8CCEA00276BB3 /* BlockFinder.cpp */,
+ E232CCB01DB8CCEA00276BB3 /* BlockFinder.h */,
+ E242E7651DB77E9D0022D78D /* main.mm */,
+ E2ECDFB31DB684F9006D016F /* Products */,
+ E2ECDFBE1DB685D2006D016F /* Frameworks */,
+ );
+ sourceTree = "<group>";
+ };
+ E2ECDFB31DB684F9006D016F /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ E2ECDFB21DB684F9006D016F /* BlockFinder */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ E2ECDFBE1DB685D2006D016F /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ E2ECDFC11DB6864E006D016F /* Accelerate.framework */,
+ E2ECDFC21DB6864E006D016F /* AudioToolbox.framework */,
+ E2ECDFC31DB6864E006D016F /* Carbon.framework */,
+ E2ECDFC41DB6864E006D016F /* Cocoa.framework */,
+ E2ECDFC51DB6864E006D016F /* CoreAudio.framework */,
+ E2ECDFC61DB6864E006D016F /* CoreMIDI.framework */,
+ E2ECDFC71DB6864E006D016F /* IOKit.framework */,
+ E2ECDFC81DB6864E006D016F /* OpenGL.framework */,
+ E2ECDFC91DB6864E006D016F /* QuartzCore.framework */,
+ E2ECDFBF1DB685D2006D016F /* libBLOCKS-SDK.a */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ E2ECDFB11DB684F9006D016F /* BlockFinder */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = E2ECDFB91DB684F9006D016F /* Build configuration list for PBXNativeTarget "BlockFinder" */;
+ buildPhases = (
+ E2ECDFAE1DB684F9006D016F /* Sources */,
+ E2ECDFAF1DB684F9006D016F /* Frameworks */,
+ E2ECDFB01DB684F9006D016F /* CopyFiles */,
+ E2ECDFD31DB6872A006D016F /* ShellScript */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = BlockFinder;
+ productName = BlocksMonitor;
+ productReference = E2ECDFB21DB684F9006D016F /* BlockFinder */;
+ productType = "com.apple.product-type.tool";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ E2ECDFAA1DB684F9006D016F /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0800;
+ ORGANIZATIONNAME = "ROLI Ltd.";
+ TargetAttributes = {
+ E2ECDFB11DB684F9006D016F = {
+ CreatedOnToolsVersion = 8.0;
+ ProvisioningStyle = Automatic;
+ };
+ };
+ };
+ buildConfigurationList = E2ECDFAD1DB684F9006D016F /* Build configuration list for PBXProject "BlockFinder" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = E2ECDFA91DB684F9006D016F;
+ productRefGroup = E2ECDFB31DB684F9006D016F /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ E2ECDFB11DB684F9006D016F /* BlockFinder */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ E2ECDFD31DB6872A006D016F /* ShellScript */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "mkdir -p ${PROJECT_DIR}/${CONFIGURATION}\ncp ${BUILT_PRODUCTS_DIR}/${EXECUTABLE_NAME} ${PROJECT_DIR}/${CONFIGURATION}";
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ E2ECDFAE1DB684F9006D016F /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ E242E7661DB77E9D0022D78D /* main.mm in Sources */,
+ E232CCB11DB8CCEA00276BB3 /* BlockFinder.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ E2ECDFB71DB684F9006D016F /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_SUSPICIOUS_MOVES = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ E2ECDFB81DB684F9006D016F /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_SUSPICIOUS_MOVES = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGN_IDENTITY = "-";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ E2ECDFBA1DB684F9006D016F /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
+ HEADER_SEARCH_PATHS = ../../../SDK;
+ LIBRARY_SEARCH_PATHS = "../../../SDK/Build/MacOS/${CONFIGURATION}";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ E2ECDFBB1DB684F9006D016F /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_WARN_DOCUMENTATION_COMMENTS = NO;
+ GCC_PREPROCESSOR_DEFINITIONS = "NDEBUG=1";
+ HEADER_SEARCH_PATHS = ../../../SDK;
+ LIBRARY_SEARCH_PATHS = "../../../SDK/Build/MacOS/${CONFIGURATION}";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ E2ECDFAD1DB684F9006D016F /* Build configuration list for PBXProject "BlockFinder" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ E2ECDFB71DB684F9006D016F /* Debug */,
+ E2ECDFB81DB684F9006D016F /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ E2ECDFB91DB684F9006D016F /* Build configuration list for PBXNativeTarget "BlockFinder" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ E2ECDFBA1DB684F9006D016F /* Debug */,
+ E2ECDFBB1DB684F9006D016F /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = E2ECDFAA1DB684F9006D016F /* Project object */;
+}
--- /dev/null
+ifeq ($(shell uname),Darwin)
+ PLATFORM = MacOS
+else
+ PLATFORM = Linux
+endif
+
+# C++ compiler.
+CXX := g++ -std=c++11
+
+# Build configuration (Debug or Release).
+ifndef CONFIG
+ CONFIG := Debug
+endif
+ifeq ($(CONFIG),Debug)
+ CXXFLAGS += -O0 -g -DDEBUG=1 -D_DEBUG=1
+else
+ CXXFLAGS += -O3 -DNDEBUG
+endif
+
+# The name of your application.
+APP_NAME := BlockFinder
+
+# The path to the modules directory in the BLOCKS SDK directory.
+SDK_PATH := ../../../SDK
+
+# The path to temporary build files.
+OBJECT_DIR := build/$(CONFIG)
+
+# The path to the compiled BLOCKSSDK library.
+BLOCKS_LIBRARY := $(SDK_PATH)/Build/$(PLATFORM)/$(CONFIG)/libBLOCKS-SDK.a
+
+# The source code for this application.
+SOURCE_FILES := $(wildcard ../*.cpp) $(foreach EXT,.cpp .mm,$(wildcard *$(EXT)))
+
+# Make a list of object files from .cpp files.
+SOURCE_OBJ := $(addprefix $(OBJECT_DIR)/,$(notdir $(addsuffix .o,$(basename $(SOURCE_FILES)))))
+
+# Header include paths (prefix with -I).
+INCLUDES := -I$(SDK_PATH)
+
+# Frameworks and libraries.
+ifeq ($(PLATFORM),MacOS)
+ LIBS := -framework Accelerate -framework AudioToolbox -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreMIDI -framework IOKit -framework OpenGL -framework QuartzCore
+else
+ LIBS := -L/usr/X11R6/lib/ $(shell pkg-config --libs alsa freetype2 libcurl x11 xext xinerama) -lGL -ldl -lpthread -lrt
+ CXXFLAGS += -DLINUX=1
+endif
+
+##############################################################################
+# Build rules #
+##############################################################################
+
+.PHONEY: clean
+
+$(CONFIG)/$(APP_NAME): $(SOURCE_OBJ) $(BLOCKS_LIBRARY)
+ @mkdir -p $(dir $@)
+ $(CXX) $^ -o $@ $(LIBS)
+
+$(OBJECT_DIR)/%.o: ../%.cpp
+ @mkdir -p $(dir $@)
+ $(CXX) $(CXXFLAGS) $(INCLUDES) -o $@ -c $<
+
+$(OBJECT_DIR)/%.o: %.cpp
+ @mkdir -p $(dir $@)
+ $(CXX) $(CXXFLAGS) $(INCLUDES) -o $@ -c $<
+
+$(OBJECT_DIR)/%.o: %.mm
+ @mkdir -p $(dir $@)
+ $(CXX) $(CXXFLAGS) $(INCLUDES) -o $@ -c $<
+
+clean:
+ rm -rf $(CONFIG) $(OBJECT_DIR)
--- /dev/null
+#include "../BlockFinder.h"\r
+\r
+#import <Cocoa/Cocoa.h>\r
+\r
+int main (int argc, const char * argv[])\r
+{\r
+ // Initialise the JUCE code.\r
+ juce::ScopedJuceInitialiser_GUI platform;\r
+\r
+ // Create our JUCE object.\r
+ BlockFinder finder;\r
+\r
+ // Run an event loop.\r
+ while ([[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]);\r
+\r
+ return 0;\r
+}\r
--- /dev/null
+\r
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio 14\r
+VisualStudioVersion = 14.0.25420.1\r
+MinimumVisualStudioVersion = 10.0.40219.1\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BlockFinder", "BlockFinder.vcxproj", "{881F9AC3-2B1A-4867-92AF-125332B5A87A}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|x64 = Debug|x64\r
+ Debug|x86 = Debug|x86\r
+ Release|x64 = Release|x64\r
+ Release|x86 = Release|x86\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {881F9AC3-2B1A-4867-92AF-125332B5A87A}.Debug|x64.ActiveCfg = Debug|x64\r
+ {881F9AC3-2B1A-4867-92AF-125332B5A87A}.Debug|x64.Build.0 = Debug|x64\r
+ {881F9AC3-2B1A-4867-92AF-125332B5A87A}.Debug|x86.ActiveCfg = Debug|Win32\r
+ {881F9AC3-2B1A-4867-92AF-125332B5A87A}.Debug|x86.Build.0 = Debug|Win32\r
+ {881F9AC3-2B1A-4867-92AF-125332B5A87A}.Release|x64.ActiveCfg = Release|x64\r
+ {881F9AC3-2B1A-4867-92AF-125332B5A87A}.Release|x64.Build.0 = Release|x64\r
+ {881F9AC3-2B1A-4867-92AF-125332B5A87A}.Release|x86.ActiveCfg = Release|Win32\r
+ {881F9AC3-2B1A-4867-92AF-125332B5A87A}.Release|x86.Build.0 = Release|Win32\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+EndGlobal\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+ <ItemGroup Label="ProjectConfigurations">\r
+ <ProjectConfiguration Include="Debug|Win32">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|Win32">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>Win32</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Debug|x64">\r
+ <Configuration>Debug</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ <ProjectConfiguration Include="Release|x64">\r
+ <Configuration>Release</Configuration>\r
+ <Platform>x64</Platform>\r
+ </ProjectConfiguration>\r
+ </ItemGroup>\r
+ <PropertyGroup Label="Globals">\r
+ <ProjectGuid>{881F9AC3-2B1A-4867-92AF-125332B5A87A}</ProjectGuid>\r
+ <Keyword>Win32Proj</Keyword>\r
+ <RootNamespace>BlockFinder</RootNamespace>\r
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseDebugLibraries>true</UseDebugLibraries>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseDebugLibraries>false</UseDebugLibraries>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseDebugLibraries>true</UseDebugLibraries>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+ <ConfigurationType>Application</ConfigurationType>\r
+ <UseDebugLibraries>false</UseDebugLibraries>\r
+ <PlatformToolset>v140</PlatformToolset>\r
+ <WholeProgramOptimization>true</WholeProgramOptimization>\r
+ <CharacterSet>Unicode</CharacterSet>\r
+ </PropertyGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+ <ImportGroup Label="ExtensionSettings">\r
+ </ImportGroup>\r
+ <ImportGroup Label="Shared">\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+ </ImportGroup>\r
+ <PropertyGroup Label="UserMacros" />\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <LinkIncremental>true</LinkIncremental>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <LinkIncremental>true</LinkIncremental>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <LinkIncremental>false</LinkIncremental>\r
+ </PropertyGroup>\r
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <LinkIncremental>false</LinkIncremental>\r
+ </PropertyGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+ <ClCompile>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <Optimization>Disabled</Optimization>\r
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\..\SDK</AdditionalIncludeDirectories>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <AdditionalDependencies>BLOCKS-SDK.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalLibraryDirectories>..\..\..\SDK\Build\Windows\$(Configuration)</AdditionalLibraryDirectories>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+ <ClCompile>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <Optimization>Disabled</Optimization>\r
+ <PreprocessorDefinitions>_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\..\SDK</AdditionalIncludeDirectories>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <AdditionalDependencies>BLOCKS-SDK.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalLibraryDirectories>..\..\..\SDK\Build\Windows\x64\$(Configuration)</AdditionalLibraryDirectories>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+ <ClCompile>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <FunctionLevelLinking>true</FunctionLevelLinking>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\..\SDK</AdditionalIncludeDirectories>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <AdditionalDependencies>BLOCKS-SDK.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalLibraryDirectories>..\..\..\SDK\Build\Windows\$(Configuration)</AdditionalLibraryDirectories>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+ <ClCompile>\r
+ <WarningLevel>Level3</WarningLevel>\r
+ <PrecompiledHeader>\r
+ </PrecompiledHeader>\r
+ <Optimization>MaxSpeed</Optimization>\r
+ <FunctionLevelLinking>true</FunctionLevelLinking>\r
+ <IntrinsicFunctions>true</IntrinsicFunctions>\r
+ <PreprocessorDefinitions>NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <AdditionalIncludeDirectories>..\..\..\SDK</AdditionalIncludeDirectories>\r
+ </ClCompile>\r
+ <Link>\r
+ <SubSystem>Windows</SubSystem>\r
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+ <OptimizeReferences>true</OptimizeReferences>\r
+ <GenerateDebugInformation>true</GenerateDebugInformation>\r
+ <AdditionalDependencies>BLOCKS-SDK.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalLibraryDirectories>..\..\..\SDK\Build\Windows\x64\$(Configuration)</AdditionalLibraryDirectories>\r
+ </Link>\r
+ </ItemDefinitionGroup>\r
+ <ItemGroup>\r
+ <ClCompile Include="..\BlockFinder.cpp" />\r
+ <ClCompile Include="main.cpp" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <ClInclude Include="..\BlockFinder.h" />\r
+ </ItemGroup>\r
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+ <ImportGroup Label="ExtensionTargets">\r
+ </ImportGroup>\r
+</Project>
\ No newline at end of file
--- /dev/null
+#include "../BlockFinder.h"\r
+\r
+// A simple JUCE app containing our BlockFinder. This is a quick way of\r
+// setting up an event loop so we can receive Block topology change events.\r
+class MyJUCEApp : public juce::JUCEApplicationBase\r
+{\r
+public:\r
+ MyJUCEApp() {}\r
+ ~MyJUCEApp() {}\r
+ void initialise (const juce::String&) override {}\r
+ void shutdown() override {}\r
+ const juce::String getApplicationName() override { return "BlockFinder"; }\r
+ const juce::String getApplicationVersion() override { return "1.0.0"; }\r
+ bool moreThanOneInstanceAllowed() override { return true; }\r
+ void anotherInstanceStarted (const juce::String&) override {}\r
+ void suspended() override {}\r
+ void resumed() override {}\r
+ void systemRequestedQuit() override {}\r
+ void unhandledException(const std::exception*, const juce::String&,\r
+ int lineNumber) override {}\r
+\r
+private:\r
+\r
+ // Our BLOCKS class.\r
+ BlockFinder finder;\r
+};\r
+\r
+START_JUCE_APPLICATION (MyJUCEApp)\r
TARGET_ARCH := -march=native\r
endif\r
\r
- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=4.2.4 -DJUCE_APP_VERSION_HEX=0x40204 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules\r
+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=4.3.0 -DJUCE_APP_VERSION_HEX=0x40300 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules\r
JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 -std=c++11\r
JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11\r
JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt \r
TARGET_ARCH := -march=native\r
endif\r
\r
- JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=4.2.4 -DJUCE_APP_VERSION_HEX=0x40204 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules\r
+ JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_6D53C8B4=1 -DJUCE_APP_VERSION=4.3.0 -DJUCE_APP_VERSION_HEX=0x40300 $(shell pkg-config --cflags freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../../../modules\r
JUCE_CFLAGS += $(CFLAGS) $(JUCE_CPPFLAGS) $(TARGET_ARCH) -O3 -std=c++11\r
JUCE_CXXFLAGS += $(CXXFLAGS) $(JUCE_CFLAGS) -std=c++11\r
JUCE_LDFLAGS += $(LDFLAGS) $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) -fvisibility=hidden $(shell pkg-config --libs freetype2 libcurl x11 xext xinerama) -ldl -lpthread -lrt \r
$(JUCE_OBJDIR)/jucer_AutoUpdater_ca658dc2.o \\r
$(JUCE_OBJDIR)/jucer_CommandLine_f35de107.o \\r
$(JUCE_OBJDIR)/jucer_DocumentEditorComponent_695dff1d.o \\r
+ $(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_8a38703f.o \\r
$(JUCE_OBJDIR)/jucer_GlobalPreferences_b0f1bd3d.o \\r
$(JUCE_OBJDIR)/jucer_Main_f8488f5b.o \\r
$(JUCE_OBJDIR)/jucer_MainWindow_1e163aeb.o \\r
@echo "Compiling jucer_DocumentEditorComponent.cpp"\r
@$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
\r
+$(JUCE_OBJDIR)/jucer_DownloadCompileEngineThread_8a38703f.o: ../../Source/Application/jucer_DownloadCompileEngineThread.cpp\r
+ -@mkdir -p $(JUCE_OBJDIR)\r
+ @echo "Compiling jucer_DownloadCompileEngineThread.cpp"\r
+ @$(CXX) $(JUCE_CXXFLAGS) -o "$@" -c "$<"\r
+\r
$(JUCE_OBJDIR)/jucer_GlobalPreferences_b0f1bd3d.o: ../../Source/Application/jucer_GlobalPreferences.cpp\r
-@mkdir -p $(JUCE_OBJDIR)\r
@echo "Compiling jucer_GlobalPreferences.cpp"\r
<key>CFBundleSignature</key>\r
<string>????</string>\r
<key>CFBundleShortVersionString</key>\r
- <string>4.2.4</string>\r
+ <string>4.3.0</string>\r
<key>CFBundleVersion</key>\r
- <string>4.2.4</string>\r
+ <string>4.3.0</string>\r
<key>NSHumanReadableCopyright</key>\r
<string></string>\r
<key>NSHighResolutionCapable</key>\r
6DD9DA1677A6CF789CDAB478 = {isa = PBXBuildFile; fileRef = 0D4D508C638BC74943B9976D; };
954A036F5DDB375DB23FFB3E = {isa = PBXBuildFile; fileRef = 0400CB0E056A1D840304D2DE; };
3EB3D569250C4BA4CA9AF578 = {isa = PBXBuildFile; fileRef = C7608A3967D9AB9481848F2B; };
+ 636D21BF846031A6A1A7476A = {isa = PBXBuildFile; fileRef = 11EB44786085029106099D01; };
3C3B0ED6C43FDA3AF76DEE2E = {isa = PBXBuildFile; fileRef = 84DE44680C9D37CDDCD127FF; };
95B44E6C74B1DED31DBE37EB = {isa = PBXBuildFile; fileRef = 8C52A3DDA62A746AA7A68535; };
AA9D0B8E23F3D87A23DE9F8A = {isa = PBXBuildFile; fileRef = 9069981E414A631B036CC9AC; };
09697D1C3F7B90DD33A8090E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; };
09DE066936CF037E9709ADB1 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Projucer.app; sourceTree = "BUILT_PRODUCTS_DIR"; };
0A596EE5FCD9A05F6A2333BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdmainct.c"; sourceTree = "SOURCE_ROOT"; };
+ 0B24F292A357ABFD9BCC6D7F = {isa = PBXFileReference; lastKnownFileType = file; name = gradlew; path = ../../Source/BinaryData/gradle/gradlew; sourceTree = "SOURCE_ROOT"; };
0B96A219A0CFF707E5A13B68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
0BDFA0E402BA7E6B366E953C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; };
0BEDB3FD70AB61D3E7891D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; };
11BB370E0CBA3B3548B1DDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngtrans.c"; sourceTree = "SOURCE_ROOT"; };
11C55B714FE5D7CAFC35A0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; };
11DC04468BC6023671017EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_NewFileWizard.h"; path = "../../Source/Wizards/jucer_NewFileWizard.h"; sourceTree = "SOURCE_ROOT"; };
+ 11EB44786085029106099D01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_DownloadCompileEngineThread.cpp"; path = "../../Source/Application/jucer_DownloadCompileEngineThread.cpp"; sourceTree = "SOURCE_ROOT"; };
1241F3A1FCDF100CD75D5E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; };
125CD8A5E5B57840F5154ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; };
1268E54178897254E9A8B94C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
129CDB26CC63D4BC2EB1F2CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 129F2DE0FEF154F8F8C7A74E = {isa = PBXFileReference; lastKnownFileType = file.jar; name = "gradle-wrapper.jar"; path = "../../Source/BinaryData/gradle/gradle-wrapper.jar"; sourceTree = "SOURCE_ROOT"; };
1300F6577D67C5609550A25F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DialogLookAndFeel.h"; path = "../../Source/Utility/jucer_DialogLookAndFeel.h"; sourceTree = "SOURCE_ROOT"; };
133F1E428260C5ADDF496DF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_ComponentLayout.cpp"; path = "../../Source/ComponentEditor/jucer_ComponentLayout.cpp"; sourceTree = "SOURCE_ROOT"; };
1353717582E55D6E4D074BA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; };
56E8C48ADDEBD48A49C885CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; };
5708CF7899EA21D0B72CDC2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; };
5745ECDAA4216EE2AF97E5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; };
+ 576A92E1E0D8F453EC0FEB34 = {isa = PBXFileReference; lastKnownFileType = file.bat; name = gradlew.bat; path = ../../Source/BinaryData/gradle/gradlew.bat; sourceTree = "SOURCE_ROOT"; };
576D62C0C9C1BA4B7A514721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_PositionPropertyBase.h"; path = "../../Source/ComponentEditor/properties/jucer_PositionPropertyBase.h"; sourceTree = "SOURCE_ROOT"; };
578AA1C9D44D2E3AEA5D0278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; };
58139D8D454051C59E77609B = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = ../../Source/BinaryData/RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
98F42686D9DAC974F2514217 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "jucer_EditingPanelBase.cpp"; path = "../../Source/ComponentEditor/ui/jucer_EditingPanelBase.cpp"; sourceTree = "SOURCE_ROOT"; };
990F2A6080B28137CCE2D7B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; };
99557681178F79E2A803C65C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 996E472B82A75531875A5E38 = {isa = PBXFileReference; lastKnownFileType = file; name = LICENSE; path = ../../Source/BinaryData/gradle/LICENSE; sourceTree = "SOURCE_ROOT"; };
9992E6950C64322A11E39ADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ProjectWizard_DLL.h"; path = "../../Source/Wizards/jucer_ProjectWizard_DLL.h"; sourceTree = "SOURCE_ROOT"; };
999BC36BBD71BD4117EFDFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; };
99A9C369D8595E72707E866C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; };
B67F3F40C568E6A0A85B13D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcphuff.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jcphuff.c"; sourceTree = "SOURCE_ROOT"; };
B6C40E843F7E8E7C4768B99E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
B6D03F8491E288FD4BC31445 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; };
+ B7307A82D9EB1EDBA91EE43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_DownloadCompileEngineThread.h"; path = "../../Source/Application/jucer_DownloadCompileEngineThread.h"; sourceTree = "SOURCE_ROOT"; };
B741170E45D74F30B7D5CDDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "jucer_ComponentNameProperty.h"; path = "../../Source/ComponentEditor/components/jucer_ComponentNameProperty.h"; sourceTree = "SOURCE_ROOT"; };
B743DC50150100FFA2DE76AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; };
B79595279502C1A11A4E8C36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; };
6E6140969908E7619F858740,
C7608A3967D9AB9481848F2B,
E65A820D34BF39478B7C5925,
+ 11EB44786085029106099D01,
+ B7307A82D9EB1EDBA91EE43D,
6AEF2E6130619AE550A5FCA7,
D526C38D581425949BA0E4AC,
84DE44680C9D37CDDCD127FF,
471C7B0A8B92320AF0C80839,
714267352CE5C4357ADBC231,
C09BBB58CA45B66D693E8C31, ); name = Wizards; sourceTree = "<group>"; };
+ 645F98392B3C8E92EE64B533 = {isa = PBXGroup; children = (
+ 129F2DE0FEF154F8F8C7A74E,
+ 0B24F292A357ABFD9BCC6D7F,
+ 576A92E1E0D8F453EC0FEB34,
+ 996E472B82A75531875A5E38, ); name = gradle; sourceTree = "<group>"; };
C76CE0579AC77DF56E755836 = {isa = PBXGroup; children = (
468BFFBE4DA7835DD40C5FE8,
E3B56C5718D87CA0EFCB2662,
F7CAB5BC15EE351949D3F2C3,
73B9F17FE55A02C2BB87E008, ); name = templates; sourceTree = "<group>"; };
63EE1C3AC218E509130AF2BA = {isa = PBXGroup; children = (
+ 645F98392B3C8E92EE64B533,
C76CE0579AC77DF56E755836,
BB9C1E6E54A16F795908C469,
301592EBAC0FFF6F5B268E99,
"_DEBUG=1",
"DEBUG=1",
"JUCER_XCODE_MAC_F6D2F4CF=1",
- "JUCE_APP_VERSION=4.2.4",
- "JUCE_APP_VERSION_HEX=0x40204", );
+ "JUCE_APP_VERSION=4.3.0",
+ "JUCE_APP_VERSION_HEX=0x40300", );
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)");
INFOPLIST_FILE = Info-App.plist;
"_NDEBUG=1",
"NDEBUG=1",
"JUCER_XCODE_MAC_F6D2F4CF=1",
- "JUCE_APP_VERSION=4.2.4",
- "JUCE_APP_VERSION_HEX=0x40204", );
+ "JUCE_APP_VERSION=4.3.0",
+ "JUCE_APP_VERSION_HEX=0x40300", );
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)");
6DD9DA1677A6CF789CDAB478,
954A036F5DDB375DB23FFB3E,
3EB3D569250C4BA4CA9AF578,
+ 636D21BF846031A6A1A7476A,
3C3B0ED6C43FDA3AF76DEE2E,
95B44E6C74B1DED31DBE37EB,
AA9D0B8E23F3D87A23DE9F8A,
<Optimization>Disabled</Optimization>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.2.4;JUCE_APP_VERSION_HEX=0x40204;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.3.0;JUCE_APP_VERSION_HEX=0x40300;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
<RuntimeTypeInfo>true</RuntimeTypeInfo>\r
<PrecompiledHeader/>\r
<ClCompile>\r
<Optimization>Full</Optimization>\r
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.2.4;JUCE_APP_VERSION_HEX=0x40204;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2013_78A5020=1;JUCE_APP_VERSION=4.3.0;JUCE_APP_VERSION_HEX=0x40300;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
<RuntimeTypeInfo>true</RuntimeTypeInfo>\r
<PrecompiledHeader/>\r
<ClCompile Include="..\..\Source\Application\jucer_AutoUpdater.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_CommandLine.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_DocumentEditorComponent.cpp"/>\r
+ <ClCompile Include="..\..\Source\Application\jucer_DownloadCompileEngineThread.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_GlobalPreferences.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_Main.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_MainWindow.cpp"/>\r
<ClInclude Include="..\..\Source\Application\jucer_CommandLine.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_CommonHeaders.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_DocumentEditorComponent.h"/>\r
+ <ClInclude Include="..\..\Source\Application\jucer_DownloadCompileEngineThread.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_EulaDialogue.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_FilePreviewComponent.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_GlobalPreferences.h"/>\r
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradle-wrapper.jar"/>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradlew"/>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradlew.bat"/>\r
+ <None Include="..\..\Source\BinaryData\gradle\LICENSE"/>\r
<None Include="..\..\Source\BinaryData\background_logo.svg"/>\r
<None Include="..\..\Source\BinaryData\background_tile.png"/>\r
<None Include="..\..\Source\BinaryData\colourscheme_dark.xml"/>\r
<Filter Include="Projucer\BinaryData">\r
<UniqueIdentifier>{FE290DF2-C600-4159-D484-7F48DB498EBE}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Projucer\BinaryData\gradle">\r
+ <UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Projucer\BinaryData\templates">\r
<UniqueIdentifier>{DD0D745A-044A-A337-0DBA-0816C2E7C767}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Application\jucer_DocumentEditorComponent.cpp">\r
<Filter>Projucer\Application</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\Source\Application\jucer_DownloadCompileEngineThread.cpp">\r
+ <Filter>Projucer\Application</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\Source\Application\jucer_GlobalPreferences.cpp">\r
<Filter>Projucer\Application</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\Application\jucer_DocumentEditorComponent.h">\r
<Filter>Projucer\Application</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\Source\Application\jucer_DownloadCompileEngineThread.h">\r
+ <Filter>Projucer\Application</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\Source\Application\jucer_EulaDialogue.h">\r
<Filter>Projucer\Application</Filter>\r
</ClInclude>\r
</ClInclude>\r
</ItemGroup>\r
<ItemGroup>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradle-wrapper.jar">\r
+ <Filter>Projucer\BinaryData\gradle</Filter>\r
+ </None>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradlew">\r
+ <Filter>Projucer\BinaryData\gradle</Filter>\r
+ </None>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradlew.bat">\r
+ <Filter>Projucer\BinaryData\gradle</Filter>\r
+ </None>\r
+ <None Include="..\..\Source\BinaryData\gradle\LICENSE">\r
+ <Filter>Projucer\BinaryData\gradle</Filter>\r
+ </None>\r
<None Include="..\..\Source\BinaryData\background_logo.svg">\r
<Filter>Projucer\BinaryData</Filter>\r
</None>\r
#include <windows.h>\r
\r
VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION 4,2,4,0\r
+FILEVERSION 4,3,0,0\r
BEGIN\r
BLOCK "StringFileInfo"\r
BEGIN\r
BLOCK "040904E4"\r
BEGIN\r
VALUE "FileDescription", "Projucer\0"\r
- VALUE "FileVersion", "4.2.4\0"\r
+ VALUE "FileVersion", "4.3.0\0"\r
VALUE "ProductName", "Projucer\0"\r
- VALUE "ProductVersion", "4.2.4\0"\r
+ VALUE "ProductVersion", "4.3.0\0"\r
END\r
END\r
\r
<Optimization>Disabled</Optimization>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.2.4;JUCE_APP_VERSION_HEX=0x40204;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.3.0;JUCE_APP_VERSION_HEX=0x40300;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
<RuntimeTypeInfo>true</RuntimeTypeInfo>\r
<PrecompiledHeader/>\r
<ClCompile>\r
<Optimization>Full</Optimization>\r
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
- <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.2.4;JUCE_APP_VERSION_HEX=0x40204;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;NDEBUG;JUCER_VS2015_78A5022=1;JUCE_APP_VERSION=4.3.0;JUCE_APP_VERSION_HEX=0x40300;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>\r
<RuntimeTypeInfo>true</RuntimeTypeInfo>\r
<PrecompiledHeader/>\r
<ClCompile Include="..\..\Source\Application\jucer_AutoUpdater.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_CommandLine.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_DocumentEditorComponent.cpp"/>\r
+ <ClCompile Include="..\..\Source\Application\jucer_DownloadCompileEngineThread.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_GlobalPreferences.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_Main.cpp"/>\r
<ClCompile Include="..\..\Source\Application\jucer_MainWindow.cpp"/>\r
<ClInclude Include="..\..\Source\Application\jucer_CommandLine.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_CommonHeaders.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_DocumentEditorComponent.h"/>\r
+ <ClInclude Include="..\..\Source\Application\jucer_DownloadCompileEngineThread.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_EulaDialogue.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_FilePreviewComponent.h"/>\r
<ClInclude Include="..\..\Source\Application\jucer_GlobalPreferences.h"/>\r
<ClInclude Include="..\..\JuceLibraryCode\JuceHeader.h"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradle-wrapper.jar"/>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradlew"/>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradlew.bat"/>\r
+ <None Include="..\..\Source\BinaryData\gradle\LICENSE"/>\r
<None Include="..\..\Source\BinaryData\background_logo.svg"/>\r
<None Include="..\..\Source\BinaryData\background_tile.png"/>\r
<None Include="..\..\Source\BinaryData\colourscheme_dark.xml"/>\r
<Filter Include="Projucer\BinaryData">\r
<UniqueIdentifier>{FE290DF2-C600-4159-D484-7F48DB498EBE}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Projucer\BinaryData\gradle">\r
+ <UniqueIdentifier>{661FA330-2192-FAA3-E7B2-FAF8EBB783C6}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Projucer\BinaryData\templates">\r
<UniqueIdentifier>{DD0D745A-044A-A337-0DBA-0816C2E7C767}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Application\jucer_DocumentEditorComponent.cpp">\r
<Filter>Projucer\Application</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\Source\Application\jucer_DownloadCompileEngineThread.cpp">\r
+ <Filter>Projucer\Application</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\Source\Application\jucer_GlobalPreferences.cpp">\r
<Filter>Projucer\Application</Filter>\r
</ClCompile>\r
<ClInclude Include="..\..\Source\Application\jucer_DocumentEditorComponent.h">\r
<Filter>Projucer\Application</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\Source\Application\jucer_DownloadCompileEngineThread.h">\r
+ <Filter>Projucer\Application</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\Source\Application\jucer_EulaDialogue.h">\r
<Filter>Projucer\Application</Filter>\r
</ClInclude>\r
</ClInclude>\r
</ItemGroup>\r
<ItemGroup>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradle-wrapper.jar">\r
+ <Filter>Projucer\BinaryData\gradle</Filter>\r
+ </None>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradlew">\r
+ <Filter>Projucer\BinaryData\gradle</Filter>\r
+ </None>\r
+ <None Include="..\..\Source\BinaryData\gradle\gradlew.bat">\r
+ <Filter>Projucer\BinaryData\gradle</Filter>\r
+ </None>\r
+ <None Include="..\..\Source\BinaryData\gradle\LICENSE">\r
+ <Filter>Projucer\BinaryData\gradle</Filter>\r
+ </None>\r
<None Include="..\..\Source\BinaryData\background_logo.svg">\r
<Filter>Projucer\BinaryData</Filter>\r
</None>\r
#include <windows.h>\r
\r
VS_VERSION_INFO VERSIONINFO\r
-FILEVERSION 4,2,4,0\r
+FILEVERSION 4,3,0,0\r
BEGIN\r
BLOCK "StringFileInfo"\r
BEGIN\r
BLOCK "040904E4"\r
BEGIN\r
VALUE "FileDescription", "Projucer\0"\r
- VALUE "FileVersion", "4.2.4\0"\r
+ VALUE "FileVersion", "4.3.0\0"\r
VALUE "ProductName", "Projucer\0"\r
- VALUE "ProductVersion", "4.2.4\0"\r
+ VALUE "ProductVersion", "4.3.0\0"\r
END\r
END\r
\r
namespace BinaryData\r
{\r
\r
-//================== jucer_AnimatedComponentTemplate.cpp ==================\r
+//================== gradle-wrapper.jar ==================\r
static const unsigned char temp_binary_data_0[] =\r
+{ 80,75,3,4,10,0,0,8,8,0,42,178,149,71,0,0,0,0,2,0,0,0,0,0,0,0,9,0,0,0,77,69,84,65,45,73,78,70,47,3,0,80,75,3,4,10,0,0,8,8,0,42,178,149,71,215,149,152,82,63,0,0,0,85,0,0,0,20,0,0,0,77,69,84,65,45,73,78,70,47,77,65,78,73,70,69,83,84,46,77,70,243,77,204,\r
+203,76,75,45,46,209,13,75,45,42,206,204,207,179,82,48,212,51,224,229,242,204,45,200,73,205,77,205,43,73,44,1,10,234,134,100,150,228,164,90,41,184,23,37,166,228,164,98,200,194,181,26,233,25,2,245,242,114,1,0,80,75,3,4,10,0,0,8,8,0,22,178,149,71,0,0,0,\r
+0,2,0,0,0,0,0,0,0,4,0,0,0,111,114,103,47,3,0,80,75,3,4,10,0,0,8,8,0,22,178,149,71,0,0,0,0,2,0,0,0,0,0,0,0,11,0,0,0,111,114,103,47,103,114,97,100,108,101,47,3,0,80,75,3,4,10,0,0,8,8,0,22,178,149,71,0,0,0,0,2,0,0,0,0,0,0,0,19,0,0,0,111,114,103,47,103,114,\r
+97,100,108,101,47,119,114,97,112,112,101,114,47,3,0,80,75,3,4,10,0,0,8,8,0,22,178,149,71,104,130,100,102,163,0,0,0,213,0,0,0,35,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,68,111,119,110,108,111,97,100,36,49,46,99,108,\r
+97,115,115,125,140,77,10,194,48,16,133,223,104,53,90,43,118,47,130,11,215,134,158,193,31,112,33,46,60,65,108,67,108,9,73,73,170,189,155,11,15,224,161,196,20,113,235,60,230,61,30,204,124,175,247,227,9,32,67,194,192,24,98,66,124,182,55,151,203,125,169,\r
+37,97,186,181,173,209,86,20,235,74,220,5,97,182,51,185,182,190,52,234,40,155,171,45,24,38,132,133,117,138,43,39,10,45,121,235,68,93,75,199,127,127,171,140,0,66,114,48,70,186,141,22,222,75,79,72,59,26,215,194,40,126,186,84,50,111,8,243,63,144,116,25,16,\r
+61,124,167,31,132,208,34,12,66,70,24,6,31,135,141,195,13,117,45,29,125,0,80,75,3,4,10,0,0,8,8,0,22,178,149,71,197,222,133,214,20,2,0,0,112,4,0,0,68,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,68,111,119,110,108,111,97,\r
+100,36,83,121,115,116,101,109,80,114,111,112,101,114,116,105,101,115,80,114,111,120,121,65,117,116,104,101,110,116,105,99,97,116,111,114,46,99,108,97,115,115,165,83,109,111,18,65,16,126,22,40,135,199,209,226,169,96,173,149,218,214,122,84,229,138,111,\r
+209,96,26,9,141,137,9,49,77,170,77,76,63,109,97,3,103,174,119,100,111,145,242,175,244,139,109,52,241,7,248,163,140,179,64,149,32,1,19,239,195,206,236,60,243,204,60,59,187,247,227,231,215,239,0,202,120,106,34,141,130,9,11,5,3,107,41,220,54,177,142,141,\r
+20,54,83,88,214,238,29,19,91,184,107,34,14,199,192,182,129,123,12,201,23,94,224,169,93,134,184,83,60,100,72,212,194,166,96,88,170,123,129,120,211,61,57,22,242,45,63,246,41,98,215,195,6,247,15,185,244,244,126,20,76,168,182,23,49,172,31,244,35,37,78,246,\r
+101,216,17,82,121,34,34,239,180,95,237,170,182,8,148,215,224,42,148,12,214,235,32,16,178,230,243,40,18,196,121,89,15,101,203,109,73,222,244,133,219,147,188,67,84,119,47,236,5,126,200,155,155,243,11,86,24,150,91,66,237,83,185,94,40,155,99,152,23,6,12,\r
+27,78,177,254,129,127,228,110,32,148,59,61,169,98,224,62,3,72,190,51,83,75,185,162,7,19,59,221,97,40,204,73,100,48,15,194,174,108,136,87,158,30,79,230,2,42,105,41,22,50,88,164,26,115,100,49,44,182,149,234,148,58,250,200,239,34,33,13,60,176,80,130,75,\r
+119,240,7,184,224,106,100,199,64,217,194,67,60,210,29,30,27,120,194,176,251,127,195,101,200,253,86,57,1,172,206,156,0,67,118,64,244,121,208,114,135,125,24,210,250,158,134,221,250,12,91,78,125,44,69,73,47,104,85,138,127,135,24,158,77,73,252,71,106,118,\r
+50,70,34,84,88,107,115,89,149,146,147,136,132,83,60,170,49,228,167,180,56,170,233,235,94,153,113,76,172,209,95,102,65,127,113,196,244,173,210,35,90,162,157,75,150,94,20,22,182,207,16,251,76,78,12,89,90,147,131,32,199,101,90,173,97,2,108,92,35,155,64,\r
+14,249,17,185,74,81,141,229,191,33,254,222,78,156,99,193,78,218,198,57,82,95,112,233,12,230,167,137,114,98,172,92,126,88,142,192,12,110,140,202,61,39,27,27,105,97,211,181,228,134,9,35,45,218,91,193,205,1,109,117,144,127,11,87,201,218,228,165,81,196,21,\r
+152,184,78,22,217,212,47,80,75,3,4,10,0,0,8,8,0,22,178,149,71,231,236,88,115,170,0,0,0,219,0,0,0,34,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,73,68,111,119,110,108,111,97,100,46,99,108,97,115,115,69,141,193,10,194,48,\r
+12,134,255,204,233,230,20,17,188,10,94,245,98,241,188,171,10,3,65,80,244,94,183,50,54,74,59,234,116,62,155,7,31,192,135,18,59,149,25,8,201,151,252,249,243,124,221,31,0,22,232,123,232,122,8,8,126,162,43,37,53,79,8,147,233,38,231,87,206,148,40,217,97,23,\r
+133,95,202,52,91,103,82,132,179,35,33,88,221,98,81,148,153,86,103,15,61,203,123,125,49,177,168,247,132,65,180,252,89,205,235,67,194,88,155,148,165,134,39,82,176,202,240,162,16,134,53,26,194,240,99,47,185,74,217,246,148,139,184,36,140,254,163,230,83,135,\r
+64,112,80,7,185,132,22,92,203,109,75,117,237,216,244,108,239,192,127,3,80,75,3,4,10,0,0,8,8,0,22,178,149,71,4,169,122,221,92,2,0,0,81,4,0,0,45,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,71,114,97,100,108,101,85,115,101,\r
+114,72,111,109,101,76,111,111,107,117,112,46,99,108,97,115,115,141,83,91,79,26,65,20,254,70,145,93,214,245,82,172,40,181,182,106,91,4,91,217,90,237,85,211,196,203,170,137,84,8,32,9,79,100,133,9,174,46,187,100,89,108,252,87,189,36,106,106,210,199,62,244,\r
+71,53,61,195,82,43,200,131,187,201,185,205,119,190,115,230,204,204,239,63,63,126,2,88,194,170,130,81,204,201,120,162,224,41,158,73,136,41,8,96,94,70,92,248,137,16,70,176,32,225,185,130,144,0,189,16,122,81,70,82,104,77,194,75,9,75,12,147,91,250,246,250,\r
+65,42,95,218,201,174,111,165,244,210,65,78,207,150,118,211,159,116,134,112,234,216,56,53,52,203,176,171,90,206,115,77,187,186,202,48,221,141,43,101,178,233,140,158,205,23,75,123,122,145,97,104,211,177,27,158,97,123,5,195,106,114,226,191,133,215,247,11,\r
+62,52,184,102,218,166,247,145,161,63,158,40,48,4,54,157,10,37,140,164,76,155,239,55,107,135,220,205,27,135,22,23,125,56,101,195,42,24,174,41,252,118,48,224,29,153,13,134,68,202,113,171,90,213,53,42,22,215,62,187,70,189,206,93,109,167,229,30,52,184,187,\r
+235,212,120,202,113,78,154,117,106,125,184,218,17,103,24,141,39,252,45,154,142,182,109,90,156,48,242,90,217,106,119,165,228,156,166,91,230,98,129,33,218,139,51,41,146,85,68,48,65,92,62,121,178,73,136,228,17,65,36,188,82,177,140,21,6,245,102,13,1,127,\r
+77,240,238,177,168,120,131,21,21,247,16,102,152,232,158,251,70,211,180,42,220,101,8,93,211,171,120,139,119,212,175,150,244,11,171,120,143,15,12,243,119,28,7,117,240,191,72,250,240,152,151,189,142,80,238,172,225,241,26,195,96,149,123,25,215,33,26,239,\r
+140,33,22,191,125,37,18,189,110,201,120,47,32,157,113,144,232,184,125,74,134,104,205,174,48,44,222,137,178,61,0,113,64,158,227,135,24,238,199,123,212,198,44,221,250,81,122,29,253,136,138,105,146,21,197,24,105,194,147,221,71,127,20,227,55,252,32,33,153,\r
+56,67,146,147,20,209,72,51,210,3,11,23,96,95,91,144,40,201,96,43,56,142,7,36,85,31,128,41,60,36,29,194,52,30,181,147,79,90,100,244,52,195,125,151,232,47,238,253,130,122,133,64,145,168,6,190,132,131,151,144,58,67,194,248,6,89,152,215,133,34,68,12,34,86,\r
+136,118,12,143,73,206,32,134,185,235,194,18,22,40,38,246,37,211,234,191,174,151,41,91,124,83,87,8,21,47,160,132,7,169,254,57,212,240,16,137,115,12,127,135,44,246,194,110,236,37,66,114,166,85,118,246,47,80,75,3,4,10,0,0,8,8,0,22,178,149,71,28,226,93,219,\r
+197,5,0,0,250,10,0,0,51,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,69,120,99,108,117,115,105,118,101,70,105,108,101,65,99,99,101,115,115,77,97,110,97,103,101,114,46,99,108,97,115,115,149,86,75,112,19,101,28,255,109,154,\r
+38,105,186,109,33,64,33,80,108,0,133,180,80,130,40,22,211,130,150,216,98,104,90,160,13,165,5,21,183,201,54,93,186,221,141,155,77,75,125,32,62,234,251,117,240,232,157,163,50,35,45,88,7,198,25,71,71,199,131,58,227,129,241,194,197,25,47,158,24,47,30,196,\r
+223,183,155,150,190,29,14,249,30,255,231,239,255,250,54,63,254,251,213,13,0,15,227,147,32,182,161,179,2,17,164,196,210,229,71,119,16,94,28,247,227,68,16,62,116,138,203,73,113,234,9,160,87,236,105,65,57,37,150,190,32,78,163,223,143,129,0,206,4,81,35,136,\r
+53,56,27,196,51,120,54,72,83,207,5,113,14,207,251,161,4,48,40,20,51,1,100,133,154,26,68,45,134,42,145,195,112,16,26,206,87,98,4,186,31,163,126,24,126,152,18,214,164,142,39,58,207,117,36,83,237,231,122,79,117,116,36,251,37,132,82,231,149,49,37,166,43,\r
+70,46,214,107,91,154,145,107,145,80,149,48,141,130,173,24,118,159,162,23,85,9,21,182,54,170,154,69,187,171,32,65,74,74,168,206,155,186,158,52,108,213,26,83,116,65,244,181,106,134,102,31,150,80,30,77,38,27,250,36,120,19,102,150,138,53,41,205,80,187,139,\r
+163,131,170,149,86,6,117,85,248,51,51,138,222,167,88,154,184,151,136,94,123,88,163,149,88,202,180,114,177,156,165,100,117,53,54,110,41,249,188,106,197,218,47,100,244,98,65,27,83,59,52,93,109,203,100,212,66,161,75,49,148,156,106,17,168,79,113,8,18,218,\r
+162,110,28,154,25,19,114,45,238,173,104,107,122,44,99,26,153,162,101,169,134,29,75,40,186,46,60,182,52,204,139,250,248,224,121,53,99,211,152,159,33,91,118,155,205,24,143,17,147,110,102,70,36,212,185,146,6,13,103,134,21,195,80,245,130,227,129,97,140,136,\r
+76,169,243,225,49,51,11,97,136,208,148,2,205,212,255,15,32,9,1,225,207,53,178,198,82,140,172,57,234,6,235,146,54,207,217,237,89,196,19,192,75,200,230,220,44,65,155,112,47,148,173,93,152,255,137,252,108,13,30,92,29,97,107,58,221,114,152,250,65,214,67,\r
+205,219,26,27,132,125,209,171,229,12,197,46,90,212,239,106,77,199,151,102,245,240,125,213,197,117,210,192,85,194,218,81,101,98,80,77,232,102,65,61,89,212,84,91,159,32,248,123,214,28,134,91,75,182,155,143,56,76,129,98,195,60,8,115,72,105,173,34,51,43,\r
+47,97,221,50,70,24,88,175,89,180,50,165,50,214,175,220,117,123,133,178,140,40,242,50,30,194,78,25,187,176,83,130,60,63,74,25,47,192,146,176,113,241,100,29,41,106,122,86,181,100,20,96,203,40,98,140,237,177,87,207,140,200,24,23,132,40,46,200,152,192,139,\r
+126,188,36,227,101,188,34,97,211,74,69,151,224,177,198,101,92,196,171,126,92,146,241,26,94,151,145,192,83,126,188,33,227,77,76,178,95,238,249,238,41,26,98,124,231,178,33,161,50,237,142,115,196,28,138,8,28,111,113,244,34,150,170,100,134,213,108,100,92,\r
+209,108,98,141,12,153,86,100,174,185,35,238,156,69,108,51,50,68,247,113,170,189,237,66,126,199,143,119,101,188,135,247,253,248,64,198,135,200,251,241,145,140,143,145,103,158,151,41,133,132,166,251,154,113,14,195,226,158,146,80,22,21,53,175,202,169,246,\r
+9,69,244,79,105,106,162,13,139,135,207,79,145,110,101,148,204,245,209,134,229,30,58,159,240,111,100,137,42,186,148,189,84,163,84,64,49,173,182,233,146,36,236,88,182,197,23,24,18,29,58,58,146,213,172,130,3,254,204,130,168,122,39,10,182,58,202,134,47,77,\r
+131,40,78,151,166,235,154,43,204,167,40,200,48,18,179,35,190,109,54,146,85,134,124,235,170,2,204,139,109,77,164,156,231,237,129,21,173,149,30,184,121,64,211,195,236,17,230,170,188,160,171,42,235,235,141,30,19,145,213,69,147,171,101,170,134,224,219,6,\r
+11,166,94,180,213,19,138,61,204,25,93,46,215,125,179,168,87,122,27,232,143,15,151,190,184,148,115,175,247,230,149,195,96,192,150,170,171,74,129,70,214,46,153,125,6,228,60,14,252,88,71,248,3,202,16,198,118,236,0,223,68,222,60,8,34,36,38,157,231,144,24,\r
+118,71,66,98,235,55,112,109,228,109,128,50,101,220,107,26,167,33,53,110,185,10,79,99,221,85,148,93,113,148,119,59,106,94,174,219,184,110,71,5,13,87,211,240,30,82,34,174,26,154,176,23,112,78,194,141,228,156,132,35,15,207,49,236,163,20,221,120,234,248,\r
+161,151,1,201,51,3,239,192,238,41,148,207,192,55,48,13,63,143,129,41,84,132,130,92,166,80,57,13,185,187,137,220,41,84,157,150,226,94,41,94,126,13,213,205,62,41,30,8,7,190,71,7,47,181,190,198,47,225,153,84,62,253,12,205,51,168,25,104,10,173,153,198,218,\r
+184,55,236,157,66,40,94,30,166,234,58,71,250,238,207,97,42,175,15,123,185,80,165,108,242,26,54,92,190,59,35,236,52,205,160,118,160,4,32,180,145,158,133,201,41,108,10,133,121,38,162,205,179,96,182,220,220,115,29,117,18,226,21,97,162,220,234,24,36,38,199,\r
+38,225,221,115,16,174,248,34,30,92,94,38,120,51,94,57,79,176,242,38,51,249,57,166,113,139,153,186,133,223,157,125,31,126,194,29,231,254,183,179,151,57,153,191,136,122,174,187,152,247,40,115,216,192,76,55,82,178,9,7,152,241,131,60,165,248,55,173,31,251,\r
+249,111,234,17,12,145,58,130,199,144,71,51,223,196,131,184,132,86,76,226,16,61,181,209,87,2,95,163,29,223,160,3,223,226,40,126,192,211,244,215,137,95,104,225,22,121,183,201,251,131,188,63,201,251,139,188,59,228,253,67,158,168,114,15,2,180,124,131,158,\r
+246,179,130,7,49,67,95,143,146,198,74,206,86,158,167,3,244,44,57,167,102,202,120,136,248,54,30,39,173,140,50,191,33,142,22,198,188,15,191,18,211,33,148,227,48,149,228,57,249,39,40,255,36,41,94,82,234,137,86,244,221,17,182,45,191,8,165,22,61,203,221,227,\r
+180,232,119,168,106,188,142,7,36,92,134,55,117,133,100,47,5,171,168,230,182,106,45,141,3,39,73,237,37,189,143,156,52,219,181,223,9,164,150,50,213,220,219,25,168,219,164,71,25,42,49,32,233,184,60,246,31,80,75,3,4,10,0,0,8,8,0,22,178,149,71,204,13,94,70,\r
+145,2,0,0,249,6,0,0,45,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,87,114,97,112,112,101,114,67,111,110,102,105,103,117,114,97,116,105,111,110,46,99,108,97,115,115,141,147,109,79,19,65,16,199,255,219,231,214,131,62,130,\r
+128,162,162,34,237,33,156,160,224,51,9,15,85,49,85,12,21,72,124,67,174,112,150,35,229,142,220,93,53,241,83,105,34,49,241,133,31,192,15,101,156,189,91,160,172,219,196,55,51,179,51,243,159,253,237,92,251,251,207,207,95,0,230,240,40,135,75,152,201,96,54,\r
+139,28,140,12,238,113,63,199,205,60,55,247,185,121,192,205,66,26,139,105,60,100,208,246,109,63,240,236,86,55,176,93,135,97,176,113,104,126,50,13,199,10,140,173,205,245,167,12,133,222,250,138,233,91,12,165,168,167,99,58,109,163,73,53,167,45,247,189,51,\r
+131,3,134,161,222,84,243,192,156,95,88,108,118,143,24,210,95,236,227,104,18,143,162,222,212,51,219,177,131,37,134,120,181,182,205,144,88,117,247,169,158,111,216,142,245,182,123,212,178,188,247,102,171,19,222,237,238,153,157,109,211,179,249,89,36,19,193,\r
+129,237,51,212,26,174,215,54,218,158,185,223,177,140,207,158,121,124,108,121,198,78,228,87,93,231,163,221,238,122,38,103,33,220,124,219,10,214,46,188,188,80,173,201,111,207,251,114,83,177,122,177,135,179,150,165,81,209,211,42,167,227,46,174,169,236,171,\r
+154,135,170,255,246,170,70,71,187,146,103,68,217,17,169,183,103,225,35,126,223,82,142,84,31,78,63,71,206,239,61,68,149,104,184,168,136,67,211,237,122,123,214,11,155,239,126,84,181,224,89,254,26,13,21,12,209,94,95,110,46,175,53,234,187,91,205,250,230,\r
+238,171,141,55,117,13,131,200,51,12,156,126,33,254,43,241,53,20,144,215,80,226,166,204,141,134,1,13,69,222,56,245,159,95,149,174,58,95,226,70,235,208,218,11,48,1,254,135,0,82,136,241,137,20,197,248,237,161,47,8,95,20,190,36,124,57,244,3,96,156,159,236,\r
+48,157,118,40,207,200,143,235,63,192,244,82,236,4,113,189,148,56,65,50,140,83,97,156,254,22,202,47,147,29,70,146,108,5,9,138,114,148,41,96,148,162,49,140,80,86,139,6,81,102,140,60,195,21,92,21,151,24,228,121,45,169,127,71,230,235,217,176,148,16,156,139,\r
+147,103,226,113,92,19,226,37,234,142,241,110,125,250,4,153,115,148,92,152,157,32,205,205,112,194,112,212,37,38,240,72,11,223,202,112,29,55,20,32,113,25,100,82,9,50,65,227,21,32,113,25,164,70,26,189,15,8,255,48,252,226,91,74,144,164,12,50,163,4,185,173,\r
+6,73,202,32,115,164,153,239,3,82,16,32,147,74,144,172,12,178,160,4,185,163,6,201,202,32,143,73,243,164,15,72,81,128,76,41,65,82,50,200,115,37,72,85,13,146,146,65,150,73,179,210,7,164,36,64,106,74,144,180,12,82,87,130,232,106,144,180,12,178,78,154,215,\r
+125,64,202,2,100,58,212,220,253,11,80,75,3,4,10,0,0,8,8,0,22,178,149,71,81,125,29,105,229,4,0,0,25,10,0,0,48,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,83,121,115,116,101,109,80,114,111,112,101,114,116,105,101,115,72,\r
+97,110,100,108,101,114,46,99,108,97,115,115,141,86,235,115,19,85,20,255,109,155,100,195,118,203,163,80,74,74,133,8,2,105,250,136,128,21,108,10,42,208,74,165,15,36,80,44,130,186,77,111,147,133,100,55,108,54,180,21,21,159,248,70,253,194,12,142,195,87,62,\r
+57,131,195,24,192,206,200,119,255,40,245,119,55,161,205,139,218,102,122,238,189,231,117,207,249,157,115,207,236,223,255,252,249,23,128,253,248,89,195,46,140,168,120,67,67,19,70,52,156,196,168,138,55,53,248,37,243,148,6,21,99,242,48,46,119,19,42,38,85,\r
+156,86,241,150,134,86,140,4,113,70,174,9,73,206,74,114,78,131,142,169,32,206,107,120,27,211,210,236,66,11,222,193,197,22,92,194,187,146,188,39,47,59,39,165,239,107,48,48,35,73,82,195,44,132,84,158,107,65,10,105,21,166,138,203,10,2,67,166,101,186,71,21,\r
+52,71,186,167,20,248,142,219,179,66,193,134,49,211,18,19,133,236,140,112,206,26,51,25,114,218,198,236,164,145,153,50,28,83,158,203,76,159,155,54,243,10,122,199,108,39,21,75,57,198,108,70,196,230,29,35,151,19,78,44,177,152,119,69,246,180,99,243,224,154,\r
+34,127,210,176,40,118,226,10,54,167,132,91,43,85,176,51,50,118,217,184,102,196,76,59,54,98,102,68,188,187,116,44,184,102,38,54,110,228,104,23,52,173,132,235,8,35,171,32,84,165,59,106,229,10,110,73,68,53,133,129,181,47,203,71,39,135,23,146,34,231,154,\r
+182,69,89,243,21,177,40,115,241,164,25,195,74,197,104,102,90,41,138,212,172,225,38,211,194,89,118,238,221,236,136,148,88,224,253,158,72,198,96,56,169,66,86,88,110,181,151,201,153,203,34,233,82,222,100,190,160,96,75,133,131,81,87,56,134,107,75,219,245,\r
+185,229,116,101,212,100,84,103,172,160,165,172,177,200,132,101,17,106,17,208,114,21,128,109,173,16,175,0,41,51,201,25,46,111,181,26,101,114,186,36,138,75,243,170,130,46,230,158,22,117,160,250,218,161,122,176,234,57,71,233,112,93,194,76,89,134,91,112,\r
+232,99,120,245,98,174,217,167,150,176,11,78,82,148,224,234,122,70,75,245,75,83,29,187,65,232,55,173,220,115,210,200,167,121,151,138,43,58,50,96,211,108,105,132,151,130,142,103,180,146,244,104,233,176,145,211,113,85,250,222,220,160,167,20,116,174,4,126,\r
+166,96,185,102,86,84,8,59,106,179,58,86,48,51,179,178,201,118,15,59,142,237,132,231,211,194,10,103,108,99,150,178,240,74,117,195,115,140,229,136,14,7,121,73,92,29,5,92,147,1,205,43,216,152,95,134,225,98,127,164,63,218,173,98,65,199,34,62,208,113,29,31,\r
+170,248,72,199,199,184,161,226,19,29,159,130,89,124,134,207,117,28,192,23,42,190,212,113,83,114,190,194,215,42,190,209,241,45,190,211,241,61,126,80,113,75,199,143,248,73,65,116,237,15,153,129,212,246,191,2,189,18,75,14,23,179,220,233,28,46,23,88,156,\r
+218,174,144,3,71,38,175,96,219,138,168,242,53,75,13,127,50,99,231,165,51,25,142,69,221,190,72,125,179,116,215,177,202,72,199,107,244,203,47,117,53,253,160,107,151,88,108,153,72,189,34,53,162,13,34,168,224,156,77,59,246,188,124,76,94,252,29,207,120,131,\r
+124,168,73,59,155,243,240,89,37,165,134,143,55,192,57,150,16,174,132,180,82,141,44,10,91,171,24,114,110,150,103,16,31,125,149,122,197,108,106,171,231,50,190,180,145,159,16,11,116,225,179,188,165,26,142,229,161,119,176,50,250,227,105,195,73,136,171,5,\r
+97,37,69,131,28,86,70,105,29,46,227,79,7,176,111,206,148,117,246,167,28,187,192,57,216,30,25,109,88,133,141,181,60,226,146,17,86,202,77,123,13,55,74,154,146,249,239,253,159,250,47,231,81,1,156,55,128,155,217,136,10,14,55,48,95,147,67,60,207,223,46,200,\r
+191,38,40,114,62,145,238,225,41,198,85,225,234,143,62,132,242,187,39,222,75,26,240,152,219,177,143,84,47,41,32,130,110,174,235,16,69,15,181,104,172,60,128,15,65,242,254,88,66,211,244,67,52,143,69,139,240,253,2,127,207,253,37,248,201,8,140,47,65,157,166,\r
+231,224,68,111,95,17,235,248,175,221,131,62,232,147,155,144,239,201,61,132,39,150,160,79,47,161,149,218,235,219,54,20,177,145,46,54,21,209,214,247,16,155,159,180,109,121,132,246,137,222,34,182,62,70,135,130,65,95,200,247,24,219,20,220,193,9,185,11,145,\r
+229,239,11,249,139,232,44,98,251,96,32,20,40,162,235,14,246,132,2,190,34,158,27,84,67,106,17,59,238,162,189,39,164,246,74,173,157,84,124,140,112,51,206,223,251,247,81,207,125,52,19,145,125,232,103,2,253,120,209,91,67,56,132,65,180,80,34,65,152,66,59,\r
+233,14,166,184,19,27,16,198,38,234,135,136,220,46,74,247,17,142,30,2,210,207,245,16,122,105,21,69,156,156,243,228,92,34,170,215,233,241,38,63,182,110,113,220,221,198,65,220,197,75,184,79,205,7,56,236,129,58,7,249,97,212,78,203,62,222,22,71,23,237,98,\r
+220,221,70,39,45,247,243,211,235,38,61,30,160,101,128,190,6,104,61,192,18,164,113,10,47,211,139,79,130,78,79,175,112,13,226,55,222,30,103,145,66,248,21,67,56,194,226,92,226,247,214,81,188,74,127,175,149,11,88,210,122,157,187,99,94,145,143,115,119,194,\r
+219,13,255,7,80,75,3,4,10,0,0,8,8,0,22,178,149,71,165,121,48,186,86,2,0,0,0,5,0,0,31,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,76,111,103,103,101,114,46,99,108,97,115,115,133,147,251,111,210,80,20,199,191,151,199,42,\r
+175,49,198,112,76,152,19,157,10,69,87,134,111,49,38,134,100,9,17,31,9,102,38,251,173,148,155,174,75,105,161,20,141,255,138,127,133,26,197,196,31,252,3,252,163,140,231,182,13,18,88,179,144,158,158,115,239,57,159,243,42,127,254,254,250,13,224,16,79,147,\r
+72,224,102,2,151,112,43,129,219,168,38,81,131,44,68,93,136,59,66,220,149,112,32,65,145,208,96,136,143,167,6,119,25,216,9,195,218,51,195,50,220,231,12,177,234,73,237,152,94,109,123,192,25,178,93,195,226,175,167,195,62,119,222,169,125,147,78,54,187,182,\r
+166,154,199,170,99,8,59,56,140,185,167,198,132,161,212,181,29,93,209,29,117,96,114,229,163,163,142,70,220,81,186,182,174,115,167,197,16,53,109,157,161,80,237,158,169,31,84,197,84,45,93,233,185,142,97,233,45,145,80,26,242,201,68,213,189,12,43,14,84,159,\r
+128,89,3,134,198,98,124,251,84,117,122,124,60,229,150,198,91,181,133,139,23,158,183,40,78,36,214,38,99,134,98,88,28,67,51,148,217,233,132,82,227,19,87,117,196,244,58,148,193,43,109,167,218,14,245,102,26,61,109,134,100,207,158,58,26,63,50,196,216,82,254,\r
+108,14,68,76,26,25,28,166,145,66,90,66,51,141,123,184,47,225,65,26,15,81,72,163,136,71,66,60,22,226,9,229,9,157,50,195,198,255,252,111,250,103,92,163,2,183,206,43,137,106,174,138,177,47,248,247,62,77,92,62,164,11,123,74,81,5,191,19,195,86,222,210,10,\r
+92,90,4,87,135,212,72,254,156,99,218,222,72,88,166,197,160,92,180,159,21,226,225,197,211,95,137,41,206,71,189,116,133,10,125,253,9,208,160,233,217,20,227,164,127,70,156,244,12,214,73,102,201,58,66,132,126,64,82,254,9,38,151,126,32,242,149,172,8,54,72,\r
+174,35,74,242,50,98,216,38,74,17,57,207,242,188,137,150,7,60,77,80,105,157,216,66,33,96,190,12,152,89,249,59,34,159,145,252,134,104,125,134,216,50,184,4,9,101,210,175,46,128,179,115,112,150,78,182,61,112,17,59,1,248,85,0,206,249,224,148,15,142,191,151,\r
+191,44,161,43,132,190,78,33,251,11,232,220,28,157,195,21,74,238,163,203,1,90,163,46,99,244,206,251,232,140,64,151,119,103,88,91,133,87,9,94,35,72,221,131,203,126,216,28,158,15,224,66,219,165,222,34,158,182,71,90,212,75,120,45,188,151,210,12,210,106,58,\r
+133,210,53,40,164,25,210,75,133,58,21,189,220,240,226,246,255,1,80,75,3,4,10,0,0,8,8,0,22,178,149,71,206,114,235,138,21,7,0,0,110,14,0,0,38,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,80,97,116,104,65,115,115,101,109,\r
+98,108,101,114,46,99,108,97,115,115,149,86,249,99,27,87,17,254,214,214,21,121,147,56,138,115,216,181,131,98,39,141,44,217,22,73,83,40,73,19,240,213,68,173,175,250,42,78,218,184,107,107,35,111,42,239,186,187,171,196,134,114,19,40,247,125,4,2,148,251,6,\r
+23,90,41,196,180,1,126,228,143,2,190,217,93,91,182,42,211,246,7,189,55,239,105,222,204,55,51,223,155,183,255,254,207,253,55,1,156,198,191,226,56,138,194,30,156,197,82,28,6,110,196,41,189,32,67,81,134,229,40,76,217,182,100,177,18,197,139,113,196,81,144,\r
+29,91,36,39,6,87,230,82,28,81,220,148,237,91,50,172,70,177,22,199,65,124,36,142,143,202,127,103,241,82,12,31,139,226,227,113,124,2,159,140,225,83,113,124,26,159,145,197,103,69,186,29,197,231,100,254,124,28,199,240,178,12,95,136,226,139,81,124,41,134,\r
+47,199,209,133,175,196,240,85,81,254,154,12,95,23,155,223,16,233,155,49,124,75,230,111,199,240,157,24,190,27,199,247,240,125,193,113,39,134,31,196,240,67,57,121,39,138,187,10,14,140,88,139,90,113,200,112,92,219,88,40,185,134,101,42,80,115,166,169,219,\r
+131,69,205,113,116,71,193,145,75,147,253,67,35,195,243,51,83,195,147,243,151,199,71,135,231,167,166,39,115,99,151,20,36,70,110,104,55,181,108,81,51,11,217,41,26,48,11,231,21,236,29,180,76,199,213,76,119,86,43,150,116,5,251,38,38,199,159,28,30,156,222,\r
+58,181,175,96,107,249,162,62,227,232,246,101,107,89,52,124,51,134,149,125,194,40,234,52,17,121,220,48,13,247,162,130,198,84,247,172,130,208,160,149,167,218,254,17,195,212,199,74,203,11,186,61,173,45,20,117,241,47,224,103,53,219,144,117,176,25,114,151,\r
+12,162,238,28,177,236,66,214,119,149,189,101,107,43,43,186,157,157,208,220,165,126,70,181,76,77,155,142,14,164,118,186,22,111,251,11,186,187,51,31,243,169,122,182,158,241,103,70,123,221,40,148,108,77,116,207,119,191,173,215,19,111,73,184,228,108,113,\r
+187,21,5,117,205,212,117,168,32,182,160,57,250,152,38,137,140,229,105,214,23,155,108,203,98,24,182,191,138,202,31,92,5,210,21,99,69,193,120,234,173,213,123,23,113,214,169,124,180,100,23,47,107,206,18,37,230,208,151,30,174,227,165,238,225,189,203,186,\r
+227,104,5,125,200,40,232,142,171,160,195,87,114,244,197,146,109,184,107,217,209,237,127,83,63,188,176,230,10,59,27,174,14,40,80,24,227,161,109,86,135,87,23,245,149,32,63,17,199,115,193,194,218,250,178,117,83,31,94,117,117,211,241,210,28,50,189,236,40,\r
+204,134,146,99,206,130,202,251,57,235,12,144,155,186,155,157,153,204,237,18,178,164,115,198,46,110,145,120,83,155,198,87,88,118,5,113,26,29,96,133,188,236,119,238,158,141,42,251,67,82,80,30,156,178,74,246,162,46,155,100,250,14,14,245,201,9,21,23,112,\r
+81,197,121,60,30,197,143,84,12,227,199,42,158,195,53,21,115,120,90,197,83,24,227,69,222,110,89,197,79,240,138,138,5,44,242,74,215,162,24,40,25,197,188,110,171,248,169,232,252,12,63,103,70,178,42,126,33,171,11,248,165,138,95,137,244,107,188,162,224,204,\r
+187,103,184,216,248,77,20,191,85,49,129,167,89,186,147,78,246,36,75,215,92,69,49,190,112,67,95,116,163,248,157,138,223,227,15,188,248,163,67,143,70,241,71,21,127,194,159,85,172,227,85,21,127,193,95,21,180,120,71,150,233,46,59,96,20,114,166,171,23,4,245,\r
+107,162,112,1,175,11,226,178,130,131,117,152,160,160,173,186,59,89,50,93,99,89,223,246,103,251,160,85,42,230,147,166,229,38,151,72,220,164,97,174,148,220,164,79,157,62,177,93,97,70,40,220,195,223,84,220,199,134,138,191,75,70,238,139,187,230,218,6,169,\r
+226,13,188,73,114,4,157,143,23,179,196,102,215,151,55,236,40,30,168,248,135,20,232,2,254,73,110,10,51,206,37,73,189,164,225,36,75,230,11,166,117,139,96,146,111,151,98,5,167,222,225,77,37,186,84,119,45,53,15,214,180,184,1,143,112,45,169,186,20,175,85,\r
+158,240,104,29,17,87,102,94,65,239,59,186,224,1,191,164,93,185,214,84,112,33,187,106,186,111,29,67,179,254,5,98,195,242,49,6,11,31,67,127,221,190,188,179,199,215,243,176,189,219,171,219,83,179,131,146,155,40,35,215,45,155,132,83,240,129,58,145,94,29,\r
+169,229,112,253,62,241,208,255,105,102,126,227,201,121,143,230,34,99,60,189,123,70,119,237,134,49,233,50,126,67,12,165,186,165,37,70,74,43,121,205,165,185,112,234,234,128,68,26,201,7,222,34,169,156,191,115,40,149,171,11,54,93,239,101,168,238,76,47,217,\r
+214,45,121,107,189,4,54,241,51,129,224,243,250,234,248,117,49,89,7,59,243,186,199,41,45,108,246,225,195,169,92,125,191,242,106,4,236,210,95,44,105,69,167,198,222,102,130,175,236,172,211,154,227,234,203,126,18,39,108,139,20,112,215,118,1,50,139,227,252,\r
+222,58,202,111,187,70,180,226,253,120,12,172,42,87,13,200,112,125,110,219,186,151,63,118,86,202,49,238,177,209,114,252,32,87,143,112,86,56,135,211,21,40,175,122,170,31,226,24,231,12,116,32,196,239,179,126,74,170,175,132,1,12,114,22,3,67,129,129,39,168,\r
+41,186,113,49,144,206,188,142,134,170,149,125,132,5,36,105,229,56,246,160,211,179,116,216,215,14,44,137,36,176,4,196,48,109,249,54,255,75,79,81,206,183,211,153,50,26,43,8,141,166,123,42,8,143,165,123,51,21,68,206,133,54,16,157,147,191,98,21,236,217,64,\r
+124,174,130,38,174,212,50,246,38,246,113,104,13,113,40,99,127,5,205,231,194,155,186,7,118,232,38,118,232,122,82,79,245,80,100,3,7,231,210,173,225,214,72,5,45,235,91,225,180,33,194,49,197,80,186,177,31,105,28,97,150,7,209,131,85,102,87,66,187,236,131,\r
+222,10,237,54,46,113,143,92,193,75,200,177,22,13,60,117,19,79,82,106,228,89,147,79,218,99,76,205,32,245,71,152,130,48,237,236,197,40,165,8,53,249,220,5,201,184,193,127,66,156,143,165,137,176,177,140,67,21,28,30,75,28,9,191,129,163,115,141,153,169,185,\r
+80,239,212,61,180,174,215,148,238,52,75,118,198,67,149,246,79,111,161,58,230,33,80,60,73,240,53,80,51,129,113,15,85,131,188,103,129,223,187,60,39,39,251,18,109,247,240,208,40,147,214,62,214,211,91,70,199,6,142,205,133,136,229,61,21,36,155,79,148,113,\r
+124,125,116,3,93,115,137,19,172,209,201,7,158,229,227,44,118,231,142,172,245,115,28,64,19,49,52,147,58,157,44,118,23,203,45,248,206,50,190,8,218,49,137,41,158,104,98,102,166,49,67,44,93,148,103,241,140,23,77,223,22,250,62,124,216,67,223,32,95,5,1,210,\r
+107,212,22,162,181,100,18,15,151,113,234,66,251,93,132,51,235,153,198,246,50,82,213,188,36,188,104,158,98,141,70,104,121,148,185,30,247,252,39,253,179,91,30,90,112,197,243,16,165,198,85,60,235,209,155,159,33,129,47,155,218,98,167,141,249,232,30,237,17,\r
+230,156,186,216,65,135,61,235,61,29,161,231,203,72,87,61,30,102,100,96,84,97,70,164,50,166,102,198,147,32,254,106,85,218,182,188,182,97,30,207,211,71,24,135,160,121,92,81,121,125,196,191,84,133,223,56,129,255,151,121,78,50,50,148,73,16,65,207,29,196,\r
+210,175,161,97,61,147,232,245,86,205,66,247,68,223,61,100,43,120,239,186,148,37,224,124,226,52,233,157,17,174,159,217,228,249,35,15,106,144,62,75,166,62,71,175,215,88,131,121,156,32,142,234,133,29,218,66,58,132,124,80,1,221,59,127,29,239,243,88,199,135,\r
+149,181,124,20,202,255,0,80,75,3,4,10,0,0,8,8,0,22,178,149,71,56,222,182,221,27,19,0,0,236,41,0,0,32,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,73,110,115,116,97,108,108,46,99,108,97,115,115,157,89,11,124,20,229,181,\r
+63,39,187,217,217,44,195,43,16,194,202,107,68,34,121,135,55,26,16,13,73,144,216,16,144,240,48,32,234,100,119,146,140,236,35,238,206,146,68,173,90,139,74,213,190,80,91,209,86,172,143,98,45,85,81,73,208,40,216,106,125,182,246,161,181,181,181,213,86,107,\r
+111,235,237,189,189,247,246,222,219,251,42,247,127,102,118,55,155,100,16,226,47,191,253,102,230,123,156,231,255,156,239,124,95,94,253,251,211,71,137,104,33,127,16,160,62,206,151,198,39,141,34,141,95,154,130,2,52,1,105,198,201,167,26,160,50,30,175,240,\r
+4,15,241,155,207,5,40,192,19,101,108,146,52,147,3,92,200,83,164,153,26,224,34,158,22,160,59,184,88,154,233,10,7,3,52,149,103,200,252,153,10,207,242,243,236,0,207,97,77,225,211,3,116,26,207,13,240,25,60,79,122,74,164,57,83,225,249,1,154,195,227,3,92,202,\r
+101,1,170,227,114,249,172,144,166,82,154,170,113,92,205,53,10,47,240,243,66,133,23,201,140,197,1,154,207,75,164,127,169,159,151,201,115,185,136,123,150,140,157,29,160,98,174,245,243,10,121,174,44,224,115,120,85,128,207,229,243,2,120,171,83,120,117,128,\r
+150,131,23,198,234,165,105,144,166,81,40,172,17,10,231,251,121,173,244,52,41,124,129,194,159,242,115,179,159,215,73,71,75,128,206,227,245,210,108,8,240,133,188,81,225,214,0,173,229,241,126,222,36,207,205,210,84,5,120,11,111,85,248,34,133,219,100,210,\r
+182,0,173,231,237,1,106,225,139,21,222,17,160,86,225,219,194,151,248,249,82,249,184,76,154,42,133,245,0,181,113,187,194,161,0,109,231,118,63,135,253,108,248,185,67,228,237,44,224,46,54,69,171,203,253,188,83,158,17,17,38,170,112,44,64,29,176,36,154,248,\r
+56,238,230,43,164,73,40,156,12,208,78,110,148,198,146,137,41,133,119,41,220,19,160,110,153,27,231,94,89,208,39,138,94,25,224,171,248,106,249,188,90,222,62,45,62,185,90,225,107,152,130,13,141,107,234,54,55,111,186,180,161,169,117,211,198,166,213,155,55,\r
+53,173,111,185,116,67,221,166,181,76,133,205,151,235,187,244,154,136,30,235,172,105,181,18,102,172,115,5,211,248,250,120,44,105,233,49,107,139,30,73,65,242,107,153,124,145,120,103,167,145,96,154,209,28,79,116,214,116,38,244,112,196,168,233,73,232,221,\r
+221,70,162,166,217,30,196,74,127,56,222,19,139,196,245,48,211,108,183,137,77,13,233,113,225,210,173,91,93,117,201,164,17,109,143,8,229,185,110,11,54,228,206,193,162,211,140,222,80,36,149,52,119,25,107,204,136,81,23,10,25,201,228,58,61,166,219,178,213,\r
+184,81,104,60,225,2,144,243,173,52,99,166,181,138,233,146,210,143,209,235,227,53,57,185,216,101,91,152,188,245,241,176,193,52,177,217,140,25,45,169,104,187,145,216,164,99,80,60,16,15,233,145,45,122,194,148,239,116,167,215,234,50,147,76,51,93,57,139,111,\r
+34,17,72,31,8,37,12,221,50,26,204,164,197,116,182,171,6,91,157,39,28,218,97,118,166,18,186,101,198,99,43,202,28,167,155,241,26,177,137,184,34,148,59,206,84,118,202,164,160,81,24,236,19,102,123,74,190,55,39,34,76,19,28,242,49,195,170,217,188,177,9,83,\r
+138,114,167,180,118,233,139,150,46,107,77,69,153,38,71,68,245,134,156,65,133,175,67,119,243,200,110,38,181,41,22,3,239,136,14,163,194,48,75,78,106,244,121,163,136,64,16,69,4,105,48,19,89,25,135,76,160,218,178,108,51,187,229,27,166,5,108,140,110,89,150,\r
+84,248,51,240,18,6,67,169,8,172,157,35,255,220,210,225,84,202,220,130,201,211,101,244,50,177,137,95,19,28,219,97,147,207,139,34,66,102,57,211,147,70,40,149,48,173,190,154,117,128,38,112,217,96,118,26,73,75,86,118,8,6,138,178,60,154,98,221,41,11,116,13,\r
+61,138,81,134,85,124,237,169,142,14,65,126,222,246,213,8,190,246,62,128,65,183,116,166,2,48,117,36,96,154,62,74,170,213,246,42,208,152,217,105,88,117,177,240,22,35,97,118,244,229,218,106,99,60,14,72,45,24,161,223,104,245,70,33,169,56,215,213,13,70,50,\r
+148,48,187,29,15,122,195,102,2,234,76,114,86,96,60,82,211,108,218,122,78,27,30,1,125,221,153,40,208,70,204,93,57,156,219,42,89,187,203,145,61,29,140,245,93,70,104,103,82,124,179,180,116,180,180,39,213,6,113,170,68,29,47,192,134,122,200,74,233,17,219,\r
+211,5,201,120,42,17,50,108,120,143,51,122,187,141,144,101,132,237,17,127,196,129,20,84,211,220,225,144,171,170,87,79,36,230,33,102,182,143,180,155,55,98,196,48,144,103,162,41,104,53,59,99,186,149,74,24,163,93,48,146,166,139,73,166,39,13,171,177,23,160,\r
+178,196,138,27,140,68,212,76,38,5,200,136,172,145,212,182,8,203,100,22,35,232,119,176,97,132,55,26,122,216,73,145,73,43,28,79,89,89,32,218,172,215,196,19,81,221,178,236,9,222,8,82,26,232,116,183,35,61,231,24,117,67,34,46,201,118,117,202,140,56,148,176,\r
+161,209,148,209,19,100,196,24,134,243,245,217,224,91,145,5,129,189,162,41,6,150,137,84,55,140,159,59,37,224,36,130,181,241,40,232,140,119,62,234,227,209,168,30,67,148,169,88,17,79,172,203,122,213,76,110,53,99,216,166,160,181,167,180,108,27,20,140,39,\r
+91,116,89,89,16,54,34,134,164,211,132,139,165,48,81,73,166,236,237,3,242,226,203,31,234,130,98,9,3,208,158,178,221,53,240,195,66,40,63,21,187,210,132,226,115,92,99,41,215,17,249,70,204,74,244,101,125,97,219,25,75,107,144,147,26,101,68,146,20,28,145,205,\r
+1,18,56,25,34,235,115,250,133,181,205,210,27,54,100,99,80,132,174,41,89,179,56,135,114,99,44,21,53,178,73,92,185,50,147,248,138,71,115,79,67,116,98,40,222,221,151,147,131,152,170,75,93,115,147,187,84,14,214,96,45,143,141,38,79,68,44,23,208,109,139,206,\r
+91,176,96,1,83,179,235,14,150,217,238,198,156,138,242,122,23,72,179,80,154,69,67,172,22,10,43,247,205,50,195,202,117,251,203,214,56,25,66,139,132,208,202,177,19,202,173,129,50,180,22,159,156,214,73,115,75,134,214,18,161,85,53,22,90,219,134,22,47,149,\r
+197,23,158,194,226,177,230,213,188,222,197,67,92,150,9,151,21,99,118,119,110,180,100,72,45,31,179,182,178,184,213,78,231,14,226,213,244,188,106,153,166,210,243,244,130,74,191,161,119,85,58,76,253,42,253,156,126,161,210,32,61,163,210,117,244,25,149,174,\r
+161,107,85,122,132,30,85,233,70,190,30,140,199,84,112,202,162,207,170,180,155,110,80,233,122,250,172,194,187,85,190,129,111,84,249,38,222,163,240,231,228,227,102,149,111,225,91,85,254,60,223,138,237,249,196,74,205,3,172,73,232,125,65,229,47,242,151,160,\r
+69,174,146,8,232,214,181,117,85,168,83,20,254,178,202,123,249,54,4,118,238,132,156,112,5,17,122,65,225,219,85,190,131,191,162,242,87,249,78,149,247,241,93,200,46,238,101,131,194,119,171,252,53,254,186,202,247,240,126,149,239,229,111,72,115,159,202,247,\r
+139,18,15,168,252,32,253,12,27,193,208,226,141,169,152,101,70,141,108,194,102,186,236,124,91,39,45,183,86,208,230,151,36,231,107,225,184,145,212,98,113,75,67,65,106,233,102,76,211,99,125,152,150,192,126,27,151,28,86,173,53,166,55,95,205,138,107,29,72,\r
+228,154,209,139,125,58,210,167,45,204,206,235,171,70,153,49,196,127,125,251,229,232,86,249,155,124,64,12,246,144,202,223,226,253,76,59,78,40,68,154,119,18,44,226,90,244,147,73,160,242,195,252,109,149,238,33,152,232,32,127,71,229,71,96,21,238,178,43,45,\r
+51,100,167,93,45,222,161,185,201,208,161,195,65,225,211,75,98,37,177,54,192,212,117,78,84,239,211,186,244,93,134,214,110,24,49,205,210,163,221,178,103,107,61,166,213,85,93,18,179,75,244,68,84,179,186,116,11,141,161,205,119,45,192,231,107,221,137,56,22,\r
+90,125,26,44,221,39,188,28,176,85,165,193,86,157,30,135,218,154,212,173,154,153,132,113,18,162,35,28,19,150,37,154,158,128,104,233,132,6,140,216,236,210,203,181,142,68,60,170,233,154,149,72,37,197,94,78,13,85,45,138,105,185,197,166,134,178,170,86,43,\r
+73,150,196,50,153,81,147,138,80,134,156,238,172,197,67,233,242,174,214,118,20,200,104,117,118,141,54,106,64,229,71,5,141,143,169,124,136,31,87,248,9,149,159,20,199,31,230,126,236,214,67,153,179,46,145,208,251,36,125,170,60,64,63,83,249,8,63,165,242,211,\r
+242,54,8,159,209,155,130,228,64,187,25,75,7,161,192,231,25,108,208,39,170,113,134,193,46,83,126,231,135,186,162,113,212,33,158,229,75,151,170,252,44,239,17,42,71,85,62,198,207,41,252,93,149,191,39,96,44,30,29,107,105,138,90,171,97,1,97,153,114,78,235,\r
+30,170,231,180,142,120,162,86,147,232,123,94,225,23,84,254,62,63,148,137,218,81,133,28,83,208,101,171,118,198,84,126,145,95,18,169,94,150,230,149,97,22,202,22,122,42,191,202,123,80,83,136,63,36,150,94,203,76,27,94,176,169,252,3,153,54,251,227,107,54,\r
+166,242,250,120,42,18,182,67,61,121,18,5,177,91,111,136,24,122,82,112,166,201,185,88,98,18,78,71,196,153,29,54,6,123,244,152,37,209,152,194,28,193,95,58,98,54,55,33,17,40,241,100,117,12,229,157,202,63,228,215,21,254,145,202,63,230,159,168,252,83,126,\r
+3,99,61,78,37,168,242,155,12,159,191,197,63,71,25,234,90,254,168,244,33,255,66,225,183,85,254,165,160,227,87,252,78,198,210,163,202,52,149,127,13,31,243,111,4,59,51,71,58,99,253,176,250,109,122,110,74,206,29,18,63,188,43,110,121,79,165,63,209,71,10,255,\r
+86,229,223,241,245,42,191,207,119,34,183,158,120,91,64,249,155,233,145,144,71,205,183,104,236,7,229,140,103,109,247,229,248,12,229,178,148,169,165,77,77,242,156,127,138,87,4,40,28,113,202,28,78,127,82,105,217,200,59,130,233,35,38,229,28,179,167,150,186,\r
+30,172,181,147,105,198,116,233,88,238,68,62,209,141,66,225,8,177,237,195,67,86,189,161,98,52,128,121,217,203,133,221,159,184,242,25,110,181,83,86,206,189,36,243,233,233,227,76,157,235,217,196,70,54,246,194,80,10,25,63,102,213,212,67,56,137,208,97,215,\r
+28,206,230,10,5,103,124,204,93,6,206,204,80,223,214,47,22,130,254,11,93,206,230,101,39,185,12,153,226,146,190,144,142,240,8,11,38,183,175,46,107,130,70,169,238,176,110,73,249,131,14,7,166,190,112,90,4,111,105,153,92,146,76,30,158,153,236,123,195,113,\r
+86,124,237,208,125,73,81,105,147,43,222,124,56,177,116,90,93,118,28,8,47,177,179,28,48,103,148,214,143,158,159,189,98,169,60,177,174,110,211,253,86,60,35,199,132,225,21,62,148,50,147,141,209,110,11,71,68,95,135,157,150,237,115,204,40,234,219,71,187,199,\r
+85,159,34,55,201,228,166,50,105,94,9,19,122,224,178,81,198,200,186,219,103,92,129,20,156,28,65,37,195,78,78,213,206,97,218,137,254,186,246,100,60,146,178,12,137,167,225,155,100,31,42,3,248,209,131,45,34,247,10,96,3,164,25,58,206,78,113,233,134,57,186,\r
+229,43,34,87,75,70,175,105,123,216,241,56,190,236,212,87,32,87,51,2,104,251,230,163,108,212,157,203,56,51,217,144,41,216,32,130,30,134,51,207,56,249,149,23,88,76,130,78,245,122,44,30,67,41,23,113,148,154,86,234,114,9,96,231,75,160,62,97,91,50,215,144,\r
+67,119,31,147,71,117,202,198,164,155,22,182,94,251,100,115,74,240,201,220,177,4,79,120,114,149,35,119,92,96,101,135,98,78,12,21,231,100,171,225,87,140,211,221,207,247,162,213,148,161,161,244,77,145,244,250,37,28,155,237,235,160,149,99,66,230,168,75,37,\r
+201,151,217,59,27,201,30,27,210,165,42,211,153,167,100,146,21,25,156,57,1,36,169,91,46,169,54,183,102,255,231,145,51,176,194,206,1,205,241,30,36,78,20,26,67,60,114,231,184,242,80,80,65,24,189,235,59,78,16,78,77,246,245,88,210,113,191,235,45,81,176,52,\r
+215,4,195,111,101,138,92,7,16,82,93,122,114,93,60,97,52,70,140,40,50,51,0,51,46,102,244,90,233,207,145,27,102,54,102,21,152,209,185,233,242,69,119,58,183,177,193,33,55,142,186,172,169,201,181,193,176,139,168,19,225,101,170,27,45,169,128,35,113,49,106,\r
+126,15,50,187,65,167,83,31,149,17,81,62,5,233,74,186,138,152,174,198,87,30,125,154,10,229,120,141,247,66,57,107,219,79,156,146,237,39,142,204,120,78,193,220,27,233,38,180,123,240,117,29,40,120,241,156,87,62,64,5,229,131,20,104,43,28,55,153,94,30,32,245,\r
+48,141,47,175,56,76,74,121,229,97,242,149,87,29,166,9,135,108,14,159,67,123,26,249,208,206,197,74,141,166,210,25,144,97,30,205,166,18,188,157,73,55,99,164,220,161,73,183,208,173,68,246,155,200,196,246,155,72,149,103,191,137,92,30,244,126,158,190,128,\r
+30,145,230,8,5,72,193,115,85,69,63,77,92,135,102,82,75,249,147,52,1,47,147,107,189,65,111,63,21,214,230,203,99,74,173,15,253,227,131,190,65,154,218,86,30,244,5,243,43,43,170,6,168,168,159,166,61,71,197,143,141,144,179,12,58,150,131,114,37,100,173,162,\r
+25,84,13,201,23,216,114,174,117,184,101,229,92,69,95,164,47,65,162,124,58,155,190,76,123,65,37,64,75,232,54,216,215,131,181,229,116,59,221,9,205,102,64,207,125,116,23,102,205,165,153,116,55,222,124,244,53,172,246,98,229,215,177,6,231,85,71,31,110,66,\r
+95,0,35,55,20,78,63,66,193,117,131,116,90,91,197,0,205,104,241,44,243,78,158,68,207,248,107,243,139,188,121,251,105,102,85,48,191,159,102,46,243,22,121,239,57,254,151,202,96,190,167,8,74,206,58,112,252,131,202,126,154,93,11,45,231,180,13,144,86,171,120,\r
+150,249,139,252,65,223,209,251,104,193,100,58,30,244,21,249,23,95,115,132,78,175,45,8,22,244,211,92,239,189,52,46,168,76,90,208,79,103,108,13,42,210,53,111,235,110,63,31,56,254,122,80,233,167,146,33,179,172,161,201,104,183,66,236,139,104,34,181,1,26,\r
+219,224,194,237,52,135,46,166,249,180,3,134,186,132,206,34,29,230,8,209,249,20,166,141,100,208,101,212,65,38,117,210,21,104,251,208,119,45,69,108,19,118,64,193,203,176,250,94,24,169,128,46,160,165,244,13,186,143,252,162,116,214,172,55,208,253,48,18,34,\r
+6,171,30,160,7,33,197,68,218,69,223,164,3,48,107,33,37,233,33,172,240,130,70,132,190,69,15,195,172,171,192,245,219,120,243,225,185,138,14,210,119,224,166,92,3,63,66,143,166,1,243,12,70,4,106,45,229,176,107,126,75,213,83,116,38,195,55,211,7,105,126,91,\r
+97,169,247,89,42,107,243,84,182,30,33,160,187,226,24,70,43,145,74,246,167,135,171,70,14,123,158,162,234,60,74,3,200,147,3,160,43,208,38,32,115,18,160,77,1,62,187,168,158,122,115,128,222,146,213,180,197,6,6,219,111,143,193,34,121,88,185,150,14,209,227,\r
+160,247,4,201,101,19,167,123,158,68,79,174,78,135,169,63,173,211,179,176,128,112,109,172,122,145,234,203,43,7,168,166,214,91,37,168,95,112,23,45,6,32,22,110,45,92,164,216,162,87,180,182,121,209,177,184,181,45,191,170,181,205,23,244,138,42,181,249,143,\r
+211,18,193,211,82,239,17,90,54,20,179,115,109,167,92,13,134,215,208,56,56,98,42,34,49,136,88,60,11,162,159,135,24,108,0,242,111,182,99,192,135,62,149,6,32,126,62,102,158,141,168,188,202,86,179,49,171,102,35,61,101,231,28,121,19,252,231,217,111,79,219,\r
+113,146,171,212,32,28,228,40,245,19,60,37,214,234,6,105,57,176,124,150,4,247,217,251,104,49,30,181,45,85,71,151,121,61,203,242,139,16,13,247,145,86,85,148,191,168,214,23,244,245,211,138,125,164,86,6,125,79,209,202,60,218,186,59,31,72,126,183,114,200,\r
+55,179,109,130,183,65,173,219,225,155,59,168,148,190,130,176,254,42,4,190,131,206,133,88,153,0,47,5,218,239,183,131,116,42,85,192,186,71,177,126,58,112,126,204,70,221,12,248,244,57,188,229,139,112,89,5,235,210,126,244,131,154,120,47,47,235,61,167,231,\r
+73,244,124,215,54,237,247,240,123,158,94,112,210,41,191,3,46,5,232,255,16,136,58,103,31,121,15,13,82,113,91,69,225,170,1,58,119,29,183,12,210,121,109,190,103,169,174,205,83,184,26,174,43,172,135,227,224,191,134,214,1,106,116,242,219,26,228,55,184,238,\r
+252,187,232,12,36,56,101,144,214,194,88,77,133,23,244,211,167,196,209,120,244,83,115,63,173,59,64,107,6,169,165,109,144,214,183,201,252,13,3,116,225,0,109,148,76,209,138,5,155,106,21,49,223,230,182,90,255,139,84,28,84,10,183,56,80,15,250,91,251,105,235,\r
+86,228,21,73,8,23,181,28,160,105,14,219,109,120,29,231,188,94,220,2,216,149,229,50,223,49,146,185,12,22,94,130,151,67,208,189,8,241,252,16,114,136,60,159,64,14,113,192,118,9,21,163,221,15,235,223,11,139,221,135,77,231,126,123,198,98,68,125,45,226,126,\r
+53,214,180,35,194,123,16,231,215,33,190,111,65,76,239,71,196,60,136,40,120,8,246,126,24,180,30,195,251,19,176,244,97,252,13,2,142,199,0,196,119,0,188,223,227,75,124,219,13,112,246,32,26,191,79,47,194,234,215,97,251,121,137,94,6,199,61,52,139,94,1,20,\r
+253,224,150,160,87,233,53,120,185,150,118,210,15,232,135,240,178,100,149,215,233,71,232,59,108,191,253,216,134,246,135,89,207,127,8,168,138,231,167,208,27,244,83,27,218,69,232,121,195,134,118,158,92,102,165,55,206,109,248,18,216,159,86,120,233,17,186,\r
+236,113,210,251,169,189,185,162,48,212,79,225,188,7,40,223,123,208,115,48,27,122,133,54,143,163,192,207,49,154,6,180,77,7,106,68,131,105,14,133,52,111,149,38,208,91,118,88,229,201,133,121,154,207,131,144,82,176,185,188,194,142,135,106,60,140,117,158,\r
+85,179,42,177,9,156,94,110,195,171,114,214,34,224,107,128,188,178,129,96,91,242,28,220,237,145,88,193,212,133,67,66,56,241,255,34,12,244,18,88,189,140,96,120,5,38,123,21,41,236,53,36,252,151,105,17,212,20,161,150,128,93,9,102,189,77,191,132,216,19,16,\r
+30,146,208,61,88,115,38,253,10,14,16,145,151,103,205,181,156,126,109,155,43,79,110,251,211,187,222,69,224,36,65,176,119,144,58,100,191,235,116,144,213,37,233,217,148,244,108,226,229,114,134,33,118,58,112,143,236,163,98,209,164,82,62,162,208,165,159,98,\r
+64,233,27,131,20,7,196,187,219,134,141,13,208,21,3,148,64,1,16,244,74,87,50,232,27,32,75,224,158,58,64,227,29,224,167,130,202,177,3,199,111,23,166,187,164,211,111,191,5,253,199,14,65,163,29,116,57,96,65,248,89,246,51,128,92,120,19,158,55,193,74,55,141,\r
+216,34,223,194,232,219,52,9,122,7,161,249,60,232,88,9,45,207,161,247,144,49,223,7,165,223,131,214,31,40,78,255,0,74,127,64,110,253,35,104,125,132,58,235,31,65,233,35,84,16,127,206,38,161,121,216,106,223,163,223,194,182,59,176,205,254,14,171,37,197,239,\r
+205,218,113,47,125,144,222,56,246,130,170,192,110,18,234,163,15,65,213,3,25,246,128,195,31,33,123,38,183,182,97,252,79,224,224,228,214,91,208,39,16,41,153,236,69,77,209,82,81,133,90,162,109,153,247,110,154,80,89,101,87,18,61,7,142,255,25,96,232,69,20,\r
+167,70,22,113,127,65,251,111,80,246,175,40,101,254,19,229,220,223,32,234,127,101,129,0,162,89,17,75,160,214,1,91,196,18,40,246,190,189,183,205,177,119,108,15,96,82,76,255,100,231,211,172,136,147,252,244,207,160,238,136,216,136,57,30,60,149,242,10,108,\r
+104,254,161,82,196,103,19,156,97,51,212,156,41,244,47,105,134,10,253,107,218,38,10,68,148,205,52,187,183,128,248,95,233,223,211,33,82,131,167,204,202,151,196,228,78,90,117,38,56,164,177,248,63,160,235,232,197,190,83,91,252,55,24,200,89,92,155,78,2,62,\r
+187,252,112,95,237,4,185,47,171,149,207,209,10,116,254,155,254,199,141,142,247,224,24,233,252,47,253,95,218,204,27,96,29,73,53,126,152,25,245,176,231,144,43,37,167,104,241,103,41,249,65,201,217,205,253,176,179,179,155,251,233,239,195,119,115,240,57,206,\r
+228,234,206,60,119,54,31,239,206,187,114,220,9,172,48,115,158,155,49,216,157,246,9,140,65,121,44,60,243,216,139,58,64,242,110,30,221,193,69,168,11,112,172,178,231,209,255,3,80,75,3,4,10,0,0,8,8,0,22,178,149,71,221,192,76,137,196,4,0,0,149,9,0,0,45,0,\r
+0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,66,111,111,116,115,116,114,97,112,77,97,105,110,83,116,97,114,116,101,114,46,99,108,97,115,115,141,86,89,91,219,86,16,61,194,178,5,170,18,192,108,49,4,112,2,20,155,197,78,83,74,\r
+27,160,52,9,133,176,24,146,96,150,58,164,139,176,47,70,68,150,168,44,19,232,150,46,105,251,27,250,218,151,190,54,47,134,175,124,77,223,251,47,250,212,127,209,118,174,100,131,55,242,213,15,119,153,153,59,115,206,204,189,99,253,249,207,111,47,1,188,129,\r
+31,101,248,113,87,70,47,102,36,188,47,97,86,70,43,230,100,220,195,188,140,5,44,242,97,73,134,7,49,25,203,88,225,195,253,122,60,224,146,135,245,88,149,16,151,48,36,163,17,107,18,214,101,108,96,83,194,7,245,72,112,55,143,248,176,197,135,199,245,248,80,\r
+198,71,248,88,194,39,245,80,249,114,91,70,23,146,18,82,2,124,83,154,161,217,211,2,60,161,240,134,0,113,198,76,49,1,141,49,205,96,43,185,204,54,179,214,212,109,157,36,254,152,153,84,245,13,213,210,248,190,32,20,237,93,45,43,32,28,51,173,116,52,109,169,\r
+41,157,69,159,90,234,254,62,179,162,119,77,211,206,218,180,89,86,53,35,110,171,150,205,172,73,1,222,44,95,10,232,15,109,197,246,212,3,53,170,171,70,58,26,183,45,205,72,79,186,18,205,140,206,105,58,155,116,240,168,86,154,34,180,212,48,22,32,187,33,231,\r
+205,12,97,185,92,126,88,64,131,171,93,84,45,66,159,52,13,155,29,218,51,186,154,205,198,76,53,197,72,24,112,79,24,204,142,174,175,198,74,84,252,112,134,80,59,34,1,205,37,177,29,17,15,205,245,203,204,222,53,41,135,157,37,6,22,219,209,89,210,142,186,58,\r
+178,108,47,79,220,209,126,49,121,173,149,110,167,134,166,185,231,217,195,36,219,183,53,211,200,74,224,165,216,209,140,84,76,205,25,201,93,102,57,100,122,66,21,121,170,100,46,238,104,78,117,84,203,234,39,7,91,85,122,157,25,164,16,22,4,212,105,180,144,\r
+227,102,206,74,178,57,231,84,160,86,225,34,220,131,130,32,174,41,120,7,183,4,116,92,144,58,1,74,169,70,193,14,210,18,118,21,104,216,147,240,68,129,142,140,2,131,15,65,152,18,246,21,124,10,75,65,22,116,39,122,232,26,69,220,170,69,244,2,227,200,61,103,\r
+207,177,40,200,225,128,208,243,212,19,173,138,236,41,120,138,67,1,77,231,226,251,219,123,84,9,9,71,10,62,195,231,69,100,133,52,208,133,215,181,109,142,226,11,5,95,226,43,5,207,240,53,241,114,195,143,22,195,143,70,134,30,19,121,75,194,55,10,190,197,119,\r
+84,236,243,0,171,57,195,214,50,236,172,96,2,102,103,204,156,158,10,26,166,29,212,169,236,54,11,218,187,44,232,82,8,22,125,6,23,239,172,6,53,163,40,78,105,148,109,109,59,199,61,4,7,7,178,131,17,5,207,241,61,135,246,131,128,193,255,249,180,232,141,156,\r
+3,43,65,228,181,205,245,85,42,116,83,40,92,122,221,23,38,203,43,181,80,176,140,85,89,198,200,178,173,34,215,197,90,183,166,153,29,63,202,218,44,83,254,176,138,30,42,79,56,175,146,217,15,84,139,25,84,239,112,177,7,20,35,93,112,138,55,130,146,186,174,237,\r
+90,76,165,103,119,41,153,179,184,163,226,190,181,44,172,43,229,224,179,204,158,169,241,252,59,67,175,8,215,160,211,186,240,254,7,66,213,205,167,138,96,129,90,177,37,220,174,113,102,171,234,76,248,85,141,227,202,69,58,106,218,154,113,96,62,161,59,124,\r
+171,52,140,123,223,203,194,20,68,225,106,145,128,190,138,54,82,131,164,147,8,186,158,92,207,27,97,40,92,213,75,36,34,189,162,242,6,92,158,254,179,38,221,84,41,163,51,25,213,166,135,64,30,219,106,165,246,17,17,220,49,45,50,170,32,88,35,143,53,8,158,69,\r
+174,233,124,3,215,232,255,214,15,254,243,64,224,45,141,198,235,180,139,210,44,208,236,29,58,134,240,130,22,117,232,163,209,231,8,59,208,79,163,226,26,96,0,175,211,76,143,19,33,178,226,135,255,38,59,137,230,205,161,145,99,212,173,156,194,147,16,127,135,\r
+152,240,140,230,225,205,195,23,63,129,148,71,253,49,26,38,196,19,200,1,49,143,215,2,162,95,201,227,210,132,55,224,245,95,38,235,198,132,167,5,77,241,60,154,39,124,1,159,64,18,127,194,51,76,251,150,205,23,14,90,14,167,199,9,19,160,112,157,180,239,194,\r
+48,174,98,12,221,244,205,208,67,31,0,189,14,204,121,23,74,1,38,95,133,49,228,64,223,36,251,17,130,236,195,67,140,210,138,251,28,67,132,184,139,52,247,225,6,125,149,120,201,87,19,110,226,77,178,26,43,144,118,117,111,145,110,156,36,34,73,222,38,47,244,\r
+79,80,200,221,49,69,244,209,188,116,138,214,196,176,191,237,24,237,121,116,44,143,188,156,246,140,139,109,98,247,207,232,29,105,19,111,114,170,121,92,241,7,242,232,252,9,190,128,247,215,231,162,240,203,191,127,157,162,43,225,191,90,36,124,130,238,99,\r
+244,252,113,86,129,118,10,11,10,19,164,221,40,17,188,65,235,113,202,61,167,58,77,97,131,4,119,130,200,120,113,153,234,49,137,41,58,215,76,228,223,37,173,135,62,128,174,227,61,90,137,28,222,89,74,150,156,68,240,130,223,118,226,220,249,15,80,75,3,4,10,\r
+0,0,8,8,0,22,178,149,71,72,214,183,36,211,10,0,0,35,24,0,0,40,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,87,114,97,112,112,101,114,69,120,101,99,117,116,111,114,46,99,108,97,115,115,149,87,121,96,28,85,25,255,77,178,\r
+201,110,54,211,132,110,146,182,41,41,44,37,109,210,205,69,203,221,150,35,73,83,26,200,213,108,210,154,162,214,201,238,52,89,216,236,132,217,217,30,8,10,40,40,42,162,28,34,20,68,69,173,183,65,233,6,136,128,162,22,197,27,239,251,62,241,194,3,111,240,247,\r
+205,76,54,179,219,109,13,127,236,155,247,189,247,189,239,248,125,199,123,251,228,115,15,63,10,96,189,18,242,227,45,126,220,17,192,91,131,40,193,157,126,220,21,68,25,14,6,161,224,110,89,185,199,143,183,5,112,175,31,111,15,226,29,120,103,16,21,184,47,136,\r
+74,28,244,227,93,65,84,227,96,5,57,223,45,195,123,100,56,36,195,123,229,244,251,100,120,191,176,124,32,128,15,202,247,67,178,242,97,153,125,36,128,25,249,222,47,195,71,3,248,152,124,31,144,237,195,50,203,6,48,43,223,7,101,120,40,128,135,229,59,39,195,\r
+199,253,120,36,128,71,197,138,199,132,253,19,65,156,142,79,138,157,143,203,236,83,50,251,116,0,159,17,31,142,248,241,132,240,28,145,157,251,100,246,89,63,62,23,196,217,56,24,192,147,242,253,124,0,95,8,224,139,1,124,41,128,47,7,240,149,0,190,42,203,79,\r
+249,241,181,32,186,132,237,235,242,253,134,12,79,85,226,155,248,150,72,249,182,31,223,9,162,23,223,21,37,223,11,226,251,248,129,152,246,195,32,126,132,31,7,241,19,252,52,128,159,41,168,223,210,27,29,25,238,237,26,29,233,29,28,216,61,58,220,183,123,104,\r
+120,112,168,103,120,100,76,65,168,239,50,109,175,214,145,212,82,19,29,81,203,76,164,38,54,41,88,210,109,164,210,150,150,178,118,104,201,140,174,96,101,158,128,174,206,104,143,71,66,254,230,80,231,200,54,207,230,138,188,205,232,182,206,221,27,206,60,107,\r
+119,116,180,95,193,242,93,189,67,187,163,35,131,195,61,133,18,61,59,5,226,130,211,166,49,173,155,86,66,79,43,88,230,152,158,177,18,201,142,161,220,58,205,175,90,224,218,154,72,210,254,42,135,51,97,116,8,45,14,238,211,204,20,125,29,204,88,211,25,43,39,\r
+202,70,161,115,122,90,79,197,181,113,155,177,60,102,164,246,36,38,20,172,235,51,204,137,142,9,83,139,39,245,142,125,166,70,38,179,99,167,243,237,182,121,50,166,102,37,140,20,15,213,236,49,76,26,116,153,30,179,182,36,76,142,134,121,64,193,197,205,249,\r
+86,20,87,121,60,61,61,251,245,88,134,194,168,194,215,109,196,233,88,117,95,34,165,15,100,166,198,117,115,68,142,75,60,141,152,150,220,161,153,9,161,221,69,129,205,181,134,33,161,117,174,192,161,2,156,202,55,39,82,9,235,124,5,231,21,181,181,16,233,99,\r
+120,176,67,129,66,97,117,158,237,158,253,49,125,218,69,199,103,77,38,24,189,198,197,57,186,108,218,212,167,53,83,223,146,72,51,59,199,51,34,100,212,76,40,56,161,121,157,163,32,165,91,29,163,195,189,18,172,180,145,49,99,11,241,94,216,9,230,12,72,251,241,\r
+115,198,223,212,181,184,45,210,24,53,147,204,225,60,122,139,78,165,49,205,210,227,59,53,6,174,130,128,77,105,150,165,155,57,167,108,36,182,206,47,83,65,69,124,65,88,85,210,208,226,67,158,68,109,90,20,154,130,91,32,145,98,17,234,218,84,78,19,207,244,166,\r
+152,163,206,242,38,63,126,193,168,79,232,150,23,15,130,193,149,188,44,84,208,210,252,66,82,214,175,219,144,19,187,75,155,47,61,186,37,20,147,212,43,45,34,153,44,186,215,101,24,22,237,211,166,251,53,241,72,51,5,37,113,208,167,153,19,68,164,166,136,14,\r
+26,145,112,68,42,104,56,158,66,5,181,227,69,228,31,163,70,139,154,194,140,112,216,182,25,83,244,185,146,240,185,145,96,188,215,54,31,109,220,186,98,246,170,110,159,57,48,160,137,148,115,138,156,91,172,164,184,190,71,203,36,231,251,237,185,139,146,180,\r
+171,168,168,128,169,95,145,97,215,137,179,10,119,41,40,219,235,136,172,99,25,25,166,213,159,72,167,201,183,224,108,48,106,215,140,83,255,181,5,245,215,46,242,21,172,254,255,149,74,23,188,41,174,160,185,128,223,33,219,92,178,125,161,67,171,152,196,47,\r
+169,186,88,77,200,222,175,100,72,168,248,53,126,195,58,93,112,120,56,147,178,18,83,122,174,176,21,180,186,54,133,23,132,135,247,208,152,112,211,154,116,83,56,110,144,76,25,86,88,223,207,210,105,103,205,44,200,26,28,151,238,232,199,111,85,60,141,223,137,\r
+194,223,179,106,23,89,61,42,118,227,101,42,198,176,75,197,165,120,177,138,151,224,165,42,14,224,74,21,41,24,42,254,128,63,82,89,220,83,175,93,90,90,87,241,39,60,163,226,117,184,73,197,159,69,93,30,199,144,102,77,170,248,139,112,252,85,54,235,188,155,\r
+209,73,141,151,104,52,51,165,226,111,142,140,155,85,60,43,108,234,149,137,233,40,163,161,59,26,254,46,187,255,200,219,112,4,255,83,54,254,37,27,53,69,122,52,145,236,54,50,201,184,141,150,244,178,240,190,34,192,154,198,148,13,108,187,192,245,111,21,150,\r
+248,250,31,17,252,95,60,167,226,121,206,20,192,96,183,138,231,181,238,164,24,252,250,249,124,113,91,180,138,140,176,46,47,204,231,174,76,34,25,151,210,246,103,204,228,48,43,89,85,20,165,132,153,221,81,0,152,83,129,74,27,61,242,46,239,208,205,180,237,\r
+209,50,239,106,119,82,99,21,236,73,136,96,95,59,161,81,149,82,60,51,15,70,126,111,87,240,248,113,211,138,239,3,139,141,37,29,142,231,46,141,176,158,162,42,114,53,185,70,55,181,134,155,10,141,45,92,115,45,109,10,107,169,120,254,206,130,181,77,237,225,\r
+145,73,61,173,135,247,37,146,201,240,184,30,54,245,41,99,47,21,166,13,35,213,30,30,74,234,12,123,56,147,118,77,147,110,202,107,173,125,13,83,244,105,197,231,87,202,4,189,114,21,183,10,254,203,189,245,234,185,98,24,78,197,175,42,1,165,194,175,4,85,165,\r
+82,10,240,21,48,252,138,170,42,75,148,42,191,82,173,42,39,40,75,21,116,14,24,97,187,185,208,28,107,50,124,185,126,192,81,155,158,214,99,98,110,156,6,20,205,156,121,236,88,131,39,122,147,32,122,128,80,238,247,164,97,77,238,6,28,244,172,158,122,236,119,\r
+212,124,139,229,69,83,218,44,99,185,93,236,105,155,220,149,87,242,14,43,57,156,203,189,120,207,245,222,82,78,143,40,222,190,235,138,221,24,84,95,157,46,188,168,151,54,231,63,77,132,171,166,224,58,151,226,101,67,108,46,170,170,38,93,140,185,80,132,148,\r
+249,209,188,206,234,138,2,222,92,59,225,86,250,152,91,65,158,218,149,152,118,212,5,211,94,194,217,113,132,187,59,14,17,57,254,53,54,50,105,26,251,114,79,198,10,138,137,198,38,117,169,227,37,114,31,243,209,151,178,156,203,36,247,214,91,120,193,215,229,\r
+216,163,78,190,197,120,128,97,44,179,12,226,202,184,106,246,139,84,65,219,162,110,115,183,209,200,253,105,25,243,185,177,249,5,165,196,81,111,194,218,98,207,99,5,167,121,165,118,79,106,102,148,23,182,158,138,233,121,102,229,253,11,89,90,144,242,246,75,\r
+74,58,51,67,214,92,244,157,104,231,85,145,13,2,20,75,26,18,182,149,199,126,97,49,140,49,50,91,246,163,219,174,140,197,62,36,143,10,83,177,75,180,216,139,140,118,165,45,59,128,141,69,223,159,5,238,227,20,254,251,173,4,16,68,61,182,99,152,84,148,84,9,214,\r
+147,30,241,208,43,72,143,122,232,6,210,59,60,244,201,164,119,122,232,83,73,191,200,67,175,69,72,110,118,206,67,114,185,219,95,222,239,246,151,215,62,191,85,168,128,134,113,158,136,145,26,64,57,79,1,43,231,160,140,205,161,100,44,18,42,157,133,111,14,101,\r
+99,179,40,111,153,133,127,198,150,27,231,88,206,51,64,51,116,142,203,156,83,216,99,235,144,153,104,97,85,96,34,39,59,1,191,205,213,22,201,34,112,23,86,204,161,98,44,20,244,61,130,202,177,210,72,244,65,168,179,88,242,152,232,141,20,85,87,133,82,142,173,\r
+20,210,70,24,58,60,106,219,92,215,100,230,168,133,188,185,28,181,202,118,158,40,227,202,108,100,22,85,20,93,77,209,39,28,198,210,72,235,97,132,34,45,135,81,19,105,59,140,218,22,26,117,39,110,107,105,125,16,117,145,7,184,61,139,101,89,44,183,167,161,21,\r
+242,201,162,126,22,43,179,56,209,89,107,112,214,86,217,107,39,57,107,39,59,107,97,98,118,74,22,171,157,197,83,157,197,70,155,113,141,179,182,214,89,107,178,215,154,15,161,97,163,207,134,35,226,192,209,34,112,212,251,102,209,242,216,253,116,99,13,238,\r
+194,61,88,231,2,177,21,75,57,110,128,143,235,213,56,29,181,56,131,81,63,19,39,225,44,174,156,131,8,206,37,181,17,189,216,68,56,54,195,196,121,184,1,231,83,70,39,165,92,128,123,113,33,178,232,182,1,60,131,208,220,139,229,184,12,151,83,30,65,66,18,83,54,\r
+148,179,54,168,138,61,147,12,42,177,103,2,111,41,231,124,25,114,148,168,198,121,78,246,26,9,88,107,31,81,108,123,2,245,118,230,60,128,154,44,218,185,210,193,12,202,226,180,153,150,133,96,134,108,109,91,169,253,34,168,180,116,53,46,241,4,180,209,181,162,\r
+140,249,61,141,43,104,133,73,202,199,111,154,251,86,78,247,118,123,13,16,216,67,161,245,89,108,56,130,165,115,56,157,89,187,126,22,103,204,226,204,25,90,117,86,97,14,13,81,229,118,166,232,136,173,82,117,68,184,42,189,138,50,57,69,207,50,217,229,228,13,\r
+74,223,28,206,102,2,157,19,9,157,75,13,89,108,12,109,226,16,9,109,118,169,243,108,234,252,60,234,2,151,186,144,67,22,157,20,209,69,17,221,253,173,161,45,101,78,246,19,170,232,152,47,180,62,154,69,207,78,82,181,173,89,108,125,8,23,149,96,231,33,84,246,\r
+219,238,108,219,41,158,181,136,83,180,175,132,150,102,114,41,177,150,133,6,22,126,9,3,213,195,16,245,179,184,227,44,111,147,99,134,229,189,151,94,92,77,111,197,223,8,253,235,103,162,236,197,62,242,239,101,117,72,240,5,246,27,92,12,74,240,106,236,183,\r
+155,200,2,26,65,249,71,224,162,241,74,98,33,225,91,53,135,222,49,2,124,113,127,11,237,189,132,191,190,67,8,14,200,183,141,121,91,66,163,170,80,71,198,58,198,181,46,23,132,149,4,83,186,65,5,213,86,81,97,136,217,84,199,111,3,225,22,3,195,54,212,171,114,\r
+69,189,202,206,63,233,37,181,120,57,174,178,93,119,204,186,154,63,190,237,220,254,178,129,95,9,101,192,169,173,254,194,78,149,241,132,59,224,186,170,208,153,107,220,243,29,238,249,50,57,95,120,248,42,207,225,178,220,225,107,113,157,139,73,146,70,75,151,\r
+9,181,58,218,7,54,250,218,90,234,153,246,131,247,23,100,223,53,196,242,90,150,240,117,185,2,148,114,152,47,187,16,94,69,244,21,123,118,61,35,82,98,207,94,131,215,242,108,144,102,223,72,80,124,57,0,36,254,252,55,226,58,176,217,45,197,64,164,69,97,239,\r
+56,165,208,135,235,61,37,22,200,105,12,224,13,118,172,69,210,77,174,164,173,148,84,234,72,106,45,38,233,70,79,160,142,150,36,179,55,114,86,98,203,188,217,149,121,11,169,50,187,81,176,88,217,21,54,108,244,213,251,142,160,188,222,55,211,122,4,101,173,51,\r
+171,238,68,69,132,249,189,109,70,89,208,183,154,178,64,187,130,148,88,77,89,33,188,153,30,220,194,139,241,54,38,204,237,220,191,195,131,99,99,206,150,198,156,45,141,174,45,50,123,19,79,11,142,43,41,97,216,70,235,214,28,122,67,238,245,212,96,55,226,161,\r
+50,183,17,143,249,236,234,116,175,167,2,28,238,246,32,218,144,211,221,224,234,86,104,163,240,223,254,63,80,75,3,4,10,0,0,8,8,0,22,178,149,71,132,26,164,171,178,10,0,0,66,24,0,0,42,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,\r
+114,47,71,114,97,100,108,101,87,114,97,112,112,101,114,77,97,105,110,46,99,108,97,115,115,157,88,7,120,20,199,21,254,7,78,218,211,106,85,56,9,164,195,148,3,11,212,144,206,128,141,177,192,16,89,18,32,144,16,160,102,129,109,188,156,22,233,240,233,86,220,\r
+237,81,226,150,98,167,216,137,211,72,177,147,56,61,78,226,20,156,56,39,217,138,77,236,20,39,78,119,122,239,205,233,189,59,249,103,119,117,58,221,45,66,95,190,15,205,237,188,121,253,189,121,239,13,79,62,243,240,163,0,214,139,141,42,182,225,46,21,27,240,\r
+50,185,188,92,46,175,80,240,74,21,5,18,92,128,87,41,56,227,199,171,253,120,141,220,189,86,197,235,112,183,31,247,248,241,122,5,111,80,81,38,177,202,240,70,121,120,175,138,55,225,205,10,222,162,162,210,1,191,85,197,14,188,77,242,124,187,92,222,33,151,\r
+119,170,184,15,239,82,240,110,5,239,241,227,126,9,122,175,138,229,120,159,130,247,171,88,133,15,168,88,134,179,10,30,80,81,35,185,220,135,15,42,248,144,31,15,170,168,197,135,85,164,49,33,191,38,229,242,144,92,30,246,99,202,143,143,168,240,227,17,185,\r
+127,84,193,57,21,31,197,99,42,30,199,199,84,124,28,159,80,241,73,60,161,224,83,10,62,173,98,51,158,84,241,25,124,214,143,207,73,154,207,251,241,5,5,95,148,159,95,146,135,79,201,195,47,75,70,79,249,241,21,201,232,171,126,124,77,193,215,165,45,119,201,\r
+229,27,126,220,46,127,191,233,199,183,84,124,27,223,81,240,93,63,190,39,137,191,175,226,7,248,161,92,126,164,226,199,248,137,138,159,226,103,10,126,174,162,15,191,16,168,218,121,160,181,189,171,227,112,127,111,199,129,195,187,122,186,59,14,247,236,235,\r
+235,236,217,43,16,232,58,166,159,208,195,49,61,62,18,238,181,18,209,248,200,22,129,146,54,51,158,180,244,184,53,160,199,82,134,64,40,143,188,189,163,175,181,179,171,163,61,195,167,194,69,217,223,223,217,209,151,129,46,155,5,205,35,42,220,26,141,71,173,\r
+109,2,11,235,234,7,4,124,109,230,48,165,149,117,69,227,198,222,212,216,17,35,209,167,31,137,25,82,73,51,162,199,6,244,68,84,238,93,160,207,26,141,38,5,214,118,153,137,145,240,72,66,31,142,25,225,147,9,125,124,220,72,132,119,218,219,65,103,215,173,71,\r
+227,52,202,55,198,95,129,37,117,135,242,77,182,165,235,137,17,242,171,240,56,22,80,93,206,187,245,132,64,169,131,17,53,195,59,162,49,131,167,165,227,9,147,135,86,212,72,74,136,128,146,48,77,171,61,74,220,194,113,61,145,52,248,177,58,91,207,72,44,26,110,\r
+51,199,198,244,248,176,52,118,159,141,67,70,69,17,51,126,130,140,36,193,101,185,4,189,167,147,150,49,182,47,35,42,139,65,219,52,25,121,40,230,184,21,101,252,60,68,218,114,134,179,232,136,94,158,204,97,75,23,57,246,165,172,104,44,60,3,151,118,58,188,250,\r
+169,236,46,115,140,118,22,198,204,145,17,169,236,69,94,81,232,178,15,73,87,230,66,58,78,25,145,148,101,18,191,198,11,127,112,54,150,116,123,199,169,136,49,109,78,133,62,60,156,235,3,129,149,117,179,163,49,123,39,3,171,58,98,28,141,87,228,160,215,231,\r
+198,114,145,171,77,182,140,242,186,60,52,65,94,203,29,96,220,176,194,253,7,58,123,79,199,45,253,84,70,97,226,248,99,76,91,249,157,73,25,23,85,186,210,21,51,96,36,146,54,70,229,180,140,156,171,120,194,65,112,238,3,85,73,24,73,51,149,136,24,173,73,226,\r
+24,250,152,192,226,140,110,157,241,241,148,229,128,73,170,29,73,69,99,195,7,140,136,17,29,183,50,104,54,251,108,45,55,212,93,56,77,242,204,223,62,47,162,185,114,66,237,181,205,112,238,203,146,188,11,219,44,5,106,184,6,215,106,24,193,45,26,110,198,77,\r
+26,142,225,38,86,163,11,93,36,13,191,196,211,116,85,174,59,25,53,254,149,59,164,77,41,98,54,141,50,41,52,252,10,191,86,240,27,13,191,197,239,136,115,92,160,224,120,42,106,208,103,27,255,143,43,168,225,247,248,131,134,63,226,79,10,254,172,225,47,248,43,\r
+147,106,230,66,237,210,147,163,221,250,184,134,191,225,239,26,254,129,127,106,72,226,14,13,167,241,108,13,22,238,84,240,47,13,255,198,127,4,150,122,184,175,83,214,229,88,140,23,206,227,176,221,60,25,143,153,250,48,107,128,115,114,82,195,243,113,155,244,\r
+226,51,179,221,54,77,177,79,183,70,91,147,73,99,140,21,53,33,241,254,203,133,46,64,173,7,242,85,172,105,73,139,27,25,159,94,75,183,141,21,66,44,96,170,101,167,7,205,117,40,155,103,202,162,100,187,80,17,62,77,20,136,66,77,40,140,168,240,83,53,81,132,219,\r
+88,70,174,97,184,19,53,2,197,217,36,66,21,197,146,78,99,185,152,79,141,87,68,137,38,74,69,153,34,202,53,177,72,4,20,81,161,137,74,177,88,17,75,52,81,37,170,233,180,57,238,43,253,61,147,47,7,82,113,43,58,102,100,14,165,26,65,69,44,213,196,69,82,95,223,\r
+81,154,169,137,101,98,185,192,182,54,61,30,55,173,208,176,65,119,140,49,17,66,145,152,158,76,142,211,179,161,163,102,34,228,170,27,98,231,8,29,77,152,99,161,8,155,220,17,61,105,132,106,215,36,107,155,103,165,105,207,145,99,70,196,210,196,10,177,82,74,\r
+12,105,98,149,20,23,12,219,55,185,41,225,92,229,89,62,90,45,46,102,104,247,154,33,27,37,228,162,132,166,171,4,85,72,197,135,41,165,210,171,164,107,162,70,172,209,196,90,81,43,176,137,60,220,90,19,138,219,197,38,148,28,55,34,209,163,81,99,56,20,141,159,\r
+135,127,179,34,234,52,81,143,107,89,158,61,202,11,35,215,102,166,72,55,219,67,211,62,113,229,53,75,99,27,20,209,168,137,117,162,137,215,81,144,109,88,19,151,224,54,69,172,151,247,227,22,58,225,188,197,68,82,111,144,237,33,22,51,79,246,199,111,136,243,\r
+26,244,76,55,141,154,186,250,249,52,222,66,211,213,247,114,207,241,96,14,22,61,211,117,116,142,178,212,227,50,47,30,213,147,173,137,145,212,152,17,183,46,164,90,134,175,156,9,142,70,71,82,9,94,172,53,121,101,55,223,24,217,242,10,236,169,99,190,214,120,\r
+142,5,89,100,118,209,99,43,26,49,172,236,174,88,61,221,177,242,7,5,197,157,99,4,174,154,71,163,200,226,194,202,184,165,62,103,47,135,168,148,213,42,171,94,160,46,23,151,198,174,190,240,40,65,101,121,23,7,115,59,187,83,173,118,123,78,16,182,233,173,196,\r
+143,15,203,121,211,187,155,229,79,44,179,237,205,233,122,249,177,240,30,69,23,229,14,41,132,93,55,39,99,175,86,49,221,14,60,79,103,85,126,91,128,98,216,86,208,33,135,188,178,198,83,132,211,141,60,207,188,186,133,45,231,226,243,187,59,203,5,13,30,44,115,\r
+187,239,46,38,80,76,14,69,21,204,204,11,79,134,249,121,101,103,180,158,224,109,116,50,161,40,179,151,45,212,176,246,234,114,100,212,18,198,120,76,151,163,74,34,201,131,205,117,243,10,163,215,48,87,59,63,82,154,95,54,3,109,147,237,196,177,145,214,89,108,\r
+16,172,11,237,166,243,154,89,61,125,7,147,140,93,34,106,157,14,231,226,80,236,138,185,49,28,63,200,183,151,51,146,241,217,150,199,117,230,148,252,170,207,119,198,10,71,78,93,153,169,55,51,55,59,45,183,107,203,244,164,224,238,89,168,44,147,173,56,15,83,\r
+78,200,213,217,206,234,27,77,152,39,157,123,56,48,155,73,167,19,182,222,200,168,97,191,72,140,227,41,61,70,127,45,206,38,119,26,235,150,250,131,68,96,33,24,211,25,199,43,60,130,113,200,131,198,43,144,139,61,104,237,59,100,39,144,53,234,132,235,64,222,\r
+168,94,239,69,119,158,241,221,231,140,114,213,117,158,231,82,90,241,76,65,62,205,135,240,249,121,207,86,190,194,131,31,35,17,137,153,178,101,52,204,157,163,179,3,145,219,243,242,106,59,131,195,158,55,221,255,60,221,198,152,108,245,84,253,66,188,51,29,\r
+114,237,252,48,249,32,163,195,220,255,210,240,26,112,119,206,122,221,118,153,230,13,169,113,198,161,238,96,253,0,86,97,3,182,1,240,33,136,1,12,114,68,190,154,187,5,40,226,126,40,107,175,114,127,48,107,95,194,253,161,172,125,41,41,132,124,214,112,189,\r
+142,144,48,228,184,13,20,52,76,64,60,96,163,28,230,90,104,3,87,224,122,174,154,131,0,29,71,248,91,132,8,134,137,69,98,113,134,226,138,9,123,124,18,11,186,26,39,177,176,155,139,111,239,20,10,134,38,80,216,226,11,250,210,80,6,131,190,130,71,224,31,90,24,\r
+40,234,29,242,5,212,222,52,138,211,208,102,192,37,18,92,42,193,131,83,40,35,101,121,75,65,176,64,210,46,10,250,26,210,8,180,20,78,162,162,69,9,42,132,22,78,161,146,40,139,211,88,146,70,85,144,39,213,45,254,160,191,105,18,65,185,89,218,82,180,46,88,52,\r
+137,139,90,212,160,218,48,133,101,67,193,162,41,44,231,26,88,49,137,149,19,8,77,97,213,80,208,63,129,213,19,184,120,10,53,228,181,38,141,181,51,150,239,70,128,235,26,58,122,45,109,173,165,195,234,81,133,6,44,71,35,46,197,58,236,66,51,246,211,109,87,99,\r
+61,189,179,17,6,161,167,176,9,183,98,51,110,71,11,94,130,173,56,131,43,241,24,90,109,239,141,59,30,34,222,81,59,124,143,242,57,57,74,143,22,225,33,68,249,37,67,242,32,31,150,163,88,72,57,247,227,6,196,136,181,31,199,49,134,56,189,126,61,189,110,146,75,\r
+33,57,92,75,104,2,10,101,181,113,40,29,133,159,210,54,241,209,150,34,183,51,212,235,4,78,50,34,167,108,57,2,221,252,230,171,206,13,116,132,188,22,240,183,150,190,156,66,237,80,67,160,110,2,245,147,160,131,171,92,80,99,22,104,198,33,165,84,12,104,71,5,\r
+58,232,146,29,182,81,75,28,86,184,145,74,192,254,58,102,27,165,202,23,178,43,240,50,55,179,138,201,174,209,249,119,54,39,191,58,179,242,171,216,246,11,200,226,230,12,139,86,23,175,202,86,56,141,117,252,107,10,52,7,194,105,92,50,129,245,185,236,186,179,\r
+216,85,101,216,241,245,238,178,187,151,174,147,122,239,174,192,134,52,54,166,113,105,26,151,165,177,105,207,125,40,233,154,194,230,161,198,9,92,113,142,50,90,2,91,210,216,122,15,170,37,48,112,165,239,17,108,27,90,216,208,59,137,237,19,120,214,57,87,153,\r
+214,9,92,117,214,150,85,78,223,92,238,106,178,130,50,128,94,194,6,8,237,67,37,250,153,58,131,76,162,171,121,127,15,102,188,87,201,144,221,138,231,144,190,156,73,243,92,60,143,112,191,124,45,187,186,62,205,16,22,240,119,128,186,6,218,210,104,223,211,240,\r
+4,74,108,125,58,28,37,118,48,117,119,118,53,82,147,93,141,129,206,52,118,119,175,155,198,216,35,49,214,237,229,81,87,211,217,22,121,135,186,130,190,115,123,236,179,189,188,232,61,231,200,125,37,182,208,193,210,201,109,246,47,176,157,201,223,205,239,221,\r
+246,175,99,207,6,250,19,252,42,162,230,37,44,1,85,76,164,149,76,197,26,166,115,35,125,27,166,151,175,96,212,183,48,109,119,51,97,247,48,89,165,141,13,148,208,72,75,111,167,237,178,74,181,226,5,120,33,225,43,9,125,17,147,88,16,179,152,30,120,177,29,163,\r
+36,238,112,237,222,103,167,46,253,216,16,40,74,99,223,221,168,116,146,149,155,253,105,28,144,62,159,68,239,76,228,157,236,180,40,33,133,165,76,255,153,12,88,97,95,27,201,221,194,157,46,247,205,46,247,210,41,244,145,105,9,37,76,160,63,55,143,110,204,226,\r
+82,234,114,17,188,106,18,235,165,255,3,80,75,3,4,10,0,0,8,8,0,22,178,149,71,217,206,17,120,160,6,0,0,180,14,0,0,34,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,73,110,115,116,97,108,108,36,49,46,99,108,97,115,115,157,87,\r
+107,119,27,213,21,221,215,26,89,138,60,73,28,1,1,81,135,4,48,32,43,216,74,12,9,36,78,66,19,59,128,65,49,33,78,226,198,77,91,198,210,32,143,51,158,81,71,35,39,161,15,160,188,194,35,208,2,165,152,119,31,16,104,75,27,90,172,56,164,13,143,118,173,174,213,\r
+126,236,71,126,5,127,160,101,31,141,100,203,178,226,38,245,90,62,247,222,51,231,158,179,239,57,251,62,244,207,255,124,114,30,192,70,252,125,25,186,113,88,196,119,68,124,87,196,247,68,60,32,194,136,161,7,99,17,100,99,136,34,23,129,25,67,12,99,50,120,80,\r
+122,249,40,198,165,181,68,51,33,226,136,8,91,196,100,12,163,112,162,112,101,80,144,193,247,163,240,196,186,24,131,143,146,104,166,218,112,20,199,196,224,184,12,31,106,195,15,240,195,54,252,8,63,22,241,112,20,143,136,250,209,24,126,130,199,98,120,92,226,\r
+140,226,137,40,158,140,226,41,233,158,16,241,180,204,127,38,70,180,207,70,240,92,4,39,35,120,94,161,125,202,176,59,109,55,107,216,163,86,225,78,203,54,21,86,100,38,140,41,35,109,185,105,25,247,41,180,137,77,206,42,250,3,150,167,112,89,109,228,89,99,37,\r
+223,114,157,3,158,61,55,201,49,253,244,129,125,131,156,180,74,204,178,174,243,160,149,47,121,134,216,41,116,101,92,47,159,206,123,70,206,54,211,71,61,163,80,48,189,244,72,208,246,215,155,114,126,162,49,204,240,184,209,187,105,243,112,105,82,33,30,4,179,\r
+13,39,159,30,166,129,147,231,132,86,127,220,42,118,110,80,232,104,22,101,208,41,250,134,109,139,221,54,203,177,252,29,10,143,39,151,50,92,152,132,102,163,218,90,47,122,81,139,81,119,29,84,208,250,221,28,179,190,50,99,57,230,80,105,114,204,244,246,27,\r
+99,82,135,120,70,202,114,208,240,44,25,87,149,154,172,82,1,10,250,160,227,48,130,109,20,139,38,53,215,44,177,152,206,141,92,183,70,103,44,84,123,178,171,177,190,49,127,178,48,87,253,80,78,138,220,98,117,42,92,30,24,50,251,118,122,208,55,185,10,215,19,\r
+243,73,195,59,98,122,129,249,114,199,52,115,197,1,247,168,99,187,70,78,65,141,18,153,239,22,50,230,148,105,147,47,68,214,94,231,38,195,130,10,22,207,117,125,133,213,11,87,120,188,80,91,229,186,134,41,219,22,66,222,33,40,118,31,203,154,5,201,107,49,130,\r
+23,8,182,182,174,74,126,239,27,155,48,179,18,105,217,176,149,119,12,191,228,209,235,206,197,6,117,113,200,213,108,201,243,76,199,79,247,51,83,2,164,89,216,97,183,228,101,205,96,241,122,53,191,61,98,198,18,238,118,178,182,91,100,97,247,152,254,184,203,\r
+115,224,167,58,126,134,23,117,108,193,86,29,27,176,81,71,175,136,91,112,171,142,77,216,172,227,54,220,174,163,15,47,209,87,125,40,29,47,99,183,194,149,141,132,217,85,178,236,156,233,233,248,57,94,209,241,11,188,202,122,245,184,71,116,76,203,184,15,175,\r
+233,120,29,111,232,120,83,196,91,162,123,27,239,40,132,123,10,134,231,235,248,165,168,127,133,95,51,90,173,98,116,186,78,60,253,38,130,119,117,188,135,83,58,222,199,7,17,252,86,199,239,240,123,29,31,226,15,58,254,136,211,17,124,164,227,79,248,115,4,31,\r
+235,152,17,63,101,236,231,97,48,96,218,166,47,78,72,27,38,212,245,142,211,221,25,204,70,112,86,199,39,56,23,193,95,116,252,21,231,153,185,3,206,67,86,161,32,182,36,192,58,223,165,225,167,248,76,199,231,248,66,199,223,196,229,128,44,186,99,41,30,147,77,\r
+141,53,84,88,179,100,17,9,114,126,202,28,105,20,174,190,112,28,130,205,122,166,225,155,3,228,158,194,150,166,7,69,211,45,190,104,111,133,146,178,199,151,231,77,127,175,33,176,2,226,68,56,30,50,38,205,70,218,206,31,102,226,219,225,126,234,78,54,57,53,\r
+22,169,170,188,224,196,168,239,6,42,133,235,147,205,78,173,198,227,167,205,42,14,212,74,87,129,203,13,220,106,21,3,156,43,137,115,231,88,209,181,75,190,185,215,240,199,153,24,35,155,53,139,60,103,55,240,164,205,92,242,9,218,100,25,243,185,106,205,9,153,\r
+204,249,32,27,37,72,243,236,215,130,52,189,82,50,110,62,95,201,198,130,236,85,183,252,82,217,75,92,208,25,83,99,187,76,234,21,205,234,113,112,30,114,175,64,222,118,233,144,7,107,27,178,239,2,59,96,254,136,141,230,230,186,107,147,13,87,209,130,140,10,\r
+174,40,73,71,162,237,119,121,35,55,240,65,42,93,131,125,203,255,134,221,48,121,241,161,190,98,161,134,177,173,234,165,193,147,62,217,213,252,50,137,47,214,114,123,140,27,197,33,243,24,93,104,78,165,169,193,188,85,96,118,95,10,76,174,241,166,139,220,188,\r
+1,221,7,234,158,28,117,183,229,252,195,70,175,31,207,67,219,36,208,238,191,8,104,245,204,185,152,13,90,11,176,89,2,244,253,223,111,150,122,87,183,93,114,26,229,12,11,142,196,33,243,168,168,176,142,15,201,30,62,67,210,104,109,111,151,187,13,96,219,91,\r
+109,121,195,85,90,94,114,149,150,247,92,165,229,69,200,231,116,136,255,125,216,198,217,219,217,219,139,22,68,216,222,152,90,63,3,149,186,121,6,45,169,238,25,132,82,9,109,6,90,42,17,158,65,56,149,104,157,65,107,234,12,34,31,209,178,5,59,40,91,57,31,140,\r
+124,7,165,94,233,223,136,111,162,31,242,56,226,77,66,43,122,111,241,17,166,37,212,91,231,16,61,148,250,24,45,101,44,59,135,216,161,51,104,11,70,122,25,203,227,43,40,202,88,121,134,143,21,106,67,101,172,154,198,154,245,101,196,167,177,154,10,37,202,224,\r
+195,101,179,184,252,116,48,51,254,26,34,218,41,104,161,237,29,211,152,88,210,255,21,115,254,135,186,203,88,61,34,62,103,113,101,213,48,126,21,63,83,165,149,145,160,85,25,87,7,223,191,33,186,238,179,232,8,161,59,112,182,102,164,134,102,22,215,12,241,211,\r
+90,133,173,90,66,59,11,94,170,211,216,46,189,107,21,62,67,116,107,184,33,198,117,140,145,8,115,1,1,148,106,144,68,120,22,215,143,156,250,239,167,85,191,52,232,44,227,6,137,198,255,214,89,86,101,161,155,155,2,168,45,129,163,120,50,24,134,26,253,86,29,\r
+16,102,87,93,254,184,192,27,152,191,173,90,37,180,54,139,20,115,188,126,36,161,157,174,176,66,170,58,138,213,148,189,72,146,67,91,200,162,12,185,115,152,189,7,200,156,19,100,205,73,242,230,67,86,246,60,173,255,129,157,248,55,118,225,43,244,171,56,6,84,\r
+7,223,15,107,113,151,186,29,131,106,2,247,168,227,200,168,147,216,163,94,193,144,122,157,60,19,166,236,227,175,160,19,236,221,73,166,134,56,115,61,238,98,47,140,47,201,153,187,49,8,77,184,82,229,81,82,77,225,30,126,85,56,172,118,225,94,98,105,97,188,\r
+127,97,15,134,16,162,231,85,184,143,95,53,122,14,24,24,124,187,159,126,247,81,163,81,51,220,190,147,126,247,7,92,228,94,81,21,158,134,83,101,220,124,122,9,34,135,171,0,230,220,80,30,168,216,31,196,72,165,253,22,14,85,190,141,226,219,76,0,248,115,145,\r
+59,26,149,191,175,1,80,75,3,4,10,0,0,8,8,0,22,178,149,71,106,32,106,144,180,1,0,0,86,3,0,0,56,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,80,97,116,104,65,115,115,101,109,98,108,101,114,36,76,111,99,97,108,68,105,115,\r
+116,114,105,98,117,116,105,111,110,46,99,108,97,115,115,149,82,91,75,27,65,20,254,206,102,221,213,116,171,113,181,182,218,91,180,121,136,107,235,218,226,91,75,65,18,4,33,180,133,22,31,124,40,76,146,33,78,186,217,13,147,77,139,255,74,193,80,240,161,63,\r
+192,31,85,60,51,134,210,168,16,124,216,153,115,251,46,115,216,203,191,23,127,0,188,197,171,57,204,96,173,8,15,79,77,244,204,28,207,125,188,244,81,38,248,109,53,200,143,84,159,48,223,232,138,159,34,86,89,188,175,18,249,126,220,170,43,77,240,242,99,53,\r
+168,236,16,54,26,153,238,196,29,45,218,137,140,127,105,209,239,75,29,127,17,249,241,222,96,32,123,205,68,106,198,121,31,84,170,242,143,132,189,234,244,241,73,209,201,108,243,144,224,214,178,182,36,44,52,84,42,63,13,123,77,169,191,9,6,18,194,70,214,18,\r
+201,161,208,202,228,227,162,107,140,18,22,109,175,206,246,181,106,14,115,149,165,132,224,32,77,165,174,37,130,165,121,100,119,170,181,202,45,18,126,91,216,145,249,255,37,187,158,82,117,243,230,238,138,60,199,91,53,25,39,95,179,161,110,201,235,36,156,\r
+16,217,54,184,0,69,60,8,16,96,61,192,28,102,3,248,152,245,177,65,120,119,127,143,236,198,90,73,68,218,137,63,55,187,178,149,19,10,85,179,202,242,52,54,172,243,159,225,241,63,83,64,104,60,112,20,26,67,64,169,100,44,218,14,111,18,15,249,156,231,236,59,\r
+28,184,124,47,71,91,35,80,244,27,78,244,122,132,66,244,102,4,247,140,235,14,22,44,135,153,81,204,212,101,212,15,44,33,65,137,43,101,102,99,44,22,249,131,141,140,150,99,35,163,110,180,30,97,101,172,21,243,77,124,207,68,231,40,156,254,35,247,108,81,91,\r
+194,224,122,96,76,72,120,124,39,216,189,9,62,185,3,236,224,137,61,87,217,45,248,237,196,157,23,252,18,186,2,80,75,3,4,10,0,0,8,8,0,22,178,149,71,146,99,74,27,25,8,0,0,75,15,0,0,33,0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,\r
+114,47,68,111,119,110,108,111,97,100,46,99,108,97,115,115,133,87,137,127,20,103,25,126,102,179,187,51,59,12,57,22,18,88,40,144,166,13,108,238,34,10,146,180,212,36,144,118,219,52,193,44,9,93,80,113,178,59,217,44,221,204,108,103,102,9,84,109,189,170,245,\r
+110,181,30,85,164,94,21,91,143,150,182,108,40,208,226,85,84,60,90,173,86,91,252,23,252,23,212,231,155,221,236,17,86,204,47,249,142,247,251,222,227,123,159,231,123,231,203,149,127,159,127,5,192,118,252,83,101,99,133,176,3,57,209,220,47,26,91,101,227,40,\r
+112,85,228,113,76,198,162,10,5,199,85,156,192,3,42,62,132,15,139,230,35,98,207,131,42,30,194,71,101,124,76,198,199,85,52,227,19,42,154,240,73,21,15,227,83,98,249,211,10,30,81,241,25,124,86,52,159,83,241,121,124,65,197,23,241,37,209,60,26,162,237,199,\r
+20,124,89,197,87,240,184,140,175,42,248,154,138,205,248,122,0,222,207,68,187,130,111,168,120,2,223,84,241,45,156,84,176,83,76,190,45,140,156,18,146,83,10,158,84,240,29,5,223,85,240,61,5,223,87,240,3,5,79,201,248,161,138,211,248,145,140,167,101,60,35,\r
+227,199,18,32,65,139,153,166,97,143,102,117,199,49,28,9,29,241,19,142,107,44,236,183,173,156,97,187,25,195,225,232,248,137,225,188,59,111,152,110,38,169,187,150,45,161,113,255,212,228,29,83,251,226,241,35,163,119,78,79,220,45,65,138,73,88,61,106,153,\r
+142,171,155,238,140,158,205,27,13,34,74,9,171,70,166,199,198,246,77,29,137,199,14,237,163,104,91,179,132,96,214,74,167,13,90,217,56,110,217,233,129,180,173,167,178,198,192,162,173,231,232,113,96,220,91,28,146,208,196,121,86,56,204,88,230,132,190,96,72,\r
+8,143,31,213,143,233,3,89,221,76,15,196,93,59,99,166,185,45,92,181,109,198,176,29,118,116,113,107,198,204,184,123,36,140,68,175,227,227,90,115,215,74,186,102,36,248,71,173,20,221,55,141,103,76,99,34,191,48,107,216,7,244,217,172,23,144,149,212,179,51,\r
+186,157,17,243,146,208,239,206,103,152,199,77,245,28,239,181,22,205,172,165,167,24,247,13,73,203,156,203,164,243,182,177,50,193,222,9,26,162,194,179,146,42,41,72,216,18,45,6,103,26,238,192,244,84,172,20,106,198,26,24,203,100,13,47,76,89,79,165,108,195,\r
+161,239,198,218,173,68,33,101,56,110,198,44,217,110,172,213,149,160,238,59,158,52,114,98,209,145,241,19,9,205,203,110,99,166,107,216,166,158,101,60,121,59,187,194,240,56,53,27,243,142,97,15,167,141,18,232,204,252,108,126,110,78,128,235,59,60,194,144,\r
+204,252,194,148,33,194,111,202,217,86,90,68,55,106,229,133,81,82,230,46,90,181,242,174,132,182,114,60,147,121,55,151,119,153,122,67,95,160,117,63,115,196,120,215,215,120,37,203,76,35,41,130,229,14,95,134,235,173,101,253,152,89,173,30,38,56,201,124,86,\r
+119,141,233,229,40,37,172,141,118,213,163,145,74,128,202,244,81,197,134,25,195,76,9,174,175,42,78,74,75,45,149,165,10,219,44,167,72,208,144,229,84,11,135,237,228,60,141,197,173,188,157,52,68,170,121,71,150,25,208,47,236,104,216,139,113,13,183,227,61,\r
+26,134,49,162,97,84,52,119,99,156,137,157,119,221,92,127,78,80,67,4,47,227,167,26,126,134,103,37,236,185,14,173,110,254,255,119,87,184,124,78,198,25,13,207,227,5,25,47,106,56,139,130,134,37,156,211,48,141,9,25,47,105,56,143,11,228,231,114,78,71,60,64,\r
+141,84,53,54,196,164,154,66,213,75,194,193,69,209,188,44,227,21,13,151,240,115,13,41,240,232,170,56,71,159,135,130,140,95,104,248,37,126,165,225,215,120,85,198,101,13,191,193,111,101,252,78,195,21,252,94,195,31,68,48,31,192,31,153,251,140,224,138,157,\r
+207,185,70,74,198,159,52,188,134,215,37,172,41,195,61,89,38,174,132,200,114,22,218,23,117,167,189,74,177,95,68,67,53,169,95,198,159,53,252,5,111,200,248,171,134,191,225,77,13,127,199,235,26,254,33,18,238,193,220,127,172,4,186,86,154,149,192,108,42,78,\r
+23,42,18,217,114,250,77,15,116,149,163,26,177,238,193,190,177,211,25,232,116,218,163,157,206,144,247,219,85,53,228,13,171,80,112,114,246,40,233,44,227,45,13,111,227,42,21,175,3,48,97,169,179,26,171,44,111,186,30,59,182,47,167,206,243,91,149,186,170,104,\r
+138,12,98,58,210,134,91,226,209,9,9,91,163,117,42,99,189,107,212,81,183,222,86,34,240,10,85,91,249,58,175,248,172,168,142,225,238,53,230,244,124,150,23,117,99,85,193,171,217,231,217,208,170,249,199,123,37,194,213,109,238,41,206,155,151,111,121,165,200,\r
+5,23,238,75,101,108,199,43,173,135,150,13,148,74,164,132,128,107,177,182,84,41,86,106,92,75,244,218,90,27,137,214,175,89,149,208,74,250,188,201,76,162,89,41,90,18,54,172,112,81,83,208,218,234,175,176,152,49,55,83,198,253,121,22,242,10,46,219,234,224,\r
+82,255,27,214,200,4,85,85,71,9,235,170,50,84,91,54,215,212,17,179,22,219,94,29,15,68,15,143,116,197,106,40,115,96,190,184,180,58,153,183,5,2,203,243,218,74,91,148,210,252,234,140,19,171,92,206,234,234,189,159,209,214,9,163,74,76,255,57,49,163,86,61,70,\r
+10,96,254,231,231,158,12,16,83,147,46,111,169,86,30,157,215,237,184,72,172,153,52,106,72,61,236,237,22,31,117,70,179,182,30,220,12,103,209,206,184,228,155,204,180,196,98,34,128,6,190,110,40,79,102,45,199,168,189,89,94,144,140,98,206,178,23,116,30,97,\r
+119,157,35,28,30,95,89,24,234,221,51,220,200,247,227,118,190,221,222,137,0,54,96,55,6,57,30,226,187,208,135,91,57,191,173,106,190,7,97,241,125,225,56,44,62,49,94,63,234,245,1,238,217,139,125,108,199,56,115,185,215,207,126,125,247,18,164,238,158,179,240,\r
+117,247,158,69,67,119,223,89,248,41,10,156,241,172,221,193,118,3,130,108,55,113,247,102,132,176,5,141,104,199,26,70,180,14,29,184,147,43,221,69,59,136,225,46,239,173,186,222,243,47,121,35,17,129,207,27,137,24,26,56,230,199,174,20,193,24,231,98,215,218,\r
+112,240,28,228,203,104,188,0,37,33,45,33,116,14,106,197,123,35,119,1,157,124,114,111,165,215,168,231,81,43,234,149,60,74,184,7,19,220,45,108,78,115,183,216,223,212,91,192,170,2,180,131,221,61,189,75,88,189,210,92,15,205,245,114,220,231,153,107,47,170,\r
+148,15,208,132,73,236,247,92,52,225,189,152,162,102,156,99,63,37,7,56,158,94,118,38,253,139,41,93,205,149,171,210,132,52,24,232,41,160,113,48,120,1,77,137,11,104,78,208,107,203,18,194,19,145,96,1,107,6,69,70,215,14,202,17,127,184,53,34,23,208,22,241,\r
+23,176,110,48,208,178,173,249,162,50,168,132,118,169,145,64,68,41,96,125,98,103,200,247,36,38,207,33,82,192,134,39,208,250,60,54,134,111,40,96,211,5,108,78,132,183,44,161,253,82,155,218,26,122,88,223,165,182,169,107,113,227,66,232,241,83,104,237,126,\r
+17,190,240,77,5,220,124,208,19,26,187,212,190,136,210,208,26,42,160,243,244,127,158,246,86,183,22,176,45,18,184,12,37,18,40,32,218,119,25,221,125,5,116,157,198,77,131,90,253,117,89,172,71,180,75,103,120,212,0,78,242,133,0,254,93,244,250,98,34,31,32,27,\r
+196,127,76,62,50,51,128,119,97,21,118,98,35,118,145,19,239,38,74,187,185,50,200,209,16,185,112,27,145,223,195,132,222,142,4,121,161,147,19,247,145,13,14,185,248,32,217,248,8,83,249,40,97,56,73,102,60,69,110,60,67,52,159,37,0,47,80,227,60,101,175,82,118,\r
+133,178,215,40,123,131,178,183,9,134,0,45,71,143,171,240,24,102,112,144,252,140,146,207,247,210,143,76,47,239,167,159,67,4,120,156,187,15,51,138,16,229,135,240,62,202,85,1,86,25,230,171,101,152,175,150,96,246,225,45,62,67,142,144,14,29,120,9,31,100,172,\r
+126,158,237,77,204,34,201,190,154,4,124,224,148,88,44,72,160,176,215,153,72,255,120,184,155,84,190,39,220,195,118,34,220,203,118,208,31,238,19,93,32,220,47,186,96,120,64,116,114,248,150,102,229,101,108,79,52,80,171,33,158,240,247,196,19,129,72,32,158,\r
+8,70,130,241,132,28,145,227,9,165,55,158,104,14,246,177,33,109,226,231,240,142,231,202,169,239,240,28,206,208,241,189,76,65,2,45,60,222,122,30,117,11,15,185,149,199,236,227,33,68,138,166,138,129,149,14,28,224,234,28,83,193,79,61,117,211,222,197,108,97,\r
+2,230,189,139,41,174,111,134,35,63,173,140,224,40,255,2,180,53,68,168,70,152,222,62,22,158,172,151,94,31,22,188,56,76,66,45,74,139,143,208,239,0,154,21,250,218,65,192,213,255,2,80,75,3,4,10,0,0,8,8,0,22,178,149,71,192,25,62,198,80,0,0,0,78,0,0,0,35,0,\r
+0,0,103,114,97,100,108,101,45,119,114,97,112,112,101,114,45,99,108,97,115,115,112,97,116,104,46,112,114,111,112,101,114,116,105,101,115,83,206,205,79,41,205,73,85,72,73,77,203,204,203,44,201,204,207,227,82,246,205,207,83,112,73,77,86,48,50,84,48,50,178,\r
+50,52,179,50,49,81,112,118,13,81,48,50,48,52,229,42,40,202,207,74,77,46,41,182,77,47,74,76,201,73,213,77,206,201,228,42,42,205,43,201,204,77,181,229,2,0,80,75,3,4,10,0,0,8,8,0,10,178,149,71,36,217,150,101,206,0,0,0,28,1,0,0,24,0,0,0,98,117,105,108,100,\r
+45,114,101,99,101,105,112,116,46,112,114,111,112,101,114,116,105,101,115,53,143,189,110,195,48,12,132,119,190,74,17,65,148,127,51,104,201,86,160,200,210,162,107,65,75,180,163,192,146,12,73,54,250,248,181,155,132,219,125,228,241,200,97,117,179,189,174,\r
+126,224,164,67,12,12,195,1,190,156,231,92,200,47,90,73,108,80,41,84,136,141,172,223,228,94,96,162,247,174,188,91,173,186,118,176,198,178,237,42,57,54,21,81,111,16,135,186,59,159,251,150,104,164,166,103,84,53,181,112,139,185,4,242,172,45,111,40,166,68,\r
+118,102,17,211,4,46,127,6,90,242,45,22,61,210,156,25,238,180,209,55,167,236,98,208,40,58,33,127,164,130,152,175,135,249,195,133,245,119,23,175,126,37,176,18,242,212,170,211,196,129,147,51,176,164,120,103,83,244,35,1,146,121,126,6,107,230,244,127,64,49,\r
+180,15,23,132,237,177,228,66,153,181,18,40,95,224,233,56,208,31,80,75,3,4,10,0,0,8,8,0,10,178,149,71,0,0,0,0,2,0,0,0,0,0,0,0,15,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,3,0,80,75,3,4,10,0,0,8,8,0,10,178,149,71,144,200,244,150,60,2,\r
+0,0,83,5,0,0,49,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,65,98,115,116,114,97,99,116,67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,149,84,93,111,18,65,20,61,3,11,139,43,182,136,109,\r
+173,223,208,15,229,163,116,219,62,153,66,72,8,209,104,66,170,17,210,196,199,101,25,215,109,96,151,12,67,163,127,194,223,162,47,52,209,196,31,224,143,50,222,89,144,80,150,180,244,97,231,222,57,123,239,185,115,230,222,221,63,127,127,254,6,112,136,35,3,\r
+9,236,232,216,53,16,193,142,1,29,207,149,247,66,121,57,29,121,29,5,29,69,134,120,197,245,92,89,101,136,230,242,167,12,90,221,239,112,134,213,134,235,241,147,97,175,205,69,203,106,119,9,73,55,124,219,234,158,90,194,85,251,9,168,201,207,238,128,161,212,\r
+240,133,99,58,194,234,116,185,105,119,93,179,214,30,72,97,217,178,238,247,122,150,215,81,100,117,223,59,231,66,114,81,102,216,184,204,245,181,255,159,239,232,38,68,149,86,171,92,37,54,221,30,35,12,199,185,198,153,117,110,153,93,203,115,204,183,20,162,\r
+88,203,51,216,187,246,25,183,101,57,31,134,72,139,37,28,210,178,182,136,130,174,73,210,107,46,213,61,44,200,141,247,45,49,224,130,97,107,94,192,204,193,223,7,49,20,189,232,148,149,25,172,41,133,235,57,129,182,40,105,100,48,94,125,177,121,95,186,190,55,\r
+208,177,199,112,171,233,58,158,37,135,130,174,236,96,105,54,162,202,7,116,31,42,173,227,176,138,106,24,186,66,76,168,11,70,211,31,10,155,191,118,85,31,179,87,245,109,95,213,73,194,192,109,134,204,117,215,149,68,9,251,73,152,56,72,226,30,14,25,138,55,\r
+152,16,134,212,188,38,134,237,37,68,133,203,204,68,213,132,51,236,113,79,78,155,66,13,161,17,252,228,58,65,67,118,115,215,207,128,250,210,98,193,204,48,188,92,56,180,249,121,146,32,179,51,67,69,119,254,38,84,42,28,181,212,244,107,89,250,43,36,64,66,232,\r
+223,17,33,75,205,161,53,73,187,26,89,70,54,86,184,0,251,65,78,20,119,104,141,7,96,26,43,180,38,199,1,88,69,138,236,221,75,72,154,44,163,206,173,81,158,162,251,70,86,35,187,249,11,145,143,23,136,158,20,74,35,104,133,82,113,132,216,222,8,241,239,211,10,\r
+43,100,65,121,9,172,211,126,35,168,84,24,231,78,42,41,111,157,222,176,192,187,79,79,132,162,83,120,128,135,148,171,206,145,9,56,54,39,231,24,199,63,154,198,63,166,248,39,228,107,132,60,197,179,64,122,134,158,177,151,197,86,96,183,255,1,80,75,3,4,10,0,\r
+0,8,8,0,10,178,149,71,50,95,101,143,166,0,0,0,232,0,0,0,40,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,49,46,99,108,97,115,115,133,140,65,10,194,48,16,69,255,104,181,90,\r
+11,118,229,186,136,107,67,207,80,20,4,69,193,19,196,118,168,45,105,2,73,245,112,46,60,128,135,18,83,92,186,112,62,243,63,31,102,222,235,253,120,2,200,16,135,8,67,68,132,232,108,110,182,224,109,173,152,176,200,77,219,74,93,238,107,205,39,105,29,219,117,\r
+35,239,146,48,223,232,66,25,87,235,234,192,221,213,148,33,102,132,165,177,149,168,172,44,21,139,66,213,226,231,121,149,17,64,136,119,90,179,205,149,116,142,29,33,233,145,66,73,93,137,227,165,225,162,35,164,255,72,73,234,57,3,124,103,232,5,223,2,140,124,\r
+6,24,123,159,250,141,252,13,245,45,153,124,0,80,75,3,4,10,0,0,8,8,0,10,178,149,71,82,66,9,29,168,2,0,0,247,6,0,0,60,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,77,105,\r
+115,115,105,110,103,79,112,116,105,111,110,65,114,103,83,116,97,116,101,46,99,108,97,115,115,157,149,93,79,211,96,20,199,255,207,54,186,173,235,100,160,32,190,50,23,148,189,32,99,136,128,128,38,130,47,49,78,52,193,96,130,87,15,172,153,53,221,83,210,22,\r
+223,47,188,241,198,27,253,32,94,72,162,35,241,194,15,224,135,50,158,167,45,115,27,75,198,150,38,237,57,79,207,249,157,215,180,127,254,254,250,13,160,132,21,21,49,228,85,196,81,136,147,52,37,213,171,42,18,152,150,103,69,41,205,68,49,27,197,53,6,197,218,\r
+117,13,75,68,49,199,48,244,216,147,159,112,219,209,237,13,151,187,58,131,246,64,8,221,94,51,185,227,232,14,195,92,217,178,171,197,170,205,43,166,94,220,49,141,226,154,85,171,113,81,41,27,66,247,253,38,142,64,150,41,202,138,33,12,247,22,195,66,182,31,\r
+64,110,147,33,178,102,85,40,159,65,105,184,190,87,219,214,237,167,124,219,164,147,225,178,181,195,205,77,110,27,82,15,14,35,238,11,131,210,29,121,100,56,142,33,170,62,242,182,93,13,170,90,236,158,69,71,79,42,37,85,227,111,183,117,210,108,215,127,71,81,\r
+178,229,151,252,21,47,154,92,84,139,27,174,77,110,203,185,45,134,48,183,171,50,191,35,47,25,146,150,104,65,108,117,64,116,128,246,215,253,132,37,214,45,113,24,42,209,50,223,213,78,185,119,15,211,26,32,101,137,38,147,187,162,66,181,103,115,155,81,92,103,\r
+0,195,243,190,134,222,221,167,228,45,70,232,205,140,188,149,24,38,142,227,194,160,110,88,123,246,142,126,207,144,139,50,122,196,102,90,246,67,195,32,82,242,54,175,65,197,9,13,11,24,211,176,136,27,26,206,225,188,134,37,140,71,65,172,249,254,246,136,97,\r
+170,151,22,51,204,246,222,64,134,76,247,118,48,76,30,99,56,126,163,99,134,115,184,67,170,55,240,93,83,151,97,102,178,61,47,140,234,181,98,175,166,11,151,33,221,205,25,105,250,128,197,33,87,105,88,78,131,36,5,33,57,33,58,25,34,237,62,105,33,122,38,242,\r
+236,0,161,124,225,39,194,251,164,134,200,28,100,30,38,207,119,24,96,239,161,178,15,56,73,103,163,190,57,78,145,4,79,146,88,70,215,105,140,5,208,165,0,170,228,11,117,68,190,53,120,10,228,82,127,108,226,40,13,142,130,51,56,235,113,104,75,2,206,67,138,79,\r
+25,32,153,255,129,112,29,3,133,169,58,148,239,109,184,79,30,46,237,27,54,112,201,0,39,37,149,164,16,201,23,48,30,128,111,6,9,198,37,152,114,140,182,67,63,55,229,24,111,64,227,141,28,211,184,20,160,22,60,61,64,81,142,207,254,183,79,149,238,236,11,98,236,\r
+171,135,211,124,67,31,151,2,77,97,34,128,220,33,203,176,223,176,3,176,253,182,100,94,55,85,216,220,176,203,94,227,165,116,5,147,94,69,89,207,51,71,53,3,25,68,104,56,37,104,17,249,19,43,97,4,242,23,86,194,69,210,51,244,68,42,246,15,80,75,3,4,10,0,0,8,\r
+8,0,10,178,149,71,188,172,77,50,145,2,0,0,131,5,0,0,61,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,105,111,110,83,116,114,105,110,103,67,111,109,112,97,114,\r
+97,116,111,114,46,99,108,97,115,115,157,84,207,79,19,65,20,254,102,186,101,97,109,161,242,163,96,181,130,90,161,80,100,41,32,72,74,136,164,137,9,177,17,19,12,137,222,166,237,166,12,89,118,201,238,150,248,175,192,201,155,7,123,241,2,137,38,198,179,127,\r
+148,241,205,118,173,66,107,106,56,116,222,155,247,190,121,239,219,111,222,244,199,207,47,223,0,20,241,204,192,16,230,13,24,106,209,177,160,99,209,128,134,37,181,152,58,150,85,154,108,81,199,138,142,85,134,129,45,233,200,96,155,33,150,159,63,96,208,202,\r
+110,221,98,24,169,72,199,122,213,60,174,90,222,27,81,181,41,50,90,113,107,194,62,16,158,84,251,40,168,5,135,210,103,72,239,157,4,210,117,246,3,79,58,141,178,123,124,34,60,17,184,30,67,98,215,113,44,175,108,11,223,183,8,183,89,113,189,134,217,240,68,221,\r
+182,204,154,45,77,194,30,11,167,174,154,189,22,158,111,121,185,222,149,74,12,122,45,220,81,211,185,124,229,72,156,10,211,22,78,195,108,35,75,221,145,249,93,58,227,134,213,138,138,125,23,160,147,94,33,17,252,67,215,11,8,199,222,253,222,172,92,107,180,\r
+87,61,178,106,65,169,59,162,26,241,247,203,87,123,68,57,149,33,165,215,24,16,150,235,251,249,197,146,186,132,220,255,0,25,134,246,101,195,17,65,83,137,178,245,47,170,205,64,218,230,31,37,183,186,133,216,166,82,198,190,219,244,106,214,11,169,110,53,221,\r
+213,110,73,29,74,32,129,100,2,79,177,174,99,131,225,121,95,142,101,225,91,187,142,111,57,190,12,228,169,213,61,30,211,125,16,170,227,163,4,38,144,102,72,93,231,205,176,113,195,105,186,82,172,45,22,195,120,47,181,24,30,246,191,9,154,24,219,114,26,193,\r
+97,248,134,104,26,102,250,157,193,50,61,66,131,70,226,22,61,89,13,92,9,75,187,97,218,153,100,105,90,16,95,184,4,255,76,14,199,8,173,3,42,200,83,72,145,159,104,3,112,27,227,80,115,69,242,68,135,63,33,70,113,96,167,112,129,152,246,1,186,246,17,90,108,123,\r
+241,239,221,186,150,61,131,49,161,157,35,206,91,217,115,229,158,33,174,181,190,66,123,203,46,17,47,16,122,160,213,105,124,159,254,67,192,71,49,204,199,144,229,227,152,229,19,200,243,73,20,249,20,86,121,38,36,180,214,110,26,17,82,222,36,166,66,146,59,\r
+184,67,30,39,114,171,200,224,46,209,203,34,135,123,228,105,169,29,34,158,141,136,191,164,76,140,108,114,161,240,29,250,34,253,46,48,216,234,249,245,51,109,96,167,89,146,40,78,135,205,146,148,155,86,48,53,53,81,225,77,178,60,146,147,245,150,51,221,6,116,\r
+10,198,169,96,142,242,49,60,14,241,179,152,11,109,30,99,100,51,20,31,66,1,163,228,61,32,139,212,32,221,96,1,79,144,249,5,80,75,3,4,10,0,0,8,8,0,10,178,149,71,232,35,13,242,71,1,0,0,75,2,0,0,49,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,\r
+47,67,111,109,109,97,110,100,76,105,110,101,65,114,103,117,109,101,110,116,69,120,99,101,112,116,105,111,110,46,99,108,97,115,115,149,145,205,74,3,49,20,133,79,250,51,163,181,182,90,109,43,234,194,238,180,85,7,215,149,130,136,130,48,184,176,165,251,116,\r
+26,166,145,153,68,50,51,234,107,185,42,184,240,1,124,40,49,73,75,21,45,130,89,220,228,158,220,251,221,19,242,254,241,250,6,224,12,205,18,10,216,50,97,219,69,221,69,131,192,57,231,130,167,61,130,250,161,127,79,31,169,23,81,17,122,253,84,113,17,118,143,\r
+134,4,133,75,57,102,4,85,159,11,118,155,197,35,166,6,116,20,105,165,230,203,128,70,67,170,184,201,231,98,33,157,240,132,224,196,151,42,244,66,69,199,17,243,130,136,123,151,50,142,169,24,27,200,133,10,179,152,137,244,234,57,96,15,41,151,162,75,224,198,\r
+44,73,104,104,169,191,92,16,180,151,120,251,166,12,38,74,62,153,249,214,112,49,160,89,162,73,245,165,21,4,165,190,204,84,192,174,185,241,219,250,203,216,169,1,148,81,132,99,66,133,160,243,143,87,17,236,126,205,191,203,68,202,99,182,184,68,11,121,253,\r
+11,102,229,64,204,4,29,93,157,245,116,158,211,187,211,238,76,65,94,236,253,138,142,37,171,54,117,229,14,86,245,169,49,171,210,250,154,165,56,40,99,93,51,12,171,50,103,221,232,25,121,189,187,237,206,241,20,185,159,176,61,221,180,111,97,7,179,178,5,204,\r
+157,195,204,169,138,13,107,113,211,118,215,62,1,80,75,3,4,10,0,0,8,8,0,10,178,149,71,63,23,104,255,199,7,0,0,135,19,0,0,61,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,\r
+75,110,111,119,110,79,112,116,105,111,110,80,97,114,115,101,114,83,116,97,116,101,46,99,108,97,115,115,221,88,107,120,20,229,21,126,191,100,147,89,38,3,134,133,0,129,86,167,154,144,100,115,15,1,139,208,180,33,162,164,134,64,27,76,140,180,218,97,119,76,\r
+6,55,51,219,153,217,4,236,197,74,91,237,221,94,208,54,86,123,177,8,218,122,129,74,18,66,188,212,94,176,162,245,214,162,79,255,246,121,250,60,125,250,223,159,173,61,103,102,118,179,155,221,176,137,63,251,231,155,243,157,239,220,190,115,251,206,238,197,\r
+255,158,127,1,64,59,222,149,177,5,119,174,160,37,33,163,19,99,18,76,25,33,88,140,73,242,242,121,94,108,94,28,94,92,166,79,73,24,15,99,66,194,17,25,215,224,168,12,5,119,49,244,133,48,190,88,129,47,225,203,76,116,183,76,226,191,194,219,123,36,124,85,198,\r
+122,124,61,140,123,101,108,195,125,50,190,129,111,242,201,183,100,124,27,223,97,194,239,134,241,61,198,220,95,129,239,227,7,188,252,80,194,143,248,248,56,31,63,32,227,24,30,148,240,99,25,117,176,194,248,9,127,39,121,121,40,140,159,242,247,97,25,143,224,\r
+103,76,251,243,10,252,2,247,75,248,37,171,121,84,194,175,36,156,16,80,172,164,107,88,230,128,107,27,230,136,132,147,132,217,151,133,161,109,175,105,234,118,79,66,115,28,221,17,104,237,179,236,145,214,17,91,139,39,244,214,88,194,104,237,177,198,198,52,\r
+51,222,103,152,250,126,205,118,116,187,38,155,127,135,64,185,175,65,224,234,203,176,250,60,68,93,17,155,71,22,96,241,84,196,179,24,137,165,204,113,53,87,151,112,138,184,125,19,6,24,33,208,82,220,214,44,122,54,117,92,75,164,248,150,149,125,135,181,113,\r
+173,53,229,26,137,214,62,195,113,233,108,197,128,49,98,106,110,202,38,193,53,11,142,119,250,251,132,102,142,180,6,247,238,98,113,238,168,225,212,180,93,254,230,190,5,76,189,211,48,13,183,75,224,66,125,113,242,101,70,161,184,231,139,59,122,121,206,108,\r
+24,20,8,245,88,113,242,214,21,76,210,159,26,59,164,219,7,180,67,9,194,68,250,172,152,150,24,212,108,131,247,1,50,196,222,18,88,119,147,105,77,152,190,85,57,209,220,94,220,128,194,172,228,91,217,50,187,237,145,212,152,110,186,2,187,234,243,195,213,176,\r
+220,84,9,107,25,121,145,124,113,2,171,216,247,154,237,246,235,71,92,82,45,208,86,191,108,29,171,70,116,119,143,230,204,91,94,90,223,112,171,119,25,226,76,38,116,246,74,153,151,178,2,37,70,141,192,218,172,188,236,117,117,91,115,45,206,172,10,203,29,213,\r
+237,125,65,25,42,73,47,180,233,109,94,178,229,69,62,200,16,9,143,11,64,224,223,255,15,233,89,156,186,221,75,225,146,35,109,188,180,243,210,193,203,22,94,58,121,217,202,125,96,9,98,40,96,3,86,202,142,233,55,24,156,230,235,242,104,90,56,104,10,246,160,\r
+87,193,13,184,145,161,39,4,214,204,135,178,219,182,181,163,220,103,248,232,215,10,118,161,71,193,86,108,87,112,29,118,40,216,137,143,41,232,66,183,130,65,12,9,52,46,110,83,58,147,118,31,137,233,65,248,183,4,199,205,9,58,87,253,86,173,214,213,58,117,106,\r
+220,210,29,213,180,92,213,213,238,212,85,205,84,211,25,223,66,253,113,62,227,247,29,58,172,199,200,178,223,224,73,54,239,41,5,79,227,25,129,157,221,166,170,143,37,221,163,25,54,117,66,115,212,164,109,141,27,113,61,174,222,97,217,106,108,17,213,45,18,\r
+78,43,56,131,223,42,184,5,55,43,120,22,67,10,206,98,72,194,148,192,182,162,46,223,107,56,14,101,149,159,57,116,229,160,127,84,21,196,179,205,211,36,181,223,250,32,134,42,152,193,57,9,179,10,206,99,78,193,115,120,70,194,243,10,94,192,139,10,126,199,193,\r
+232,218,155,74,184,6,213,106,70,186,163,78,232,182,190,100,249,47,225,247,18,254,160,224,143,236,131,63,225,66,142,239,253,242,81,240,50,187,253,207,120,69,193,69,188,42,176,126,33,197,174,148,145,136,235,54,245,216,3,163,186,170,224,53,252,133,151,215,\r
+5,54,164,213,25,142,26,215,147,182,30,35,159,196,213,102,34,122,3,175,72,120,83,193,91,44,252,109,252,85,194,223,4,212,98,149,170,224,18,222,17,184,246,3,246,106,129,142,37,182,142,28,166,213,5,112,205,203,234,65,2,77,203,105,32,244,166,23,47,125,129,\r
+186,226,189,50,104,52,212,218,105,45,167,108,24,211,168,211,111,47,240,70,29,236,91,88,117,244,108,21,120,122,170,10,189,111,44,60,161,155,35,238,168,167,171,151,94,151,220,25,134,208,90,60,190,128,59,173,134,94,157,8,61,70,221,137,132,53,145,121,143,\r
+232,177,150,12,103,55,23,249,101,19,195,191,167,192,193,37,56,35,255,241,94,170,3,43,180,88,76,119,156,154,246,206,54,106,217,61,75,214,149,25,0,10,120,114,225,165,242,94,29,26,11,201,105,233,167,244,182,2,142,47,254,180,229,141,5,139,61,192,84,190,142,\r
+113,23,233,220,188,52,6,50,142,98,54,24,140,180,145,250,134,252,161,118,99,38,168,233,62,149,21,220,176,17,140,16,244,104,229,48,103,141,22,145,124,44,101,197,168,230,240,220,67,6,155,222,103,109,125,67,126,82,113,200,226,241,249,225,166,138,108,185,\r
+62,104,65,100,253,144,102,155,94,93,230,50,103,98,147,137,247,86,142,247,246,37,12,37,129,24,195,106,221,79,50,220,33,155,239,199,131,183,150,76,234,38,165,126,115,193,193,112,145,102,186,99,1,253,162,21,57,79,31,118,173,116,179,89,83,192,20,114,92,146,\r
+119,9,30,210,200,25,55,218,86,42,57,100,112,197,174,206,241,255,128,206,222,91,153,131,32,22,91,31,179,198,51,177,175,189,156,71,210,169,55,8,149,126,146,118,210,79,222,114,68,120,164,32,40,194,83,133,247,165,193,194,251,210,108,225,125,105,238,160,249,\r
+239,122,130,75,176,187,178,146,135,21,143,179,132,103,23,58,249,36,237,30,68,41,97,128,166,104,227,20,74,162,98,6,165,209,57,132,134,103,80,54,133,242,104,211,20,164,104,243,20,194,209,234,208,20,86,68,171,9,43,159,241,36,222,68,235,149,144,104,196,60,\r
+1,89,60,138,42,241,24,54,138,147,184,74,156,66,173,120,28,141,226,9,244,17,77,39,202,88,62,246,98,31,224,65,108,119,137,7,177,229,165,30,196,182,135,60,136,173,47,35,235,246,227,83,25,27,37,143,190,63,58,141,138,135,176,105,14,202,112,100,101,232,121,\r
+172,26,46,141,158,133,52,112,14,87,204,160,242,197,198,105,172,78,31,71,242,143,9,46,111,156,197,154,18,12,145,160,181,167,51,183,216,200,30,16,79,65,18,79,147,245,167,177,89,156,65,151,120,22,189,226,172,119,131,117,190,246,204,13,250,241,105,12,144,\r
+109,2,7,112,115,96,227,16,89,79,227,54,106,73,75,120,26,85,147,168,102,125,179,88,39,48,137,149,115,88,63,204,206,221,112,58,87,245,42,190,190,96,170,243,80,197,115,158,58,197,23,20,168,19,60,37,6,74,58,60,165,160,104,248,74,158,204,200,41,103,188,120,\r
+41,139,63,156,225,191,37,109,164,120,128,28,73,78,22,101,236,200,73,212,101,89,232,123,173,186,160,215,86,240,254,28,54,250,90,55,245,249,108,31,162,209,117,26,31,246,128,207,133,78,164,111,126,101,58,2,87,21,142,192,44,221,19,123,155,102,241,17,86,91,\r
+69,192,213,130,102,175,107,250,27,155,167,81,115,234,253,127,249,98,106,47,160,131,160,146,115,216,60,135,58,74,199,250,72,195,52,162,44,109,26,141,145,38,31,102,66,130,166,65,188,45,254,190,117,22,109,89,10,54,164,21,180,247,243,77,136,174,227,212,251,\r
+255,36,80,158,15,194,117,20,6,136,11,88,35,94,166,172,189,72,177,127,21,183,139,215,48,33,94,199,113,241,6,38,197,155,120,88,188,133,147,226,109,92,18,151,240,158,120,7,255,17,239,82,44,254,238,57,188,139,220,127,156,114,118,152,178,162,20,247,96,19,\r
+110,197,65,146,253,30,5,225,51,94,134,255,131,42,197,199,145,243,131,192,116,209,24,248,89,220,6,81,9,170,71,45,8,177,77,178,36,14,98,180,177,169,185,58,84,93,54,3,113,102,65,152,31,241,180,238,241,233,50,89,169,224,16,213,183,240,160,88,80,97,10,226,\r
+65,133,41,208,131,10,83,112,135,87,97,12,141,96,212,235,7,134,167,225,48,62,234,37,89,57,182,225,24,174,133,140,143,211,247,19,33,254,27,236,24,101,125,9,110,167,47,42,195,88,79,223,175,129,255,105,59,134,199,66,242,255,0,80,75,3,4,10,0,0,8,8,0,10,178,\r
+149,71,28,107,22,177,205,2,0,0,219,6,0,0,55,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,105,111,110,67,111,109,112,97,114,97,116,111,114,46,99,108,97,115,115,\r
+149,85,109,79,211,80,20,126,110,215,209,81,58,24,111,83,240,5,68,12,27,111,101,128,32,12,17,156,98,22,23,48,153,33,241,99,25,205,44,233,90,210,118,196,159,225,15,225,139,95,192,72,98,248,236,143,34,158,219,54,115,176,74,225,67,123,207,61,231,57,207,185,\r
+247,188,180,127,174,126,253,6,80,192,142,140,52,230,100,244,242,87,15,230,37,44,200,16,177,40,99,9,203,18,94,74,88,145,145,226,251,20,94,73,88,227,240,117,9,69,9,27,18,94,51,116,109,24,150,225,109,50,36,114,249,125,6,177,100,31,234,12,125,21,195,210,\r
+119,155,141,3,221,249,172,29,152,164,25,168,216,53,205,220,215,28,131,239,67,165,232,125,53,92,134,204,222,177,103,216,86,201,110,28,107,142,230,217,14,131,82,182,44,221,41,153,154,235,234,132,88,170,216,78,93,173,59,218,161,169,171,53,211,80,9,219,208,\r
+172,67,30,230,147,230,184,186,51,121,147,163,200,32,213,252,29,5,250,144,187,133,32,240,44,198,35,242,101,226,180,125,185,192,48,17,239,208,130,47,210,93,27,6,247,26,168,28,105,39,154,106,106,86,93,173,122,142,97,213,139,129,141,32,83,185,54,227,222,\r
+193,145,94,243,138,157,26,126,10,225,219,194,117,170,208,198,45,5,9,84,14,248,116,177,89,43,20,121,213,38,239,2,100,232,174,26,117,75,243,154,60,163,149,255,29,181,233,25,166,250,175,12,27,241,89,218,36,106,185,106,55,157,154,190,99,240,182,200,118,132,\r
+159,231,212,10,50,232,87,240,6,91,18,182,25,86,239,216,18,65,150,219,155,43,27,109,224,252,83,18,222,42,40,225,29,117,229,205,66,49,108,197,134,44,105,174,94,182,92,221,114,13,207,56,209,59,99,143,197,32,20,140,224,61,195,120,92,214,56,110,148,161,112,\r
+239,185,184,118,177,160,114,12,67,81,165,163,22,143,111,11,42,93,93,247,130,32,52,168,253,185,124,91,27,84,117,222,146,183,220,37,96,97,24,110,143,111,154,116,166,128,46,65,131,65,105,207,85,162,236,209,13,87,204,71,141,197,181,209,10,231,174,83,147,\r
+47,99,129,190,111,189,52,60,125,244,117,20,33,240,150,163,221,0,237,84,90,105,174,144,156,62,135,240,131,4,1,131,244,238,226,74,118,133,33,146,149,0,128,97,60,4,159,64,42,81,232,252,157,200,146,180,174,204,156,33,113,1,241,11,59,71,242,39,186,46,33,237,\r
+206,118,168,214,197,11,164,248,190,123,110,68,60,131,124,218,138,214,139,4,23,49,40,208,157,4,193,143,186,28,48,135,81,185,244,8,143,253,147,172,224,9,73,220,243,57,158,98,140,124,167,232,98,227,36,137,153,109,58,221,179,240,116,31,201,66,188,72,79,207,\r
+92,162,103,150,158,51,40,167,145,87,28,15,128,173,96,105,76,16,57,243,165,73,146,132,12,248,24,133,196,107,180,10,97,206,88,116,206,178,1,160,69,152,36,194,28,217,19,200,251,248,105,204,248,235,44,30,208,58,65,121,76,83,41,178,148,217,23,180,34,147,34,\r
+141,74,63,178,81,250,65,169,88,197,232,95,80,75,3,4,10,0,0,8,8,0,10,178,149,71,228,98,213,39,225,2,0,0,110,7,0,0,63,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,85,110,\r
+107,110,111,119,110,79,112,116,105,111,110,80,97,114,115,101,114,83,116,97,116,101,46,99,108,97,115,115,189,85,203,82,19,65,20,61,61,201,36,97,50,64,8,16,241,133,136,40,201,16,8,225,161,34,136,34,165,165,85,20,90,133,178,96,215,36,83,227,232,100,134,\r
+154,76,148,95,240,95,92,72,21,143,42,23,126,128,255,224,198,215,194,141,27,55,186,176,188,61,153,10,17,66,37,113,225,230,222,238,219,247,156,190,125,238,205,228,253,239,183,239,0,228,113,91,65,12,227,10,58,48,209,65,171,156,48,147,194,228,197,193,148,\r
+130,105,204,68,113,53,138,107,12,114,217,227,158,30,197,28,67,252,17,119,203,186,187,38,2,12,234,3,219,214,221,101,139,151,203,122,153,97,98,197,113,141,156,225,242,162,165,231,10,150,153,91,118,74,37,110,23,87,76,91,175,226,70,234,224,243,12,33,238,\r
+26,12,201,149,103,252,5,207,89,220,54,114,107,158,107,218,6,29,197,11,135,88,134,225,163,204,62,79,177,142,159,32,145,5,211,54,189,69,6,61,125,156,177,57,65,123,197,103,214,25,194,203,78,145,138,235,22,41,171,149,210,166,238,62,230,155,150,46,94,228,\r
+20,184,181,206,93,83,236,131,96,216,123,106,146,72,3,79,236,231,182,243,210,126,184,229,153,142,253,151,156,45,148,112,18,152,158,223,101,232,222,125,94,94,114,141,74,73,183,61,82,55,157,217,160,176,99,83,134,235,173,234,219,222,146,144,123,50,157,105,\r
+183,79,138,99,31,210,222,105,160,110,219,140,49,94,227,35,114,202,222,178,116,49,98,55,24,192,240,234,63,52,176,121,118,222,111,178,180,61,41,76,94,152,41,97,166,25,70,90,1,211,203,214,156,138,91,208,239,153,162,253,169,99,57,19,226,141,42,122,209,39,\r
+204,188,138,110,36,84,244,32,169,66,65,151,138,97,12,70,177,160,226,38,22,163,184,197,48,247,207,211,193,48,213,20,219,0,212,211,32,150,109,71,100,250,225,54,23,138,97,52,221,106,51,134,154,13,1,67,39,47,22,239,110,123,46,95,231,86,133,246,253,141,198,\r
+181,1,213,177,43,49,68,31,194,14,250,88,134,144,20,13,161,85,82,180,200,247,212,37,242,17,72,162,125,52,177,253,180,43,209,46,76,190,95,99,7,144,180,177,61,132,180,236,30,194,218,248,30,228,29,58,144,144,34,155,130,76,51,254,17,50,251,4,133,125,70,55,\r
+251,130,62,246,21,167,232,76,171,18,96,0,103,0,127,37,46,100,254,74,92,41,249,43,81,76,136,162,103,113,46,184,58,75,94,100,73,225,215,181,123,34,34,194,190,249,188,106,245,52,224,101,56,143,193,0,153,11,144,178,182,143,200,155,35,224,239,117,96,185,6,\r
+190,64,202,84,193,115,228,165,147,192,63,124,112,170,154,80,123,145,140,139,254,139,152,24,239,128,102,145,114,196,21,9,109,151,212,218,69,104,31,81,114,242,33,163,34,88,216,79,196,217,175,186,146,18,85,86,234,72,47,46,7,92,27,164,32,233,139,152,54,150,\r
+29,63,0,219,57,82,213,7,31,63,83,205,169,85,21,195,149,64,231,24,70,3,157,99,72,251,58,139,85,198,239,140,132,49,159,45,139,78,242,195,20,137,99,22,106,88,252,99,206,226,52,85,121,137,60,18,98,108,102,113,61,172,252,1,80,75,3,4,10,0,0,8,8,0,10,178,149,\r
+71,34,122,201,90,146,5,0,0,153,13,0,0,38,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,79,112,116,105,111,110,46,99,108,97,115,115,157,86,91,115,211,86,16,254,148,24,203,177,69,18,12,196,225,30,\r
+32,128,99,19,220,22,2,148,164,80,8,183,64,72,128,164,73,67,160,69,177,85,71,84,145,92,89,230,210,251,189,253,11,188,244,173,229,165,15,180,83,194,164,204,116,250,196,67,103,250,39,250,67,218,126,71,86,100,217,178,75,166,147,137,206,158,213,158,221,111,\r
+119,191,61,242,31,127,255,250,27,128,151,241,109,28,59,48,37,99,58,142,54,76,117,96,59,222,232,192,12,102,133,244,166,120,204,37,112,3,243,9,220,196,45,241,120,75,198,219,9,220,134,42,99,65,70,62,142,206,234,169,130,144,52,33,189,35,164,162,120,44,198,\r
+160,199,112,71,40,223,141,193,16,170,37,113,214,20,15,75,70,73,198,123,18,100,171,228,232,150,89,150,208,53,126,71,189,171,230,42,142,110,228,166,52,103,88,66,199,148,94,52,85,167,98,107,18,246,214,191,29,169,110,13,213,44,230,166,28,91,55,139,195,39,\r
+121,66,81,237,98,101,73,51,157,233,7,37,30,218,16,176,26,53,212,114,153,38,155,26,117,35,25,113,50,81,208,202,121,91,119,193,72,72,134,221,83,89,208,74,182,150,87,133,201,172,106,155,212,74,136,235,102,190,178,64,157,216,72,55,8,186,104,91,149,210,172,\r
+238,44,74,56,220,8,218,178,139,185,162,173,22,12,45,151,55,244,220,168,181,180,164,154,133,113,221,212,38,221,200,110,18,209,17,221,212,157,147,18,82,233,0,140,49,71,179,213,5,67,27,30,152,145,16,25,181,10,154,40,25,79,78,84,150,22,52,123,90,188,19,192,\r
+173,188,106,204,168,182,46,246,158,50,106,121,105,181,233,253,126,1,92,80,174,83,199,178,25,53,226,44,234,236,194,158,23,99,172,175,161,143,75,66,79,125,112,182,192,3,208,44,143,22,29,204,174,217,86,212,33,94,212,156,201,85,2,109,72,15,132,40,180,175,\r
+81,215,34,108,98,81,45,159,246,184,35,97,40,29,34,206,192,90,234,114,60,116,78,144,107,77,71,251,211,107,50,83,2,56,153,114,39,243,63,27,36,238,166,213,124,235,169,27,181,181,114,197,96,102,91,66,111,207,84,116,163,160,9,6,116,210,119,157,179,163,233,\r
+176,175,53,161,76,18,214,105,195,176,238,5,177,182,167,7,56,30,91,253,87,87,8,72,47,25,90,192,36,190,58,97,90,65,194,102,55,183,240,196,41,212,95,168,205,216,80,184,195,107,154,178,100,186,129,44,130,79,71,211,255,195,151,75,196,41,171,98,231,181,243,\r
+186,160,123,79,200,234,144,240,170,224,32,108,210,180,22,225,162,90,94,100,20,5,59,177,75,70,89,129,131,189,10,246,136,71,70,104,42,10,238,226,158,140,251,10,30,96,76,193,251,248,64,66,119,99,79,100,124,168,224,35,124,204,14,214,92,143,235,101,182,59,\r
+213,162,219,10,246,97,191,130,79,240,169,130,3,66,250,12,159,139,237,23,244,49,95,107,66,223,96,31,47,181,91,10,210,24,96,225,231,107,119,29,117,95,98,84,193,87,248,90,193,55,34,118,223,139,42,85,135,124,114,225,142,150,119,92,82,204,172,226,118,95,204,\r
+88,58,123,31,153,158,187,122,142,61,10,95,5,18,98,186,119,105,177,208,117,189,15,92,102,201,176,150,159,26,242,123,66,187,207,168,17,211,93,234,135,165,10,137,135,215,215,81,128,24,213,130,160,99,58,108,43,8,29,85,75,37,205,164,193,96,211,105,105,61,\r
+110,81,67,51,139,130,193,172,193,152,132,237,233,209,255,178,142,57,86,85,37,34,22,10,28,33,14,115,144,173,163,150,97,16,147,160,164,11,203,214,150,172,187,26,118,243,243,187,131,223,250,40,146,130,101,96,163,184,107,163,190,77,16,205,223,247,243,159,\r
+156,112,229,3,222,202,174,115,77,10,46,250,118,89,126,198,37,18,121,144,242,33,106,126,71,59,34,92,47,101,158,66,202,60,67,219,220,83,180,63,65,36,243,51,214,61,65,180,166,145,179,43,136,73,184,114,112,5,29,18,30,98,27,133,184,196,243,137,137,204,47,\r
+136,12,174,64,105,195,236,163,127,254,250,137,222,218,145,227,115,15,98,124,238,164,255,20,186,208,139,30,230,178,155,88,134,137,229,60,165,49,90,188,68,139,12,45,134,145,224,239,153,253,60,153,230,155,87,112,152,248,136,10,71,48,4,184,210,78,28,37,242,\r
+99,148,21,174,85,205,113,63,175,87,41,157,160,151,106,86,57,238,132,205,58,1,237,177,107,144,115,139,40,148,251,220,160,85,39,235,188,0,85,39,35,212,189,134,147,158,147,107,92,5,8,57,147,21,149,120,236,231,21,119,213,3,60,156,113,93,245,84,205,124,172,\r
+178,215,153,26,86,161,233,247,177,158,114,195,188,206,167,8,115,140,26,97,211,145,217,136,196,106,160,182,64,160,67,60,158,11,96,238,240,2,73,56,221,212,201,250,102,78,14,187,248,154,57,57,131,81,207,201,159,94,194,218,51,116,178,233,93,227,172,94,247,\r
+115,40,89,177,46,99,195,44,215,228,115,164,179,203,216,248,29,226,217,238,190,101,108,154,205,38,55,139,119,194,40,233,10,201,30,207,54,245,16,189,141,182,189,174,201,50,182,212,0,158,32,37,193,86,198,216,196,46,238,122,217,135,93,44,208,126,118,98,144,\r
+25,30,97,158,175,17,230,89,254,93,198,57,92,39,121,230,112,145,191,66,47,5,202,175,121,9,197,112,139,118,231,92,2,156,199,5,47,181,83,193,94,118,135,170,51,193,94,78,182,232,165,152,42,225,236,34,249,90,117,118,194,43,118,55,115,140,114,78,190,135,28,\r
+121,132,72,251,143,13,68,155,10,212,187,219,175,247,165,230,126,216,183,31,90,248,153,109,234,231,114,243,228,146,161,228,230,153,220,205,22,201,29,240,146,75,251,76,26,242,64,201,153,200,19,164,66,206,110,211,153,26,192,35,251,120,198,125,30,5,167,47,\r
+217,56,125,90,147,233,3,174,52,29,93,185,241,176,222,114,116,39,220,123,100,210,115,162,121,21,73,9,39,188,184,182,242,106,18,98,102,5,219,40,214,174,168,78,174,192,18,47,31,147,213,177,2,85,74,249,216,82,222,197,91,27,103,161,201,250,227,124,149,210,\r
+53,87,186,254,47,80,75,3,4,10,0,0,8,8,0,10,178,149,71,156,108,92,207,167,1,0,0,166,3,0,0,56,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,105,111,110,80,97,114,\r
+115,101,114,83,116,97,116,101,46,99,108,97,115,115,149,82,93,75,27,65,20,61,179,89,179,118,77,77,180,154,226,119,140,41,70,41,110,20,95,36,34,104,64,20,130,10,145,60,248,54,73,134,237,200,102,86,102,39,37,255,163,191,164,79,133,62,248,3,250,163,138,119,\r
+54,1,17,11,105,118,30,206,157,187,231,158,203,61,119,254,252,253,253,12,224,16,95,124,100,176,233,195,197,166,135,146,135,109,134,236,169,84,210,156,49,100,170,123,109,6,183,17,247,4,67,190,41,149,184,25,244,59,66,223,243,78,68,153,197,102,220,229,81,\r
+155,107,105,239,227,164,107,190,201,132,97,225,246,201,200,88,221,113,157,8,221,50,220,208,175,220,181,82,66,55,34,158,36,130,40,199,205,88,135,65,168,121,47,18,65,55,146,65,35,238,247,185,234,217,62,163,186,202,59,145,58,195,124,172,40,212,230,70,12,\r
+205,185,14,61,148,25,230,222,244,169,85,247,38,75,191,21,245,99,69,90,131,190,80,134,225,162,218,124,228,223,121,16,113,21,6,45,163,165,10,235,83,43,206,135,194,92,241,228,85,149,204,124,72,27,81,229,83,36,140,240,176,195,0,134,221,234,100,237,195,186,\r
+221,132,51,172,49,84,254,135,77,141,90,241,64,119,197,165,180,75,41,190,227,28,216,9,115,152,65,214,67,133,225,104,250,85,48,20,94,93,186,237,60,138,46,13,249,117,26,151,24,202,147,71,97,40,77,34,185,37,122,194,46,236,151,133,99,103,34,87,61,186,5,132,\r
+100,49,102,246,127,193,249,73,129,131,217,148,100,125,255,129,15,20,231,70,4,248,248,8,184,180,54,44,164,184,136,79,41,46,97,57,197,162,205,23,44,115,101,44,126,66,232,140,197,217,191,197,139,35,194,72,60,141,86,177,150,150,173,167,252,13,106,15,202,\r
+101,232,108,97,206,245,145,39,44,16,126,38,68,97,246,5,80,75,3,4,10,0,0,8,8,0,10,178,149,71,91,120,110,152,148,7,0,0,199,17,0,0,38,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,80,97,114,115,101,100,67,111,109,109,97,110,100,76,105,110,\r
+101,46,99,108,97,115,115,149,87,217,127,27,87,21,254,70,219,200,210,68,177,85,199,142,221,38,85,211,56,150,101,57,134,36,208,120,169,139,227,38,77,28,219,41,113,73,112,90,10,19,107,34,79,144,103,148,209,200,137,91,74,75,161,208,133,165,165,5,154,150,\r
+125,51,139,129,164,52,9,38,63,150,55,248,241,206,27,111,188,240,87,16,190,59,51,26,75,214,184,49,47,51,231,222,57,247,59,231,124,103,185,210,63,254,251,199,63,3,248,48,222,79,160,19,134,12,51,129,16,140,22,228,81,150,113,41,129,168,187,176,196,163,34,\r
+195,78,160,197,221,169,38,177,132,203,73,92,193,178,120,60,35,227,89,25,159,75,160,21,70,2,219,241,92,18,159,199,101,25,207,39,241,2,190,16,199,139,50,190,152,224,177,47,37,208,142,151,100,124,57,129,110,24,113,124,69,188,95,142,227,21,241,126,85,104,\r
+188,38,78,126,53,137,175,225,178,88,126,93,0,124,67,198,235,113,188,145,64,15,190,153,196,155,120,75,232,124,75,60,190,45,30,111,201,248,142,132,237,102,217,214,77,163,114,100,121,214,182,116,163,200,157,169,139,234,146,58,88,181,245,210,224,180,90,30,\r
+145,208,50,171,23,13,213,174,90,154,132,147,141,95,71,221,101,73,53,138,131,46,192,200,148,105,21,7,139,150,90,40,105,131,243,37,125,240,113,213,170,104,133,9,115,113,81,53,10,83,186,161,157,114,44,142,140,17,57,85,182,180,138,102,216,238,86,165,209,\r
+248,172,102,83,229,193,198,157,0,131,14,144,165,45,154,75,90,193,7,74,105,87,108,75,29,183,138,213,69,226,115,163,181,14,103,74,175,8,232,189,27,182,54,193,142,141,234,134,110,143,73,232,204,214,41,156,176,53,75,61,95,210,70,250,206,72,136,76,152,5,77,\r
+120,207,240,102,170,139,231,53,235,9,241,77,66,122,202,156,87,75,103,84,75,23,107,111,179,197,229,156,38,132,66,147,77,9,33,125,175,132,246,58,239,28,99,182,105,241,155,82,118,248,116,3,149,144,221,42,221,140,195,244,206,236,217,120,38,72,59,98,47,232,\r
+149,0,221,38,124,234,202,102,141,246,246,32,134,36,116,52,210,176,92,174,81,113,56,64,127,244,238,238,137,180,140,4,101,99,75,103,69,198,226,182,89,43,248,246,108,95,80,18,148,75,85,211,214,198,141,194,164,169,11,162,131,147,31,116,50,86,241,144,101,\r
+87,168,8,238,171,118,185,106,75,232,106,58,112,164,170,151,10,154,72,173,172,87,142,233,86,133,90,210,57,145,217,160,240,2,43,116,116,203,186,129,254,182,44,168,149,90,61,237,200,54,107,244,209,155,214,5,213,171,185,211,110,167,145,32,30,27,55,150,107,\r
+39,187,178,117,5,59,97,150,74,218,188,195,183,56,189,189,100,22,167,180,37,173,228,247,103,71,176,178,132,92,224,135,77,2,31,8,182,25,28,250,185,13,68,213,162,219,122,7,181,21,53,251,232,134,185,146,174,85,79,253,100,217,215,180,185,73,0,219,212,66,193,\r
+65,60,163,150,170,218,38,244,179,92,163,75,238,247,22,234,215,8,127,58,64,247,238,229,255,127,132,171,184,67,181,102,175,167,105,214,4,160,211,215,196,172,89,181,230,181,99,186,104,240,142,38,248,253,194,105,5,135,241,54,9,93,39,233,184,90,89,224,133,\r
+162,96,0,251,155,62,112,240,43,188,111,15,40,56,132,3,18,238,89,255,58,110,89,234,178,32,88,193,71,240,81,25,87,21,188,131,119,101,124,87,193,247,240,125,5,63,192,15,37,100,238,230,55,51,182,53,86,20,252,8,63,150,241,19,54,196,70,238,101,252,84,193,207,\r
+240,115,9,7,189,113,56,156,233,169,228,51,141,23,145,187,215,120,91,137,189,6,192,83,231,47,178,144,21,204,224,148,130,21,252,130,87,207,38,83,131,119,69,62,163,224,151,248,21,135,70,175,130,41,76,43,152,0,249,253,53,86,101,252,70,193,39,49,167,224,183,\r
+248,29,71,121,221,140,96,167,20,213,82,205,171,163,87,230,53,143,135,157,174,79,153,222,158,74,111,198,48,237,76,65,187,192,232,11,251,69,198,46,200,184,166,224,58,86,21,188,135,167,20,252,30,171,205,228,54,49,39,33,156,21,117,145,110,158,81,156,195,\r
+186,119,181,177,84,26,154,166,238,202,75,55,239,114,88,114,250,204,144,91,7,157,173,29,49,156,69,227,48,119,137,36,68,130,157,235,207,158,182,6,67,238,207,140,109,13,27,13,107,86,37,141,56,211,251,112,182,25,188,121,39,208,131,216,5,211,90,84,137,49,\r
+20,208,182,79,126,48,200,250,205,162,150,203,154,81,88,31,124,141,131,108,243,171,37,62,111,26,182,170,139,232,119,4,196,32,8,108,15,154,164,12,188,40,232,216,23,116,40,40,204,84,227,216,227,121,78,44,225,120,161,48,94,42,81,112,75,31,15,240,87,106,39,\r
+127,68,71,144,22,29,15,9,131,92,133,240,33,174,217,232,254,250,32,215,135,54,172,217,232,254,250,33,36,249,62,140,33,202,195,128,52,128,48,100,238,188,146,187,5,41,119,27,161,185,91,8,223,64,132,98,148,98,236,6,228,117,49,78,177,133,98,226,6,146,253,\r
+107,80,36,76,231,215,176,77,194,85,156,164,144,146,240,87,108,159,185,141,86,234,180,13,71,6,110,34,189,134,123,36,12,71,187,162,158,94,70,72,142,98,251,112,44,247,62,34,93,177,174,200,26,118,132,113,118,229,206,191,86,238,188,119,157,206,132,49,194,\r
+231,1,40,124,118,51,228,29,252,173,223,65,169,147,63,205,119,50,228,123,49,137,251,48,139,93,176,177,27,47,226,126,188,132,12,94,38,73,163,60,113,156,1,217,72,225,97,140,33,134,167,209,139,71,240,49,254,199,152,37,226,56,142,16,111,146,248,19,120,148,\r
+118,30,194,199,157,175,33,65,1,142,226,24,224,72,143,17,69,194,9,202,10,223,238,206,164,79,226,73,74,156,28,124,146,66,124,130,86,132,78,127,186,35,246,39,116,206,133,115,140,75,190,133,157,179,115,17,33,38,29,49,42,196,184,16,255,128,174,107,14,140,\r
+8,210,61,218,227,56,238,154,234,247,220,8,137,113,230,102,9,255,225,59,198,247,233,219,232,38,183,247,78,71,198,92,254,135,35,130,61,135,217,67,66,242,152,141,238,122,7,137,124,250,190,155,216,117,54,159,222,237,188,186,162,117,171,240,216,202,157,191,\r
+231,111,226,254,107,62,221,251,157,202,232,67,28,57,36,232,69,150,21,151,103,173,29,100,208,195,36,125,156,117,118,156,20,78,114,103,154,53,38,60,22,4,103,177,7,143,83,138,178,210,70,28,50,35,194,83,159,204,211,164,88,144,25,231,201,211,76,66,136,232,\r
+199,241,4,105,11,215,17,44,180,206,248,4,159,165,196,65,236,17,124,130,59,34,65,109,185,254,155,200,156,21,236,50,250,7,66,88,245,105,76,56,10,194,157,71,28,199,58,220,3,190,19,109,204,247,24,225,36,156,251,0,216,120,48,236,36,97,79,222,5,246,73,60,229,\r
+229,234,77,190,5,3,125,4,219,83,215,33,221,181,14,105,159,201,177,51,30,188,138,104,100,117,229,206,191,195,171,126,10,58,72,162,168,167,110,82,177,135,36,236,165,175,189,244,88,152,206,17,180,155,14,9,131,162,101,51,126,221,246,249,238,244,225,83,172,\r
+247,250,186,21,59,159,246,105,253,12,37,94,118,94,252,21,162,132,133,142,104,67,58,187,55,68,231,90,167,243,127,195,206,219,232,153,75,239,139,56,213,220,47,10,246,22,122,255,146,95,175,218,180,19,97,129,77,166,81,190,64,39,23,28,39,51,46,96,157,67,46,\r
+63,41,182,172,104,189,16,229,243,152,247,152,26,116,152,3,162,162,73,54,182,68,169,174,37,162,30,160,27,69,129,79,141,70,221,40,30,245,178,168,8,16,70,145,101,245,92,223,144,192,50,75,251,82,93,2,21,223,65,5,69,199,65,48,0,221,67,52,188,4,238,110,224,\r
+101,70,148,93,222,153,104,125,52,49,176,238,111,202,9,90,76,156,42,167,210,146,159,45,34,248,118,118,59,211,72,114,164,9,199,231,20,90,29,74,196,217,139,248,172,103,251,13,207,246,80,127,109,118,250,245,147,173,171,31,186,50,176,134,92,136,219,41,81,\r
+183,92,244,135,196,4,253,231,122,232,110,49,61,195,33,249,44,221,121,142,183,192,243,156,251,47,248,238,237,226,40,125,216,41,166,4,123,191,86,76,67,190,203,67,142,163,34,67,37,7,115,241,127,80,75,3,4,10,0,0,8,8,0,10,178,149,71,139,65,53,108,124,1,0,\r
+0,11,3,0,0,58,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,80,114,111,106,101,99,116,80,114,111,112,101,114,116,105,101,115,67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,157,146,75,79,\r
+194,64,20,133,207,5,4,68,124,63,80,195,162,236,192,4,26,19,117,227,35,81,140,43,162,36,24,247,67,59,150,49,109,135,12,3,9,255,74,87,38,46,252,1,254,40,227,20,170,49,216,68,227,44,238,233,156,57,223,244,118,166,111,239,47,175,0,246,177,91,64,22,27,121,\r
+108,230,177,149,71,41,135,237,28,118,8,217,19,17,10,125,70,72,87,107,119,132,76,83,186,156,176,220,18,33,191,30,6,93,174,110,89,215,55,206,90,75,58,204,191,99,74,68,243,216,204,232,158,24,16,142,90,82,121,182,167,152,235,115,219,241,133,221,86,242,129,\r
+59,218,72,159,43,45,248,160,41,131,128,133,110,180,107,83,134,35,99,114,117,76,88,245,248,103,104,124,211,215,66,134,132,141,106,173,245,192,70,204,246,89,232,217,29,173,68,232,153,232,206,143,232,37,215,76,248,220,37,148,19,214,6,142,18,241,142,133,\r
+142,28,42,135,95,137,168,229,189,63,245,214,136,58,40,34,135,60,129,218,132,98,127,74,213,141,246,9,23,29,174,173,216,138,116,242,102,235,94,42,75,247,184,213,29,10,223,181,166,13,88,85,222,240,26,86,189,29,140,163,220,105,48,30,49,127,200,107,13,194,\r
+193,127,14,141,112,56,131,157,119,7,90,177,223,56,84,48,103,238,63,26,25,80,244,97,166,206,155,153,109,148,140,206,237,61,131,158,204,67,10,5,83,179,19,115,29,11,166,22,167,1,163,139,19,124,9,203,49,92,143,225,244,90,234,113,6,45,125,67,211,95,232,74,\r
+2,154,158,69,203,137,232,106,2,154,153,69,43,9,168,249,119,39,169,245,15,80,75,3,4,10,0,0,8,8,0,10,178,149,71,50,108,87,182,74,2,0,0,4,5,0,0,70,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,\r
+114,115,101,114,36,67,97,115,101,73,110,115,101,110,115,105,116,105,118,101,83,116,114,105,110,103,67,111,109,112,97,114,97,116,111,114,46,99,108,97,115,115,165,83,93,111,18,65,20,61,51,124,44,224,98,145,182,248,89,197,138,150,47,187,165,250,98,32,141,\r
+74,98,66,36,106,66,211,247,1,6,156,102,217,109,118,151,198,191,226,127,224,197,151,154,248,96,124,246,71,25,239,44,27,76,11,6,19,67,152,123,231,206,185,231,206,61,119,246,231,175,111,223,1,52,240,60,3,3,79,50,72,233,37,129,61,189,148,13,84,116,184,106,\r
+160,110,224,169,129,125,134,100,75,57,42,56,98,136,149,43,39,12,241,182,59,148,12,27,93,229,200,119,211,73,95,122,199,162,111,83,36,223,117,7,194,62,17,158,210,251,40,24,15,62,42,159,225,65,91,248,178,227,248,210,241,85,160,206,101,47,240,148,51,110,\r
+187,147,51,225,137,192,245,24,204,142,227,72,175,109,11,223,151,148,240,186,235,122,99,107,236,137,161,45,173,129,173,44,194,78,132,51,212,85,63,8,207,151,94,105,13,101,147,193,24,132,59,186,198,94,185,123,42,206,133,101,11,103,108,205,145,205,229,72,\r
+165,67,57,238,89,160,92,167,161,251,89,2,44,142,15,169,179,161,26,141,24,88,231,10,251,251,254,169,28,4,205,229,136,102,231,159,14,46,19,71,103,250,164,97,192,98,64,72,183,182,249,70,83,207,162,244,47,64,134,116,79,141,29,17,76,181,18,173,191,93,117,\r
+26,40,219,250,35,95,107,185,251,35,162,202,244,220,169,55,144,111,148,30,110,97,169,220,190,78,50,145,193,53,19,7,104,152,56,4,41,153,187,74,101,98,19,91,6,158,49,188,252,223,49,95,98,159,55,196,176,181,170,35,134,221,245,106,49,108,70,143,230,216,237,\r
+140,29,215,147,186,62,195,246,138,7,164,7,154,94,160,25,138,235,232,73,18,131,62,55,202,162,15,48,14,174,117,162,157,73,59,139,44,13,31,137,234,87,240,47,228,112,100,105,77,234,32,79,226,58,249,230,28,128,13,228,161,159,9,73,24,37,143,8,29,39,155,175,\r
+213,47,16,59,218,249,140,196,206,76,251,241,217,130,41,175,17,60,133,36,79,35,195,51,48,185,25,178,86,231,153,17,171,246,182,81,8,43,229,113,147,60,78,119,48,113,11,183,17,203,189,162,154,119,162,154,111,17,163,31,144,173,214,126,32,81,167,255,5,146,\r
+179,149,23,47,206,129,139,18,89,220,197,189,176,68,22,59,228,241,28,72,137,98,68,252,130,44,143,148,96,171,149,40,204,1,11,194,4,17,62,164,243,24,118,67,252,35,148,66,251,24,55,194,62,56,201,94,67,142,238,126,159,44,114,169,223,80,75,3,4,10,0,0,8,8,0,\r
+10,178,149,71,133,165,180,23,103,18,0,0,198,42,0,0,38,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,46,99,108,97,115,115,157,89,11,120,84,213,181,94,43,243,56,147,147,3,36,\r
+145,0,131,60,34,15,201,99,146,0,66,128,240,50,68,84,148,4,48,8,134,135,120,72,78,146,129,201,76,152,153,0,81,168,162,212,42,245,81,171,162,96,125,87,169,173,86,69,73,136,81,172,173,239,98,109,171,125,221,62,108,239,237,245,222,91,219,123,111,123,219,\r
+122,107,91,233,191,246,153,153,204,76,14,38,246,227,227,236,61,123,175,189,214,218,235,241,239,181,119,222,252,248,185,19,68,52,139,79,230,210,14,250,127,249,252,69,62,31,201,231,175,26,253,45,151,254,78,31,235,228,161,83,58,237,96,210,169,137,89,227,\r
+28,157,116,105,93,58,25,236,214,217,195,94,153,214,52,246,105,156,155,199,58,231,233,84,192,134,78,249,60,66,227,145,58,21,241,168,60,206,231,130,60,46,228,51,228,51,90,227,34,157,14,240,24,31,143,213,105,60,143,211,216,175,211,36,30,239,227,51,229,247,\r
+4,249,76,20,138,73,58,93,195,147,125,92,44,35,103,201,103,138,140,76,245,241,52,104,201,211,125,124,182,198,51,116,10,48,139,228,18,141,75,117,170,98,246,113,153,180,229,242,9,200,138,10,249,84,10,131,42,225,59,83,62,179,68,79,181,110,118,30,159,195,\r
+115,228,83,160,241,92,157,22,115,181,198,243,116,90,202,243,53,94,160,113,141,78,203,120,161,78,181,188,72,136,22,107,188,68,167,243,197,10,75,117,186,80,102,22,243,185,26,215,234,116,177,48,92,198,115,124,92,39,86,57,79,102,150,251,104,167,72,57,95,\r
+62,23,232,124,33,175,144,222,69,26,95,156,71,235,120,165,143,235,53,110,144,238,42,17,185,218,199,107,68,239,75,124,220,40,191,215,106,124,169,78,87,8,227,117,92,32,189,245,226,138,128,244,2,26,95,230,227,38,217,215,6,157,90,121,163,244,54,249,120,179,\r
+88,231,114,157,183,240,21,58,155,188,213,199,205,162,9,252,209,162,179,197,173,62,110,147,201,118,141,131,76,196,100,172,8,135,173,104,93,200,140,197,172,24,211,152,85,157,241,96,36,220,24,143,6,195,109,117,145,142,78,51,106,198,35,81,141,183,49,77,174,\r
+51,99,214,138,112,204,10,199,130,241,224,78,43,155,136,41,223,94,157,190,110,59,211,184,75,195,219,195,145,93,97,123,114,181,25,141,89,209,198,184,25,183,52,14,65,226,197,167,153,235,96,42,112,24,14,51,21,213,7,99,49,136,182,103,107,163,109,106,10,123,\r
+169,109,141,91,81,123,52,166,113,132,105,180,26,57,63,24,141,197,27,187,182,66,175,14,51,220,2,6,203,172,214,72,212,202,26,215,184,51,101,128,218,93,102,212,202,144,139,60,200,203,24,192,126,141,116,107,49,157,177,106,245,218,21,171,26,182,52,212,214,\r
+47,223,178,186,118,237,218,229,151,52,48,249,87,110,51,119,154,85,93,241,96,168,42,106,181,89,187,171,86,155,113,104,21,94,200,52,42,98,43,187,172,59,201,99,84,26,117,189,217,9,154,220,198,96,91,216,140,119,69,177,195,229,153,179,139,236,159,33,51,220,\r
+86,101,51,88,184,50,18,109,171,106,139,154,45,33,171,170,57,20,172,74,236,109,101,48,108,217,202,46,92,2,158,5,102,40,20,217,85,31,220,109,181,36,204,197,196,27,176,3,53,158,225,47,204,20,182,88,157,81,171,217,84,190,128,20,40,15,27,218,178,131,145,42,\r
+53,180,62,26,196,48,88,159,49,77,66,41,170,150,158,23,140,153,91,67,22,44,238,93,20,12,7,227,75,152,92,37,165,235,152,220,117,145,22,75,54,11,181,26,186,58,182,90,209,181,66,8,81,43,35,205,102,104,157,25,13,202,239,196,160,59,222,30,132,26,83,62,97,111,\r
+182,103,68,124,73,74,175,132,74,34,47,63,123,144,201,211,41,75,152,230,149,108,28,108,197,210,108,81,138,127,75,154,64,112,200,107,30,248,9,193,14,108,0,157,203,119,55,91,201,128,196,30,230,151,164,81,173,128,38,178,195,225,137,51,148,194,9,127,49,205,\r
+25,210,26,211,6,101,15,184,120,173,112,11,50,6,238,94,129,208,138,36,227,87,44,239,160,190,128,132,102,19,205,194,218,72,66,182,203,20,14,57,193,105,200,176,180,136,84,251,65,214,47,76,13,103,110,19,113,215,153,189,49,7,183,58,109,94,87,11,19,121,94,\r
+57,244,214,51,55,61,38,51,170,186,59,147,145,229,228,13,135,164,146,148,89,57,108,218,97,121,115,242,64,6,2,129,18,145,20,171,13,15,228,227,180,146,65,140,156,2,94,87,140,86,33,189,91,135,27,204,78,108,220,102,52,10,119,186,67,86,24,77,65,115,54,108,\r
+124,114,250,37,160,37,21,44,2,26,131,88,196,50,209,173,209,138,99,193,57,153,35,139,134,135,95,122,167,96,206,165,49,179,13,78,244,167,123,166,182,179,19,17,110,103,21,18,223,136,100,32,244,232,72,180,197,138,38,147,200,30,21,181,0,111,173,202,21,201,\r
+145,252,52,181,86,6,99,162,169,107,187,213,13,216,216,105,134,186,32,212,99,133,227,81,249,189,220,110,139,50,145,121,154,26,150,85,145,174,184,4,160,163,134,200,64,156,67,29,234,56,200,100,113,126,114,24,52,35,51,148,134,114,158,16,172,129,214,213,97,\r
+238,102,154,154,109,65,199,240,157,150,181,161,211,144,45,116,218,134,211,49,227,184,122,238,208,199,147,227,58,247,182,72,16,17,182,168,36,109,125,93,36,20,178,154,149,199,157,66,218,1,172,60,56,38,196,201,233,72,182,106,235,54,48,17,220,83,147,177,\r
+148,43,178,101,192,21,49,43,85,200,120,183,118,181,182,138,79,198,13,18,180,76,205,136,184,86,41,31,50,207,247,1,134,139,202,100,99,75,157,119,36,147,195,220,212,167,206,232,84,42,234,102,115,179,21,139,77,155,59,115,38,211,244,146,161,65,160,20,5,64,\r
+206,238,153,3,43,231,203,202,115,134,179,114,80,209,146,100,177,64,88,228,37,126,204,82,170,44,24,62,195,65,197,133,111,17,232,237,66,66,111,140,116,69,155,81,195,9,142,143,25,196,162,82,24,24,116,23,221,109,208,65,186,211,160,47,208,109,6,221,65,119,\r
+50,141,79,242,94,213,21,239,236,138,195,166,150,217,97,139,208,56,110,208,15,184,203,160,195,188,19,31,122,80,62,247,0,16,7,54,120,161,25,107,199,38,113,226,59,232,40,11,119,105,188,219,224,110,190,210,160,135,233,49,166,226,161,142,131,65,236,145,198,\r
+26,95,101,240,30,222,43,12,63,35,159,171,153,170,135,60,246,28,235,90,89,125,141,198,251,12,190,150,175,211,120,191,193,159,229,235,13,254,28,223,0,156,203,142,45,131,111,228,3,136,131,138,10,131,63,207,55,49,85,12,41,52,189,234,22,89,55,227,24,168,168,\r
+216,120,249,226,205,229,6,223,194,7,12,190,149,191,96,240,109,252,69,131,111,231,59,0,104,37,75,99,165,9,138,197,149,101,6,223,201,7,133,232,46,131,239,230,67,0,109,53,47,211,50,75,135,196,105,121,137,177,138,205,149,101,72,203,52,56,77,86,155,203,163,\r
+209,72,212,224,195,162,244,216,193,89,27,12,181,72,66,51,246,117,15,127,201,224,123,249,62,131,239,23,67,60,192,119,24,252,32,63,100,240,195,124,200,224,47,211,61,6,63,194,143,106,124,196,224,175,8,183,108,7,14,202,54,131,31,227,175,38,3,34,19,191,37,\r
+126,190,157,225,224,181,81,203,130,131,153,102,13,179,128,27,184,78,137,117,191,38,159,199,13,126,130,191,158,220,103,2,212,195,219,173,150,84,112,206,27,38,243,236,75,156,193,79,242,83,25,91,169,141,70,205,110,57,50,52,126,26,129,17,40,54,232,151,244,\r
+43,131,143,138,1,159,225,103,13,62,198,79,105,220,99,208,79,185,215,224,227,89,203,83,167,136,193,125,18,113,238,233,177,233,225,140,192,179,49,218,224,231,248,6,131,251,249,121,8,153,174,188,244,2,2,41,86,92,44,11,12,62,33,105,56,198,25,141,53,126,81,\r
+232,191,129,34,37,173,70,3,218,182,153,33,20,187,93,29,56,172,83,133,56,106,47,123,235,197,51,166,199,102,20,7,99,197,102,8,8,208,210,93,220,130,34,32,108,181,84,138,22,47,137,153,191,105,240,183,36,27,106,234,204,112,56,18,47,54,91,90,138,35,105,107,\r
+77,172,13,39,71,154,109,154,88,220,140,198,139,119,5,227,237,197,51,42,102,84,26,116,11,221,170,241,203,6,191,194,175,106,252,154,100,196,245,76,27,135,201,177,56,18,14,117,23,55,71,194,113,51,24,134,162,157,237,102,24,219,137,6,155,139,155,219,225,177,\r
+102,132,88,12,241,41,178,84,179,101,70,229,39,6,172,237,124,141,95,55,248,13,81,100,66,201,166,165,123,54,117,94,85,27,2,223,189,27,83,189,138,45,155,203,74,13,126,147,17,188,83,134,140,37,92,14,206,29,146,104,200,231,131,5,67,178,56,221,75,194,112,226,\r
+221,249,157,129,105,246,167,191,71,13,7,138,79,243,70,49,119,120,112,58,232,201,98,184,249,156,253,112,193,20,248,52,151,165,225,224,125,230,163,71,249,233,233,29,82,47,253,188,233,142,197,173,142,65,15,9,246,113,188,112,160,172,207,58,168,85,89,63,122,\r
+208,45,127,131,186,230,103,161,22,202,61,175,25,19,236,146,10,104,227,224,186,176,116,112,153,63,34,3,186,192,64,21,252,224,52,174,164,244,116,165,163,255,52,133,171,232,52,214,249,198,143,153,237,195,40,132,134,190,74,14,125,23,158,165,164,21,14,214,\r
+2,245,84,48,113,101,7,180,102,108,47,237,42,95,56,120,20,184,220,110,198,26,172,221,113,245,160,131,186,209,29,86,63,70,151,148,58,21,223,249,29,102,247,86,185,189,71,227,201,219,100,81,137,67,89,187,65,222,39,118,116,153,161,88,22,65,210,93,32,88,49,\r
+200,106,255,188,77,52,156,209,205,237,226,220,220,88,215,214,88,34,162,139,74,86,56,150,226,35,36,232,211,182,176,193,97,11,255,204,237,219,241,157,102,100,66,152,24,89,189,215,204,28,198,115,64,214,179,135,22,12,183,88,187,229,93,192,141,45,173,16,31,\r
+175,112,222,154,174,32,74,37,43,211,50,39,215,124,90,217,121,137,51,43,118,177,220,154,189,166,186,244,2,93,28,121,159,166,90,147,130,63,30,73,221,221,75,28,85,31,217,102,197,81,245,12,168,175,219,21,83,200,18,52,243,134,172,112,91,188,93,133,41,12,144,\r
+23,9,55,68,194,73,7,230,43,202,228,54,150,139,126,174,54,169,204,206,118,138,61,167,192,78,3,11,85,210,185,112,158,35,152,218,162,145,174,206,245,65,145,91,152,14,13,242,228,33,113,55,99,232,204,79,68,104,22,178,36,207,74,53,231,133,176,218,80,232,19,\r
+224,7,233,162,99,67,169,135,131,130,140,28,183,31,96,70,102,34,160,109,208,243,172,88,115,52,152,124,237,235,148,39,140,249,14,54,25,166,149,188,219,173,110,101,158,145,3,147,245,166,88,199,35,1,9,191,248,212,107,138,162,241,65,252,58,251,141,197,139,\r
+174,29,62,246,43,201,192,11,65,122,8,12,1,235,233,47,41,19,156,50,123,32,216,60,173,161,174,24,180,26,237,100,77,28,164,195,140,221,196,251,192,130,79,165,107,102,80,59,162,35,92,174,171,234,50,102,135,86,90,241,159,241,119,133,20,174,69,213,237,125,\r
+128,81,29,42,198,70,224,171,21,110,182,50,108,100,47,175,183,23,45,116,224,92,159,228,55,42,141,155,252,205,8,152,210,98,197,130,81,171,37,117,15,19,4,232,194,132,214,140,112,85,183,243,79,72,122,135,191,138,208,89,180,131,154,136,200,75,227,165,120,\r
+70,47,71,110,239,196,244,69,213,191,29,255,113,145,87,253,131,170,45,148,123,62,81,254,56,185,43,226,247,40,208,226,218,142,239,151,240,107,49,185,209,195,104,89,63,121,154,142,146,183,151,180,94,242,61,173,24,220,139,175,142,150,104,41,141,164,115,233,\r
+62,244,12,155,156,238,167,7,136,20,171,7,19,172,54,147,71,209,78,44,235,165,92,176,211,155,122,41,239,24,185,208,53,154,202,221,189,52,226,24,241,0,227,66,72,38,90,134,239,2,176,171,163,9,116,158,18,48,198,102,146,16,32,189,187,232,33,136,216,71,15,211,\r
+151,49,103,107,157,163,168,114,203,202,143,211,200,30,26,245,84,138,173,87,233,183,42,141,85,110,138,85,46,61,66,143,98,254,8,250,178,237,175,224,255,195,244,24,185,132,169,235,32,244,207,3,27,119,63,229,55,245,83,65,83,217,179,228,234,163,66,166,94,\r
+58,163,151,70,215,247,83,81,83,89,128,123,105,76,67,121,31,141,197,213,199,237,119,247,209,56,166,67,124,82,122,126,166,111,208,248,26,79,133,223,211,67,103,30,226,39,252,158,194,9,61,52,241,16,229,247,211,164,38,89,58,185,225,8,223,139,225,226,30,58,\r
+235,16,141,7,165,223,3,226,41,61,52,181,198,235,247,246,208,52,16,236,1,193,116,69,80,233,247,228,47,238,161,179,171,189,54,101,17,40,102,8,173,230,215,252,248,229,190,66,173,45,193,162,11,176,168,84,45,58,75,209,186,61,9,82,176,245,123,188,41,186,201,\r
+71,169,236,48,21,129,186,28,212,135,41,175,159,2,240,84,197,139,88,2,162,26,175,108,219,239,237,163,202,28,68,204,24,225,229,77,72,84,218,209,187,9,222,53,154,162,212,18,148,251,42,250,169,10,140,102,22,206,234,161,217,66,60,187,135,206,145,118,106,141,\r
+207,239,235,161,57,135,168,208,239,75,110,23,170,208,1,25,158,219,224,169,206,45,202,21,147,85,63,68,243,177,43,252,146,125,205,168,209,51,89,234,9,150,122,138,229,220,134,253,185,124,228,212,203,71,104,41,116,201,73,87,55,49,127,132,166,15,165,151,16,\r
+233,202,101,243,26,142,124,60,179,162,135,230,7,36,158,92,42,158,142,82,0,223,141,52,142,54,209,84,196,120,45,93,78,23,209,22,90,75,87,144,137,127,219,105,43,117,83,51,93,77,45,116,19,89,72,177,86,68,89,27,61,75,237,244,18,5,233,187,180,141,126,6,170,\r
+247,40,68,31,82,7,157,162,48,143,160,8,143,165,78,158,72,59,184,152,162,92,74,113,158,71,93,220,72,59,121,35,237,226,109,212,205,157,116,37,239,165,171,248,0,237,225,71,105,47,63,142,223,199,104,31,63,79,215,241,171,180,159,223,166,27,248,3,186,145,127,\r
+79,55,243,31,233,86,254,43,221,198,31,211,237,57,146,254,18,251,61,72,176,110,100,195,87,233,107,248,222,73,147,233,113,122,2,189,71,144,108,50,166,65,51,195,158,133,46,54,157,6,105,83,232,235,244,36,233,28,67,206,63,133,21,185,208,106,171,154,245,65,\r
+110,110,162,87,74,175,211,211,160,211,160,131,189,214,135,157,253,1,214,122,18,191,107,249,57,122,6,61,15,149,243,59,176,196,49,73,245,28,119,50,15,209,123,4,250,225,214,192,191,69,110,29,71,150,78,229,95,81,31,61,7,155,247,39,49,70,81,61,159,145,173,\r
+54,196,189,128,254,9,122,49,129,58,115,49,34,25,175,149,185,33,166,108,0,8,108,224,186,27,74,28,74,3,46,45,5,92,7,157,89,228,12,98,113,47,88,220,231,192,98,31,146,253,37,155,5,187,161,185,134,177,77,130,27,189,180,160,190,188,161,226,68,181,219,85,237,\r
+41,242,20,185,31,66,74,22,121,102,215,120,3,201,220,170,201,193,118,23,230,208,250,253,30,196,239,47,2,125,180,136,169,161,194,6,19,26,91,145,192,146,197,130,48,129,30,90,114,228,212,251,101,3,49,57,5,214,38,32,153,15,182,153,4,187,204,68,91,13,47,172,\r
+129,31,214,195,207,27,224,55,209,119,19,252,53,9,113,96,123,69,71,36,127,19,171,92,192,242,18,250,22,104,220,84,64,211,225,159,39,176,195,53,160,120,153,94,193,216,98,64,174,248,204,165,56,36,177,115,19,189,170,176,211,135,200,127,13,222,207,73,121,202,\r
+30,121,67,25,241,77,250,182,109,17,215,42,240,3,154,242,91,253,180,180,169,188,151,206,5,124,214,2,86,151,53,1,5,235,122,233,188,134,138,20,190,246,209,114,152,162,159,206,135,233,46,168,113,87,40,107,212,0,195,18,246,56,41,189,132,65,188,54,155,11,133,\r
+205,10,176,81,72,136,140,191,40,201,228,98,48,89,137,204,214,108,46,185,254,220,4,151,117,210,75,64,180,46,32,82,237,126,128,166,248,125,78,24,211,71,245,96,118,132,38,15,76,79,24,60,125,234,81,191,175,176,225,56,173,130,20,168,176,90,216,190,74,121,\r
+138,247,97,210,10,215,96,192,237,207,245,235,125,116,137,75,232,103,34,32,228,160,104,148,61,139,118,94,9,6,165,221,36,233,37,180,211,138,60,130,79,213,199,105,109,181,7,225,33,75,46,29,188,164,51,181,100,157,88,161,143,214,171,229,74,248,153,129,194,\r
+203,220,47,80,83,147,2,104,212,186,141,61,180,17,27,90,16,72,238,103,19,182,82,4,208,219,92,120,185,189,41,79,6,121,147,59,193,209,94,120,234,38,132,225,150,167,83,33,120,37,2,75,64,38,23,9,236,71,10,151,66,187,217,72,224,213,8,11,19,105,27,70,154,238,\r
+66,154,74,150,221,15,173,78,32,244,254,5,1,246,115,132,209,251,8,151,223,33,132,62,66,208,124,76,39,89,167,183,0,137,223,225,124,122,155,231,208,119,249,92,250,30,215,209,247,185,141,222,225,93,244,46,223,74,63,228,87,232,199,252,58,253,132,79,130,75,\r
+18,222,14,162,98,56,41,96,69,215,0,152,37,100,115,33,251,49,122,11,188,53,72,191,157,190,67,111,35,60,223,167,105,0,187,39,49,251,59,132,246,247,212,138,213,208,245,40,194,221,75,53,100,67,148,7,178,13,5,126,26,79,82,105,113,12,208,216,6,184,255,62,189,\r
+139,177,53,224,168,198,36,168,147,105,129,222,15,232,135,8,249,92,126,153,126,68,63,70,18,248,249,89,250,9,52,112,209,108,190,7,218,222,70,110,236,236,5,250,169,74,51,73,154,57,104,109,61,127,150,210,243,231,0,85,91,214,47,48,102,243,120,35,197,227,61,\r
+164,165,46,47,203,137,250,231,151,104,161,7,93,212,79,87,192,153,102,189,123,73,249,107,228,45,92,179,178,172,143,182,166,23,38,52,61,81,152,212,120,38,30,166,220,0,206,252,230,245,1,57,236,90,164,231,2,178,252,8,158,181,6,192,165,82,210,86,244,129,38,\r
+34,115,36,164,22,208,175,1,30,255,14,160,121,31,64,243,159,40,5,255,11,149,219,111,104,57,125,160,188,177,4,218,4,80,110,253,43,253,27,246,230,71,63,1,250,56,42,127,141,117,164,122,239,195,182,2,23,203,232,63,192,35,7,220,133,207,157,233,160,175,232,\r
+127,131,214,134,250,15,0,178,71,233,183,9,144,109,135,101,100,215,39,202,235,3,39,150,184,170,221,69,238,137,15,209,174,64,145,123,118,141,71,33,171,39,81,139,248,251,169,181,169,176,45,145,0,158,198,227,212,222,75,65,84,56,146,228,219,146,243,219,179,\r
+231,143,82,72,44,211,209,67,225,195,9,154,72,54,205,126,55,0,251,198,126,90,220,36,165,103,47,117,214,7,20,248,164,227,247,164,138,84,42,187,149,94,238,64,18,1,222,11,12,28,47,213,52,2,223,63,209,104,250,51,32,253,67,154,79,127,129,109,62,162,203,232,\r
+111,40,34,254,78,123,48,119,45,140,114,11,51,61,206,56,49,216,69,207,227,168,73,66,251,104,148,24,71,213,49,155,131,12,16,104,207,65,127,175,130,118,23,236,124,165,130,118,55,14,132,17,42,174,221,56,13,167,165,160,253,68,10,218,79,36,160,253,22,248,87,\r
+114,34,39,223,135,76,249,239,196,233,88,133,86,60,35,22,118,63,158,85,103,87,167,157,139,30,250,31,97,136,197,255,75,191,119,88,236,202,46,210,157,23,255,193,81,114,206,240,36,255,31,253,209,97,49,15,67,50,236,245,167,212,173,168,90,205,16,141,63,131,\r
+118,244,80,20,88,238,62,66,110,215,51,84,86,24,59,78,241,103,40,244,180,170,33,6,138,132,106,228,200,60,244,254,172,36,125,136,172,22,140,28,69,93,184,175,137,98,23,162,221,141,59,91,55,218,43,209,46,67,123,21,218,61,104,247,130,199,103,208,94,173,252,\r
+184,131,246,185,117,186,22,237,117,24,159,132,118,63,218,207,162,189,30,243,69,104,63,135,246,6,180,55,186,115,232,0,218,207,131,254,38,180,55,131,110,29,208,244,29,111,238,63,0,80,75,3,4,10,0,0,8,8,0,10,178,149,71,95,15,62,210,163,2,0,0,41,7,0,0,51,\r
+0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,65,102,116,101,114,79,112,116,105,111,110,115,46,99,108,97,115,115,173,149,109,79,211,80,20,199,255,183,27,235,232,6,27,40,\r
+136,207,11,130,64,11,148,161,162,136,49,81,124,8,201,68,19,116,137,188,49,119,107,29,213,174,53,119,69,241,35,248,93,124,33,137,74,162,137,31,192,15,101,60,183,171,163,178,145,130,49,77,122,207,57,247,220,223,57,231,222,115,219,159,191,190,253,0,80,198,\r
+138,6,21,211,26,178,152,233,39,73,87,49,171,33,141,121,13,38,22,84,148,85,44,50,228,234,126,179,201,61,171,226,120,54,195,120,197,23,13,179,33,184,229,218,102,221,117,204,39,92,180,108,107,117,223,103,133,33,115,203,241,156,224,54,195,228,116,178,251,\r
+76,149,33,189,234,91,4,47,72,195,250,118,179,102,139,167,188,230,146,101,184,226,215,185,91,229,194,145,122,100,76,7,91,78,139,33,127,231,101,96,139,199,111,2,199,247,164,186,230,121,182,88,117,121,171,101,147,106,30,140,28,139,25,38,33,38,226,235,41,\r
+235,98,147,191,175,217,27,1,23,65,219,200,48,50,93,121,197,223,114,211,229,94,195,220,8,132,227,53,86,102,54,25,82,92,52,100,114,93,147,12,3,190,23,67,168,184,194,48,212,150,219,81,105,50,160,26,54,123,144,123,196,74,46,162,139,45,247,223,143,242,207,\r
+249,222,186,239,253,169,38,247,87,6,119,123,213,150,28,47,30,73,197,85,6,48,172,29,225,152,147,201,229,176,21,148,157,5,249,42,51,76,28,101,9,131,182,225,111,139,186,253,192,145,173,49,218,229,51,47,139,204,35,135,188,124,93,203,163,31,154,138,37,134,\r
+229,68,250,51,239,181,231,191,243,122,156,222,216,97,83,50,198,117,21,55,242,88,198,77,134,185,99,245,32,195,236,113,182,159,97,241,248,221,65,55,56,121,87,25,166,186,78,244,176,243,42,37,249,49,124,232,213,235,255,161,97,226,173,248,175,233,118,197,\r
+165,27,204,45,235,254,78,32,120,149,187,219,246,33,31,129,42,74,244,197,204,66,182,255,176,236,41,146,250,160,200,62,35,203,0,105,15,73,83,104,204,233,108,15,138,110,124,65,106,151,84,5,131,244,30,68,138,86,214,208,199,234,208,152,133,2,217,70,219,238,\r
+40,226,4,16,74,18,203,232,57,137,145,8,186,68,163,244,82,82,31,59,172,12,228,37,220,138,49,148,14,67,33,203,169,144,49,134,179,17,227,17,173,160,232,40,124,71,250,185,161,127,70,74,102,216,247,233,0,176,25,2,75,109,215,14,176,16,1,165,116,142,36,133,\r
+228,243,184,24,161,239,70,53,107,146,106,124,69,70,223,167,106,114,134,9,100,89,43,150,170,214,33,107,109,114,81,22,62,30,241,238,145,143,140,159,209,141,61,176,221,3,25,190,136,101,152,233,112,50,184,20,110,155,148,38,48,25,102,116,57,92,57,69,39,5,\r
+232,116,78,42,12,12,145,215,105,26,207,164,229,15,208,192,5,26,75,52,162,152,165,127,160,129,57,104,191,1,80,75,3,4,10,0,0,8,8,0,10,178,149,71,71,209,102,236,146,2,0,0,156,5,0,0,51,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,\r
+109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,105,111,110,83,116,114,105,110,103,46,99,108,97,115,115,149,83,237,78,19,65,20,61,211,15,182,148,181,93,202,151,40,154,130,85,218,45,101,41,226,39,136,198,26,19,35,1,19,12,6,255,13,237,\r
+88,150,108,119,155,221,197,232,163,248,4,254,149,68,32,209,196,7,240,161,140,119,166,43,66,219,4,248,115,231,222,59,115,238,61,231,206,204,239,63,63,126,1,168,226,217,32,174,160,148,38,99,166,145,65,89,134,115,41,84,210,152,135,165,97,33,13,13,101,105,\r
+170,210,44,166,112,87,158,93,210,112,95,195,3,134,56,247,155,12,185,181,61,254,145,91,14,119,155,214,102,232,219,110,115,153,97,192,107,135,182,231,146,179,98,187,118,184,202,48,91,236,61,215,155,41,109,49,36,106,94,67,48,100,215,108,87,172,239,183,118,\r
+132,255,150,239,56,66,118,242,234,220,217,226,190,45,227,40,153,8,119,237,128,65,223,80,13,59,101,40,124,229,186,194,175,57,60,8,4,237,90,107,158,223,180,154,62,111,56,194,170,59,182,85,243,90,45,238,54,100,139,55,220,15,132,95,56,141,39,1,153,166,8,\r
+95,216,65,219,225,159,215,121,139,250,140,22,75,253,132,166,66,175,227,107,120,200,0,134,215,23,210,121,62,159,170,154,69,236,211,130,52,85,105,22,25,10,23,193,49,12,241,122,93,4,65,161,186,180,64,240,90,241,146,234,251,10,77,111,122,251,126,93,188,180,\r
+229,208,199,123,42,204,75,136,142,97,24,58,114,24,145,230,145,142,44,12,98,94,169,104,120,172,99,25,43,12,19,221,165,159,239,219,78,67,248,58,158,96,85,199,13,76,49,176,138,142,235,152,210,240,148,161,114,41,234,12,198,255,250,27,59,123,162,30,50,204,\r
+156,63,51,122,203,69,57,110,163,155,29,233,14,66,238,135,193,59,59,220,101,24,235,115,185,165,247,244,202,121,187,45,220,6,209,237,119,160,39,21,105,166,169,230,207,227,134,60,253,184,12,253,214,24,77,148,198,73,94,78,78,153,214,164,202,141,208,155,27,\r
+165,104,155,162,56,173,89,243,24,113,179,124,136,132,57,119,8,118,160,160,99,10,150,160,247,57,132,4,211,49,200,168,40,203,96,156,242,249,14,12,19,184,6,40,79,182,97,202,147,141,98,228,211,109,68,109,62,168,24,88,49,191,35,145,75,30,97,224,11,166,126,\r
+66,219,62,70,74,134,131,148,103,180,28,33,253,21,147,255,54,134,206,108,124,59,225,52,32,107,177,97,197,67,239,212,141,120,48,249,20,162,158,22,173,114,47,105,30,65,239,6,143,159,2,39,59,96,67,138,205,71,224,13,146,71,194,161,153,229,185,99,196,14,186,\r
+224,154,130,155,157,35,39,51,208,48,29,205,64,195,140,154,129,244,110,161,128,184,145,194,109,220,233,97,70,226,186,153,105,103,152,77,171,210,49,204,42,91,196,164,186,146,24,221,238,61,92,69,26,55,105,133,145,250,11,80,75,3,4,10,0,0,8,8,0,10,178,149,\r
+71,120,38,226,84,96,4,0,0,26,11,0,0,59,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,65,98,115,116,114,97,99,116,80,114,111,112,101,114,116,105,101,115,67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,\r
+97,115,115,173,86,91,119,26,85,20,254,14,12,76,50,153,230,130,161,53,38,173,73,12,21,2,13,173,182,105,45,52,74,211,212,96,201,69,169,137,105,43,118,128,9,153,20,102,112,102,136,68,255,131,239,174,229,123,95,235,11,109,92,75,87,159,253,29,254,14,117,159,\r
+129,32,100,176,165,89,194,226,92,246,217,103,239,111,127,251,156,125,248,227,175,95,127,7,112,5,63,72,56,135,219,34,150,37,156,197,29,222,172,72,184,139,79,37,172,34,205,167,159,241,209,61,9,25,172,73,88,199,198,16,54,241,249,16,190,64,150,55,247,7,240,\r
+165,4,15,182,6,176,61,132,113,124,197,39,59,188,121,32,226,33,223,255,72,196,215,34,114,12,254,164,166,107,246,18,131,55,28,217,98,16,150,141,162,202,48,146,209,116,117,189,86,201,171,230,125,37,95,38,73,32,99,20,148,242,150,98,106,124,222,18,10,246,\r
+158,102,49,92,207,24,102,41,94,50,149,98,89,141,23,202,90,60,149,183,108,83,41,216,155,166,81,85,77,91,83,173,101,163,82,81,244,34,55,187,108,232,7,36,84,205,4,195,88,73,61,86,58,220,168,218,154,161,51,140,135,35,153,125,229,64,137,151,21,189,20,207,\r
+218,166,166,151,72,117,194,165,122,71,181,21,173,172,22,25,166,122,172,89,5,83,107,89,28,44,24,250,174,86,170,153,4,57,20,62,9,182,3,218,166,98,90,132,139,19,225,175,58,99,134,217,215,235,147,182,209,114,245,42,237,38,50,210,22,11,77,10,24,110,187,208,\r
+56,38,139,29,187,18,77,50,106,182,86,142,175,41,213,68,228,196,156,50,87,53,40,9,44,77,73,122,162,30,110,41,229,154,186,82,175,154,170,101,57,144,2,189,216,244,104,115,196,116,135,169,52,37,68,177,13,30,140,216,12,198,234,17,141,27,29,131,84,109,103,\r
+153,31,156,147,232,206,118,31,156,195,234,241,225,185,214,173,154,116,195,116,75,150,184,191,149,122,65,109,34,20,241,13,101,55,171,149,116,197,118,178,251,227,27,243,217,167,219,200,41,193,174,246,13,200,217,185,145,223,87,11,118,34,226,22,81,202,234,\r
+151,121,115,165,59,163,237,229,226,127,93,194,94,87,47,121,170,112,28,246,179,70,205,44,168,119,53,158,194,104,127,23,125,129,219,146,241,54,38,24,70,79,218,149,241,46,166,101,204,96,90,196,99,25,239,67,17,145,151,81,64,81,198,44,95,81,177,43,162,196,\r
+87,246,68,104,50,246,241,68,68,89,70,5,186,8,67,70,21,223,202,48,193,175,192,45,25,54,106,12,144,113,128,239,100,212,113,200,155,239,25,206,116,197,43,35,130,121,58,129,167,42,91,20,246,27,48,237,214,238,208,74,153,165,90,69,213,237,246,137,102,152,126,\r
+93,181,161,114,27,126,232,206,78,164,159,194,243,10,227,199,213,87,222,83,172,99,88,68,233,92,184,47,195,195,180,171,171,228,46,134,255,39,136,174,235,194,144,236,199,182,107,95,219,195,197,254,52,169,176,208,171,226,84,83,226,33,16,238,172,0,25,205,\r
+226,87,110,184,91,194,48,160,181,170,40,149,189,174,13,29,213,53,224,150,82,201,37,254,214,213,186,237,60,195,15,232,97,213,157,73,247,83,216,190,234,162,166,23,213,250,198,46,67,176,23,21,105,254,36,212,104,251,141,176,123,119,159,197,102,208,170,241,\r
+67,77,246,120,40,233,116,207,39,57,24,238,37,23,102,232,255,197,57,240,143,8,198,111,61,181,239,208,44,78,61,221,77,248,230,159,131,253,66,3,15,38,169,245,59,194,32,166,192,239,173,163,128,243,184,0,8,2,47,13,78,63,211,234,103,121,79,58,239,97,174,101,\r
+180,74,218,94,234,47,70,125,191,193,179,227,157,111,192,155,221,17,168,19,178,13,248,214,98,13,248,215,98,52,21,27,24,216,254,215,107,0,2,181,147,4,116,138,190,231,17,34,143,28,193,116,211,90,19,129,51,10,209,143,145,222,8,85,160,48,237,102,188,120,144,\r
+22,247,254,39,121,247,83,159,139,114,191,13,12,54,32,29,97,136,97,253,210,17,100,134,159,176,66,131,51,12,47,225,185,41,76,8,129,225,6,70,22,125,65,223,207,24,139,209,116,244,8,99,94,108,63,197,36,205,188,65,95,3,129,9,33,232,19,30,55,240,86,107,233,\r
+239,23,177,103,228,193,235,160,190,64,148,130,216,8,17,19,11,196,194,135,196,67,138,240,237,16,178,71,132,139,71,176,68,136,22,16,165,111,140,208,133,112,21,151,104,46,96,12,247,40,5,151,157,248,114,237,248,114,244,111,243,3,135,245,28,89,187,74,241,\r
+93,107,231,129,75,22,73,114,157,198,2,73,110,224,35,135,191,155,163,41,242,149,160,17,231,96,149,44,114,155,210,124,52,246,18,227,13,4,159,245,204,109,147,89,169,237,89,66,178,229,89,194,45,66,221,233,199,211,242,244,49,62,113,250,212,63,80,75,3,4,10,\r
+0,0,8,8,0,10,178,149,71,147,157,188,21,188,2,0,0,32,5,0,0,44,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,80,97,114,115,101,100,67,111,109,109,97,110,100,76,105,110,101,79,112,116,105,111,110,46,99,108,97,115,115,141,83,91,79,19,65,20,\r
+254,182,183,45,237,34,165,92,20,65,40,23,161,45,202,138,23,188,80,171,4,49,33,105,196,164,6,131,111,67,59,89,134,108,119,155,221,45,17,127,10,207,38,190,248,160,137,74,144,68,125,246,71,25,207,236,46,165,20,73,124,153,157,57,251,157,239,124,223,57,51,\r
+191,255,124,255,1,96,17,43,41,100,80,80,81,76,33,130,66,15,250,48,159,162,229,134,138,155,73,44,164,144,128,158,198,45,44,38,113,91,126,239,168,184,43,191,247,228,178,164,226,190,138,7,10,18,123,204,108,113,87,65,166,178,203,246,152,222,242,132,169,87,\r
+132,235,45,43,232,169,10,195,98,94,203,225,10,102,186,126,151,130,179,201,44,67,175,122,142,176,140,229,50,165,36,74,194,18,94,89,65,52,95,216,84,16,91,181,235,148,220,87,17,22,127,209,106,108,115,231,21,219,54,41,146,173,216,53,102,110,50,71,200,115,\r
+24,140,121,59,130,148,228,43,182,99,232,134,195,234,38,215,107,166,208,95,50,199,229,245,85,187,209,96,86,93,82,109,52,61,97,91,84,46,105,112,111,83,26,80,48,152,47,156,151,68,30,78,16,68,156,61,129,116,154,156,61,23,188,192,90,154,213,235,43,142,209,\r
+106,112,203,83,48,148,63,143,146,142,147,172,13,201,254,75,79,114,135,185,161,98,106,209,27,5,169,170,221,114,106,252,185,144,29,24,187,192,234,130,100,210,48,132,97,5,3,167,106,87,28,135,237,75,201,26,250,145,213,112,29,179,10,38,78,171,174,155,38,55,\r
+152,89,245,152,199,215,222,214,184,207,69,136,128,52,87,183,185,155,179,108,47,183,195,246,120,142,89,251,57,255,50,44,200,66,83,42,30,106,120,4,146,60,26,194,73,121,174,209,50,61,209,52,121,128,116,9,90,194,99,186,60,221,78,53,148,241,68,195,83,41,104,\r
+246,255,198,121,134,101,99,123,151,215,168,135,151,206,142,134,238,136,43,222,5,189,91,167,149,134,43,71,177,222,57,250,32,149,116,71,105,96,93,131,10,255,201,190,171,194,93,107,52,189,125,76,210,155,201,208,131,162,129,201,46,210,119,128,78,17,12,34,\r
+78,123,106,57,173,151,41,82,70,148,118,64,166,120,8,165,120,140,200,214,33,162,95,17,251,236,163,175,208,42,223,33,40,35,70,57,35,180,211,2,60,174,98,212,231,31,195,181,144,171,25,114,45,21,191,33,126,128,222,99,36,182,178,234,33,146,63,139,95,16,59,\r
+66,15,25,125,31,134,83,39,225,232,17,210,17,252,130,246,169,93,113,152,52,130,106,169,84,163,159,248,199,169,66,30,19,29,213,151,218,213,199,41,30,241,171,235,116,146,255,226,146,245,148,44,225,7,167,59,146,227,97,114,208,144,28,197,38,49,21,90,120,70,\r
+17,105,87,147,36,243,71,232,141,224,117,119,43,230,144,38,57,35,190,80,31,27,242,201,221,52,102,124,25,116,103,67,198,82,40,43,27,244,224,146,130,3,168,177,15,100,252,99,151,198,249,14,141,217,182,193,57,31,149,255,11,80,75,3,4,10,0,0,8,8,0,10,178,149,\r
+71,182,192,176,115,152,2,0,0,170,6,0,0,61,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,105,111,110,65,119,97,114,101,80,97,114,115,101,114,83,116,97,116,101,\r
+46,99,108,97,115,115,173,85,237,78,19,81,16,61,183,93,186,237,118,177,21,161,126,224,7,98,17,186,20,10,53,200,167,10,18,49,36,13,154,212,52,193,127,183,237,90,23,183,187,230,238,214,143,71,241,9,252,227,15,77,68,141,36,62,128,15,101,156,91,150,90,210,\r
+154,69,226,159,206,206,204,153,115,166,119,230,238,254,252,245,253,7,128,121,172,39,144,196,13,13,58,178,242,105,66,163,159,155,26,38,49,165,33,7,67,197,180,6,21,51,42,102,53,36,48,167,98,94,69,145,33,89,115,155,77,238,212,75,150,99,50,140,151,92,209,\r
+40,52,4,175,219,102,161,102,91,133,199,92,120,102,125,243,15,102,149,33,230,63,183,188,236,92,31,116,23,174,93,40,36,122,205,114,44,255,46,195,195,169,112,120,184,124,174,194,160,108,186,117,106,54,37,3,59,173,102,213,20,79,120,213,166,200,80,201,173,\r
+113,187,194,133,37,253,32,168,200,118,25,50,143,94,250,150,235,108,188,230,34,80,43,251,220,167,188,190,237,56,166,216,180,185,231,153,132,91,14,237,50,219,159,137,254,107,186,201,223,86,77,242,132,127,136,97,24,153,42,237,241,87,188,96,115,167,81,40,\r
+251,194,114,26,171,185,167,12,81,46,26,178,225,158,36,141,196,117,118,92,231,136,32,121,172,217,251,253,232,194,59,62,222,166,86,118,91,162,102,110,89,242,120,50,61,232,89,169,160,35,133,180,142,179,88,208,49,136,51,58,110,99,84,197,162,142,37,44,171,\r
+88,209,177,138,53,134,133,80,229,141,103,190,41,182,44,225,249,229,86,53,72,51,12,247,11,75,181,59,12,51,39,227,60,60,31,26,152,222,237,74,14,218,181,197,83,206,144,33,255,47,103,169,226,30,3,24,38,195,87,59,59,223,94,221,184,229,29,13,118,44,108,215,\r
+25,6,121,189,254,224,141,47,120,133,219,45,243,47,203,84,233,165,234,81,167,153,243,90,205,244,188,236,194,28,93,220,137,19,92,69,185,164,47,254,203,149,61,233,217,108,247,168,157,158,107,60,28,167,140,209,27,82,167,119,103,4,195,114,197,129,116,90,46,\r
+61,69,162,80,104,143,134,104,178,231,200,43,17,34,74,54,109,76,239,131,25,236,43,34,70,126,31,209,79,65,45,168,150,242,44,15,141,205,32,197,102,49,66,177,12,229,168,134,236,69,160,253,36,53,34,196,121,9,163,1,243,10,249,18,21,51,166,191,64,249,208,225,\r
+139,65,174,85,177,139,39,214,225,137,225,50,174,80,158,225,42,198,2,158,61,12,180,81,69,227,51,162,68,53,64,150,125,67,236,29,50,7,80,119,165,39,51,212,121,252,61,82,7,72,236,6,174,246,177,163,169,73,6,182,136,56,91,234,210,45,118,116,139,129,110,4,215,\r
+219,53,227,184,64,214,32,229,36,125,95,206,43,17,58,203,28,174,41,242,43,147,67,158,16,9,178,5,226,189,69,22,233,248,111,80,75,3,4,10,0,0,8,8,0,10,178,149,71,39,4,72,12,25,1,0,0,103,2,0,0,41,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,\r
+67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,141,81,77,75,195,64,16,125,211,214,198,212,175,170,39,207,34,52,10,70,175,77,41,72,81,20,2,10,9,222,183,233,186,108,73,55,178,221,148,254,54,15,254,0,127,\r
+148,184,77,161,4,147,66,23,150,157,121,179,239,189,97,230,231,247,235,27,192,61,206,29,116,29,156,18,156,36,83,11,174,13,161,223,11,167,108,193,252,148,41,225,191,24,174,217,56,229,65,9,123,29,79,121,98,2,175,10,17,58,143,203,132,127,26,153,169,185,131,\r
+51,130,27,73,161,152,201,53,39,220,213,9,15,74,88,100,180,84,34,24,6,113,28,120,246,18,158,123,97,166,133,47,52,155,164,220,79,82,233,191,49,61,231,147,81,54,155,49,53,9,165,218,185,179,235,29,164,54,190,174,157,198,135,20,69,219,87,21,98,137,82,104,\r
+232,192,123,39,244,6,113,191,106,60,172,157,82,148,229,58,225,79,50,181,250,23,37,185,209,122,9,92,223,174,88,132,203,237,206,155,175,132,238,127,11,194,205,118,226,131,22,249,140,43,179,217,84,155,64,104,96,117,154,45,66,19,45,155,237,217,172,101,241,\r
+54,28,27,53,176,95,84,220,154,74,199,86,14,112,88,196,107,228,8,199,197,123,242,7,80,75,3,4,10,0,0,8,8,0,10,178,149,71,67,209,22,230,234,3,0,0,124,11,0,0,60,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,\r
+110,101,80,97,114,115,101,114,36,66,101,102,111,114,101,70,105,114,115,116,83,117,98,67,111,109,109,97,110,100,46,99,108,97,115,115,197,86,109,83,19,87,20,126,110,178,112,113,179,104,72,13,149,182,216,72,131,64,94,8,65,171,64,16,11,17,144,18,137,109,\r
+148,54,216,183,77,88,211,213,100,215,217,108,170,127,161,63,161,255,194,206,180,131,150,169,246,91,103,250,165,255,163,63,162,211,115,119,99,8,38,176,193,113,166,95,238,203,185,207,61,231,185,207,158,123,246,254,245,239,111,47,0,164,113,95,198,89,204,\r
+157,162,102,94,70,24,115,28,25,25,18,22,101,44,224,90,0,75,184,206,241,137,152,44,115,172,8,216,13,25,50,86,57,214,6,176,206,113,83,198,6,62,149,49,136,77,142,156,140,16,182,56,242,28,183,25,250,237,239,245,122,116,134,97,44,103,90,149,84,197,82,119,\r
+171,90,170,92,213,83,89,179,86,83,141,221,156,110,104,183,85,171,174,89,25,66,47,234,134,110,47,49,172,79,122,195,95,71,56,230,221,54,92,102,106,155,65,202,154,187,26,195,25,97,216,106,212,74,154,117,71,45,85,201,18,202,153,101,181,186,173,90,186,152,\r
+55,141,146,160,203,16,94,209,238,155,150,182,166,91,117,187,208,40,53,125,50,40,27,134,161,89,217,170,90,175,107,4,155,243,36,25,237,234,136,78,26,40,31,64,187,136,211,121,22,134,65,211,40,216,170,101,231,31,217,186,105,112,124,206,48,228,142,221,88,\r
+180,104,147,175,157,201,220,3,245,7,53,85,85,141,74,170,96,91,186,81,201,116,90,166,188,169,119,248,38,14,126,213,170,8,233,58,252,209,183,51,29,60,137,228,14,220,5,154,230,15,77,83,189,6,110,57,30,106,147,42,223,140,113,92,54,185,152,12,71,129,1,12,\r
+15,223,74,42,121,179,78,59,233,230,123,50,35,154,180,104,102,25,162,189,236,99,144,11,102,195,42,83,154,136,28,28,238,192,76,11,185,21,156,195,136,130,97,188,203,113,135,33,121,34,25,197,230,187,10,182,241,5,199,151,10,138,216,97,136,120,73,168,224,30,\r
+190,98,152,247,140,116,215,120,104,152,143,141,46,201,120,238,168,37,5,23,48,38,88,125,203,16,63,58,192,178,85,105,212,52,195,94,125,82,214,154,159,254,66,211,101,164,153,22,201,42,225,34,110,206,69,38,198,235,19,211,12,193,131,252,204,151,30,104,101,\r
+155,227,59,5,42,74,34,98,153,225,170,231,145,54,143,56,208,112,247,5,225,151,234,195,149,55,171,7,189,16,114,67,46,63,86,45,237,48,161,163,22,102,79,126,193,233,94,121,167,235,177,137,227,130,24,54,123,42,66,189,94,42,89,45,151,181,122,61,58,55,67,151,\r
+235,82,15,247,121,202,141,213,176,245,106,234,150,250,72,20,207,67,6,42,100,21,205,102,184,216,78,211,205,148,87,123,219,77,7,12,230,5,131,241,94,24,236,112,144,158,129,67,234,254,216,77,149,183,80,122,218,107,116,175,154,6,95,103,66,21,156,82,179,166,\r
+146,44,243,93,120,222,59,94,169,86,181,14,119,217,43,226,253,243,6,101,216,227,215,224,253,15,248,191,196,77,156,196,43,34,244,160,10,211,59,140,5,131,162,188,211,200,15,159,168,246,244,247,122,143,102,55,105,238,167,94,137,197,127,133,47,22,79,236,193,\r
+255,51,205,125,120,159,218,211,98,141,93,67,31,91,66,128,93,199,7,100,27,166,53,194,99,148,124,195,25,81,181,37,27,195,71,184,216,244,250,55,6,208,71,189,182,15,169,24,79,176,61,244,109,197,126,129,239,25,250,19,207,193,125,248,3,3,11,210,136,244,39,\r
+210,174,249,212,79,8,237,67,46,198,105,26,136,17,94,121,186,143,193,98,232,180,244,59,206,20,253,201,194,51,4,247,48,244,114,31,161,162,216,145,28,145,94,33,223,121,218,162,123,30,156,232,102,137,234,13,140,178,85,140,177,53,36,216,58,50,108,131,222,\r
+139,57,135,254,101,151,88,139,190,134,9,76,18,109,49,154,162,145,15,1,236,32,134,4,29,125,148,228,73,98,26,82,16,36,89,186,121,184,60,173,72,212,115,71,45,118,160,86,191,112,195,22,157,48,49,23,210,10,195,49,75,234,51,103,116,201,209,75,140,46,227,99,\r
+231,123,92,113,124,92,197,135,212,175,144,118,103,233,57,124,158,44,81,234,199,37,241,92,94,64,156,94,197,41,234,17,28,128,120,46,103,33,30,195,11,184,69,184,48,245,159,73,62,124,77,253,55,146,252,31,80,75,3,4,10,0,0,8,8,0,10,178,149,71,147,0,59,153,\r
+124,1,0,0,252,2,0,0,57,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,83,121,115,116,101,109,80,114,111,112,101,114,116,105,101,115,67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,157,146,\r
+203,74,195,64,20,134,207,216,171,109,181,182,214,106,213,69,220,53,66,19,68,196,133,23,144,22,23,82,47,80,233,126,154,30,211,145,36,19,38,211,66,222,74,87,130,11,31,192,135,18,39,105,16,169,65,196,89,156,51,243,207,255,205,156,185,188,127,188,190,1,192,\r
+1,108,151,32,15,141,34,108,20,161,89,132,205,2,108,21,160,69,32,127,202,60,38,207,9,100,218,250,144,64,182,203,199,72,160,218,103,30,222,76,221,17,138,123,58,114,148,82,239,115,139,58,67,42,88,52,78,196,172,156,176,128,192,81,159,11,219,180,5,29,59,104,\r
+90,14,51,7,97,32,209,189,19,220,71,33,25,6,93,238,186,212,27,71,139,118,185,55,83,34,138,19,2,53,27,101,98,10,111,125,201,184,71,160,209,214,251,143,116,70,77,135,122,182,57,144,130,121,182,178,182,126,88,123,40,41,115,112,76,96,55,101,46,176,4,75,86,\r
+44,13,248,84,88,120,201,162,138,245,191,148,102,68,5,84,160,0,69,2,164,71,160,28,196,80,199,87,20,129,227,1,74,109,174,104,126,178,173,198,31,52,57,65,237,106,120,173,181,209,176,13,173,211,115,195,104,246,204,13,103,212,153,162,110,16,56,252,199,53,\r
+169,219,93,160,46,70,129,20,212,146,191,115,176,7,57,245,224,81,203,2,137,206,162,226,178,26,153,42,19,149,115,251,47,64,158,85,103,9,74,42,230,99,177,14,101,21,43,115,131,202,43,49,190,10,213,4,238,36,112,166,190,244,180,128,54,191,161,153,47,116,45,\r
+5,205,44,162,59,169,104,45,5,205,46,162,90,10,170,62,107,236,90,255,4,80,75,3,4,10,0,0,8,8,0,10,178,149,71,45,21,104,130,7,2,0,0,187,4,0,0,50,0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,\r
+114,115,101,114,36,80,97,114,115,101,114,83,116,97,116,101,46,99,108,97,115,115,149,83,223,111,210,80,20,254,78,41,20,11,115,192,220,84,52,19,55,28,48,54,234,124,51,24,77,36,154,152,144,109,9,102,15,123,187,64,195,186,148,91,115,219,45,250,63,249,226,\r
+139,38,62,248,7,248,71,25,207,109,217,100,131,4,105,210,158,31,247,156,239,124,231,156,219,223,127,126,254,2,112,0,199,70,26,219,54,50,216,206,162,106,227,25,118,44,212,45,52,8,153,87,158,244,162,215,132,84,189,113,66,48,59,193,208,37,172,118,61,233,\r
+30,94,140,251,174,250,40,250,62,123,74,221,96,32,252,19,161,60,109,79,156,102,116,230,133,132,220,177,80,161,171,122,145,136,216,153,255,32,165,171,58,190,8,67,151,15,91,221,64,141,156,145,18,67,223,117,6,190,231,116,130,241,88,200,161,174,144,228,85,\r
+167,210,219,132,194,88,124,233,187,108,169,232,232,83,228,5,146,176,94,239,158,139,75,225,248,66,142,156,94,164,60,57,106,55,78,9,89,47,188,10,73,9,53,210,44,103,226,8,43,129,156,66,179,176,75,40,38,250,13,222,167,115,138,204,41,187,184,157,25,108,230,\r
+144,11,228,97,32,175,200,190,157,215,207,210,115,10,228,84,200,59,57,180,208,36,128,80,171,47,134,58,104,235,109,27,159,159,19,170,255,19,77,176,123,193,133,26,184,239,61,189,248,141,153,152,150,110,40,15,11,89,130,85,127,19,54,246,91,77,11,123,121,236,\r
+163,104,161,69,216,91,166,61,238,238,223,128,142,250,231,238,32,34,188,88,126,242,132,173,197,205,221,40,150,108,131,123,24,139,104,112,166,47,112,101,17,130,89,225,191,43,3,253,88,48,244,8,120,9,119,216,114,88,242,70,144,222,253,1,227,27,43,6,108,254,\r
+102,180,147,202,200,177,158,79,2,88,174,2,38,51,65,49,6,42,177,76,64,218,156,101,104,232,102,41,245,29,230,215,91,48,155,49,204,70,18,146,192,196,218,26,238,129,24,112,29,15,98,224,135,40,67,95,142,71,215,236,154,177,205,239,109,102,59,83,204,40,129,\r
+44,104,200,205,73,226,75,150,198,164,173,153,228,242,20,159,244,53,159,52,158,160,18,167,61,141,227,183,112,151,101,25,41,62,169,97,197,180,57,163,134,251,44,31,179,68,33,251,23,80,75,3,4,10,0,0,8,8,0,10,178,149,71,70,182,8,247,61,3,0,0,202,9,0,0,59,\r
+0,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,65,102,116,101,114,70,105,114,115,116,83,117,98,67,111,109,109,97,110,100,46,99,108,97,115,115,197,86,235,82,211,80,16,254,\r
+78,91,8,164,1,74,5,196,59,98,101,160,45,180,5,17,176,120,41,85,46,82,40,88,69,209,95,161,196,26,40,9,147,6,241,21,124,0,223,3,103,116,80,153,113,252,231,140,143,226,67,56,238,73,10,20,75,155,194,48,227,159,179,123,118,247,124,103,119,179,187,57,191,254,\r
+124,251,14,32,134,69,17,205,136,52,210,18,21,209,130,136,72,178,65,47,134,112,75,192,176,128,219,92,51,42,66,192,152,128,59,2,198,69,120,113,79,132,136,251,2,30,8,72,48,212,155,111,212,66,32,202,208,157,210,141,92,36,103,200,171,121,37,146,205,171,145,\r
+164,190,177,33,107,171,41,85,83,22,100,163,160,24,113,178,30,87,53,213,188,199,48,213,235,108,254,175,133,37,94,45,177,139,247,45,49,120,146,250,170,194,208,194,5,243,91,27,43,138,241,84,94,201,147,196,159,210,179,114,126,73,54,84,190,47,10,61,220,93,\r
+134,182,196,107,83,49,38,85,163,96,102,182,86,138,144,12,210,140,166,41,70,50,47,23,10,10,89,141,56,250,24,56,14,135,226,244,102,15,45,143,73,77,121,36,12,77,186,150,49,101,195,76,111,154,170,174,9,72,50,180,218,188,125,21,41,77,194,122,217,155,90,147,\r
+223,202,145,188,172,229,34,25,211,80,181,92,188,92,210,231,236,121,25,54,249,224,150,141,28,79,92,25,30,125,57,221,178,39,167,74,66,75,23,101,213,190,189,109,19,23,240,144,1,12,235,103,242,225,157,195,139,89,197,225,122,23,229,75,140,47,131,12,129,90,\r
+206,49,136,25,125,203,200,42,147,42,175,152,142,50,155,1,158,30,9,126,156,147,224,67,171,128,71,18,38,49,37,96,90,194,12,30,51,116,57,101,131,97,204,209,145,103,218,186,166,111,107,199,148,64,103,37,149,132,75,184,204,29,155,163,218,117,188,96,182,2,\r
+124,71,37,69,127,141,53,101,215,12,117,83,233,150,187,53,207,151,52,195,240,169,218,170,150,152,236,27,19,219,178,161,28,141,169,146,98,240,228,125,66,229,238,92,69,85,139,192,54,162,58,147,179,89,165,80,8,140,70,169,74,135,106,104,140,62,187,51,183,\r
+76,53,31,153,147,55,249,212,56,34,160,14,206,41,38,67,79,233,144,72,175,172,41,89,115,255,108,169,72,192,2,141,170,35,161,189,63,110,188,156,65,59,150,206,153,90,155,119,182,166,81,87,43,218,239,83,12,158,234,21,94,205,188,56,245,254,87,234,194,39,65,\r
+69,23,253,229,91,232,61,192,124,62,62,208,136,115,195,197,231,27,205,235,54,218,77,211,222,77,84,10,134,62,195,21,12,133,119,225,254,72,123,23,218,105,109,230,58,182,136,58,246,4,94,150,65,7,201,58,72,71,246,56,143,139,128,197,209,100,34,25,195,21,186,\r
+205,70,253,128,6,120,136,38,130,159,224,250,2,79,248,43,234,92,248,129,250,249,254,159,240,239,65,88,14,145,166,33,200,118,209,184,179,7,113,153,219,237,193,187,28,10,147,72,234,223,87,54,237,28,184,226,231,128,236,57,90,217,11,180,179,101,4,216,43,203,\r
+157,160,125,209,129,59,9,92,71,55,185,193,185,27,196,185,40,232,40,2,184,9,183,143,163,244,22,93,76,83,104,252,164,96,197,204,14,99,174,231,135,217,66,9,184,112,0,46,160,143,224,152,197,5,173,168,57,23,66,216,202,106,191,133,49,128,11,68,39,40,3,205,\r
+244,226,234,36,201,85,162,215,60,34,122,136,194,215,64,39,98,24,1,127,106,197,16,39,189,151,232,93,240,71,90,12,19,30,23,102,137,166,60,226,95,80,75,3,4,10,0,0,8,8,0,10,178,149,71,105,222,125,0,70,0,0,0,68,0,0,0,31,0,0,0,103,114,97,100,108,101,45,99,\r
+108,105,45,99,108,97,115,115,112,97,116,104,46,112,114,111,112,101,114,116,105,101,115,83,206,205,79,41,205,73,85,72,73,77,203,204,203,44,201,204,207,227,82,246,205,207,83,112,73,77,86,48,50,84,48,50,178,50,52,179,50,50,80,112,118,13,81,48,50,48,52,229,\r
+42,40,202,207,74,77,46,41,182,229,42,42,205,43,201,204,77,181,229,2,0,80,75,1,2,20,3,10,0,0,8,8,0,42,178,149,71,0,0,0,0,2,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,16,0,237,65,0,0,0,0,77,69,84,65,45,73,78,70,47,80,75,1,2,20,3,10,0,0,8,8,0,42,178,149,71,215,149,\r
+152,82,63,0,0,0,85,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,164,129,41,0,0,0,77,69,84,65,45,73,78,70,47,77,65,78,73,70,69,83,84,46,77,70,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,0,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,16,0,253,65,154,0,0,0,111,114,103,47,\r
+80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,0,0,0,0,2,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,16,0,253,65,190,0,0,0,111,114,103,47,103,114,97,100,108,101,47,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,0,0,0,0,2,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,16,0,253,65,233,\r
+0,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,104,130,100,102,163,0,0,0,213,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,180,129,28,1,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,\r
+112,101,114,47,68,111,119,110,108,111,97,100,36,49,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,197,222,133,214,20,2,0,0,112,4,0,0,68,0,0,0,0,0,0,0,0,0,0,0,180,129,0,2,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,\r
+101,114,47,68,111,119,110,108,111,97,100,36,83,121,115,116,101,109,80,114,111,112,101,114,116,105,101,115,80,114,111,120,121,65,117,116,104,101,110,116,105,99,97,116,111,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,231,236,88,115,\r
+170,0,0,0,219,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,180,129,118,4,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,73,68,111,119,110,108,111,97,100,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,4,169,122,221,92,2,0,\r
+0,81,4,0,0,45,0,0,0,0,0,0,0,0,0,0,0,180,129,96,5,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,71,114,97,100,108,101,85,115,101,114,72,111,109,101,76,111,111,107,117,112,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,\r
+178,149,71,28,226,93,219,197,5,0,0,250,10,0,0,51,0,0,0,0,0,0,0,0,0,0,0,180,129,7,8,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,69,120,99,108,117,115,105,118,101,70,105,108,101,65,99,99,101,115,115,77,97,110,97,103,101,114,\r
+46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,204,13,94,70,145,2,0,0,249,6,0,0,45,0,0,0,0,0,0,0,0,0,0,0,180,129,29,14,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,87,114,97,112,112,101,114,67,111,110,102,\r
+105,103,117,114,97,116,105,111,110,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,81,125,29,105,229,4,0,0,25,10,0,0,48,0,0,0,0,0,0,0,0,0,0,0,180,129,249,16,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,83,\r
+121,115,116,101,109,80,114,111,112,101,114,116,105,101,115,72,97,110,100,108,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,165,121,48,186,86,2,0,0,0,5,0,0,31,0,0,0,0,0,0,0,0,0,0,0,180,129,44,22,0,0,111,114,103,47,103,114,97,100,\r
+108,101,47,119,114,97,112,112,101,114,47,76,111,103,103,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,206,114,235,138,21,7,0,0,110,14,0,0,38,0,0,0,0,0,0,0,0,0,0,0,180,129,191,24,0,0,111,114,103,47,103,114,97,100,108,101,47,119,\r
+114,97,112,112,101,114,47,80,97,116,104,65,115,115,101,109,98,108,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,56,222,182,221,27,19,0,0,236,41,0,0,32,0,0,0,0,0,0,0,0,0,0,0,180,129,24,32,0,0,111,114,103,47,103,114,97,100,108,\r
+101,47,119,114,97,112,112,101,114,47,73,110,115,116,97,108,108,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,221,192,76,137,196,4,0,0,149,9,0,0,45,0,0,0,0,0,0,0,0,0,0,0,180,129,113,51,0,0,111,114,103,47,103,114,97,100,108,101,47,119,\r
+114,97,112,112,101,114,47,66,111,111,116,115,116,114,97,112,77,97,105,110,83,116,97,114,116,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,72,214,183,36,211,10,0,0,35,24,0,0,40,0,0,0,0,0,0,0,0,0,0,0,180,129,128,56,0,0,111,114,\r
+103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,87,114,97,112,112,101,114,69,120,101,99,117,116,111,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,132,26,164,171,178,10,0,0,66,24,0,0,42,0,0,0,0,0,0,0,0,0,0,0,180,129,\r
+153,67,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,71,114,97,100,108,101,87,114,97,112,112,101,114,77,97,105,110,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,217,206,17,120,160,6,0,0,180,14,0,0,34,0,0,\r
+0,0,0,0,0,0,0,0,0,180,129,147,78,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,73,110,115,116,97,108,108,36,49,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,22,178,149,71,106,32,106,144,180,1,0,0,86,3,0,0,56,0,0,0,0,0,\r
+0,0,0,0,0,0,180,129,115,85,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,80,97,116,104,65,115,115,101,109,98,108,101,114,36,76,111,99,97,108,68,105,115,116,114,105,98,117,116,105,111,110,46,99,108,97,115,115,80,75,1,2,20,\r
+3,10,0,0,8,8,0,22,178,149,71,146,99,74,27,25,8,0,0,75,15,0,0,33,0,0,0,0,0,0,0,0,0,0,0,180,129,125,87,0,0,111,114,103,47,103,114,97,100,108,101,47,119,114,97,112,112,101,114,47,68,111,119,110,108,111,97,100,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,\r
+8,0,22,178,149,71,192,25,62,198,80,0,0,0,78,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,180,129,213,95,0,0,103,114,97,100,108,101,45,119,114,97,112,112,101,114,45,99,108,97,115,115,112,97,116,104,46,112,114,111,112,101,114,116,105,101,115,80,75,1,2,20,3,10,0,0,8,\r
+8,0,10,178,149,71,36,217,150,101,206,0,0,0,28,1,0,0,24,0,0,0,0,0,0,0,0,0,0,0,180,129,102,96,0,0,98,117,105,108,100,45,114,101,99,101,105,112,116,46,112,114,111,112,101,114,116,105,101,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,0,0,0,0,2,0,0,0,0,0,\r
+0,0,15,0,0,0,0,0,0,0,0,0,16,0,253,65,106,97,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,144,200,244,150,60,2,0,0,83,5,0,0,49,0,0,0,0,0,0,0,0,0,0,0,180,129,153,97,0,0,111,114,103,47,103,114,97,100,\r
+108,101,47,99,108,105,47,65,98,115,116,114,97,99,116,67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,50,95,101,143,166,0,0,0,232,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,\r
+180,129,36,100,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,49,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,82,66,9,29,168,2,0,0,247,6,0,0,60,0,0,0,0,0,\r
+0,0,0,0,0,0,180,129,16,101,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,77,105,115,115,105,110,103,79,112,116,105,111,110,65,114,103,83,116,97,116,101,46,99,108,97,115,115,\r
+80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,188,172,77,50,145,2,0,0,131,5,0,0,61,0,0,0,0,0,0,0,0,0,0,0,180,129,18,104,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,\r
+105,111,110,83,116,114,105,110,103,67,111,109,112,97,114,97,116,111,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,232,35,13,242,71,1,0,0,75,2,0,0,49,0,0,0,0,0,0,0,0,0,0,0,180,129,254,106,0,0,111,114,103,47,103,114,97,100,108,101,\r
+47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,65,114,103,117,109,101,110,116,69,120,99,101,112,116,105,111,110,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,63,23,104,255,199,7,0,0,135,19,0,0,61,0,0,0,0,0,0,0,0,0,0,0,180,\r
+129,148,108,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,75,110,111,119,110,79,112,116,105,111,110,80,97,114,115,101,114,83,116,97,116,101,46,99,108,97,115,115,80,75,1,2,\r
+20,3,10,0,0,8,8,0,10,178,149,71,28,107,22,177,205,2,0,0,219,6,0,0,55,0,0,0,0,0,0,0,0,0,0,0,180,129,182,116,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,105,111,\r
+110,67,111,109,112,97,114,97,116,111,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,228,98,213,39,225,2,0,0,110,7,0,0,63,0,0,0,0,0,0,0,0,0,0,0,180,129,216,119,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,\r
+97,110,100,76,105,110,101,80,97,114,115,101,114,36,85,110,107,110,111,119,110,79,112,116,105,111,110,80,97,114,115,101,114,83,116,97,116,101,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,34,122,201,90,146,5,0,0,153,13,0,0,38,0,0,0,0,\r
+0,0,0,0,0,0,0,180,129,22,123,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,79,112,116,105,111,110,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,156,108,92,207,167,1,0,0,166,3,0,0,\r
+56,0,0,0,0,0,0,0,0,0,0,0,180,129,236,128,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,105,111,110,80,97,114,115,101,114,83,116,97,116,101,46,99,108,97,115,115,\r
+80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,91,120,110,152,148,7,0,0,199,17,0,0,38,0,0,0,0,0,0,0,0,0,0,0,180,129,233,130,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,80,97,114,115,101,100,67,111,109,109,97,110,100,76,105,110,101,46,99,108,\r
+97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,139,65,53,108,124,1,0,0,11,3,0,0,58,0,0,0,0,0,0,0,0,0,0,0,180,129,193,138,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,80,114,111,106,101,99,116,80,114,111,112,101,114,116,105,101,115,\r
+67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,50,108,87,182,74,2,0,0,4,5,0,0,70,0,0,0,0,0,0,0,0,0,0,0,180,129,149,140,0,0,111,114,103,47,103,114,97,100,108,101,\r
+47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,67,97,115,101,73,110,115,101,110,115,105,116,105,118,101,83,116,114,105,110,103,67,111,109,112,97,114,97,116,111,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,\r
+178,149,71,133,165,180,23,103,18,0,0,198,42,0,0,38,0,0,0,0,0,0,0,0,0,0,0,180,129,67,143,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,\r
+0,8,8,0,10,178,149,71,95,15,62,210,163,2,0,0,41,7,0,0,51,0,0,0,0,0,0,0,0,0,0,0,180,129,238,161,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,65,102,116,101,114,79,112,116,\r
+105,111,110,115,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,71,209,102,236,146,2,0,0,156,5,0,0,51,0,0,0,0,0,0,0,0,0,0,0,180,129,226,164,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,\r
+101,80,97,114,115,101,114,36,79,112,116,105,111,110,83,116,114,105,110,103,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,120,38,226,84,96,4,0,0,26,11,0,0,59,0,0,0,0,0,0,0,0,0,0,0,180,129,197,167,0,0,111,114,103,47,103,114,97,100,108,\r
+101,47,99,108,105,47,65,98,115,116,114,97,99,116,80,114,111,112,101,114,116,105,101,115,67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,147,157,188,21,188,2,0,\r
+0,32,5,0,0,44,0,0,0,0,0,0,0,0,0,0,0,180,129,126,172,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,80,97,114,115,101,100,67,111,109,109,97,110,100,76,105,110,101,79,112,116,105,111,110,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,\r
+149,71,182,192,176,115,152,2,0,0,170,6,0,0,61,0,0,0,0,0,0,0,0,0,0,0,180,129,132,175,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,79,112,116,105,111,110,65,119,97,114,101,\r
+80,97,114,115,101,114,83,116,97,116,101,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,39,4,72,12,25,1,0,0,103,2,0,0,41,0,0,0,0,0,0,0,0,0,0,0,180,129,119,178,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,\r
+110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,67,209,22,230,234,3,0,0,124,11,0,0,60,0,0,0,0,0,0,0,0,0,0,0,180,129,215,179,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,\r
+47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,66,101,102,111,114,101,70,105,114,115,116,83,117,98,67,111,109,109,97,110,100,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,147,0,59,153,124,1,0,0,252,2,0,0,57,0,0,\r
+0,0,0,0,0,0,0,0,0,180,129,27,184,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,83,121,115,116,101,109,80,114,111,112,101,114,116,105,101,115,67,111,109,109,97,110,100,76,105,110,101,67,111,110,118,101,114,116,101,114,46,99,108,97,115,115,\r
+80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,45,21,104,130,7,2,0,0,187,4,0,0,50,0,0,0,0,0,0,0,0,0,0,0,180,129,238,185,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,76,105,110,101,80,97,114,115,101,114,36,80,97,114,\r
+115,101,114,83,116,97,116,101,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,70,182,8,247,61,3,0,0,202,9,0,0,59,0,0,0,0,0,0,0,0,0,0,0,180,129,69,188,0,0,111,114,103,47,103,114,97,100,108,101,47,99,108,105,47,67,111,109,109,97,110,100,\r
+76,105,110,101,80,97,114,115,101,114,36,65,102,116,101,114,70,105,114,115,116,83,117,98,67,111,109,109,97,110,100,46,99,108,97,115,115,80,75,1,2,20,3,10,0,0,8,8,0,10,178,149,71,105,222,125,0,70,0,0,0,68,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,180,129,219,191,\r
+0,0,103,114,97,100,108,101,45,99,108,105,45,99,108,97,115,115,112,97,116,104,46,112,114,111,112,101,114,116,105,101,115,80,75,5,6,0,0,0,0,49,0,49,0,16,17,0,0,94,192,0,0,0,0,0,0 };\r
+\r
+const char* gradlewrapper_jar = (const char*) temp_binary_data_0;\r
+\r
+//================== gradlew ==================\r
+static const unsigned char temp_binary_data_1[] =\r
+"#!/usr/bin/env bash\n"\r
+"\n"\r
+"##############################################################################\n"\r
+"##\n"\r
+"## Gradle start up script for UN*X\n"\r
+"##\n"\r
+"##############################################################################\n"\r
+"\n"\r
+"# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\n"\r
+"DEFAULT_JVM_OPTS=\"\"\n"\r
+"\n"\r
+"APP_NAME=\"Gradle\"\n"\r
+"APP_BASE_NAME=`basename \"$0\"`\n"\r
+"\n"\r
+"# Use the maximum available, or set MAX_FD != -1 to use that value.\n"\r
+"MAX_FD=\"maximum\"\n"\r
+"\n"\r
+"warn ( ) {\n"\r
+" echo \"$*\"\n"\r
+"}\n"\r
+"\n"\r
+"die ( ) {\n"\r
+" echo\n"\r
+" echo \"$*\"\n"\r
+" echo\n"\r
+" exit 1\n"\r
+"}\n"\r
+"\n"\r
+"# OS specific support (must be 'true' or 'false').\n"\r
+"cygwin=false\n"\r
+"msys=false\n"\r
+"darwin=false\n"\r
+"case \"`uname`\" in\n"\r
+" CYGWIN* )\n"\r
+" cygwin=true\n"\r
+" ;;\n"\r
+" Darwin* )\n"\r
+" darwin=true\n"\r
+" ;;\n"\r
+" MINGW* )\n"\r
+" msys=true\n"\r
+" ;;\n"\r
+"esac\n"\r
+"\n"\r
+"# Attempt to set APP_HOME\n"\r
+"# Resolve links: $0 may be a link\n"\r
+"PRG=\"$0\"\n"\r
+"# Need this for relative symlinks.\n"\r
+"while [ -h \"$PRG\" ] ; do\n"\r
+" ls=`ls -ld \"$PRG\"`\n"\r
+" link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n"\r
+" if expr \"$link\" : '/.*' > /dev/null; then\n"\r
+" PRG=\"$link\"\n"\r
+" else\n"\r
+" PRG=`dirname \"$PRG\"`\"/$link\"\n"\r
+" fi\n"\r
+"done\n"\r
+"SAVED=\"`pwd`\"\n"\r
+"cd \"`dirname \\\"$PRG\\\"`/\" >/dev/null\n"\r
+"APP_HOME=\"`pwd -P`\"\n"\r
+"cd \"$SAVED\" >/dev/null\n"\r
+"\n"\r
+"CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n"\r
+"\n"\r
+"# Determine the Java command to use to start the JVM.\n"\r
+"if [ -n \"$JAVA_HOME\" ] ; then\n"\r
+" if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n"\r
+" # IBM's JDK on AIX uses strange locations for the executables\n"\r
+" JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n"\r
+" else\n"\r
+" JAVACMD=\"$JAVA_HOME/bin/java\"\n"\r
+" fi\n"\r
+" if [ ! -x \"$JAVACMD\" ] ; then\n"\r
+" die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n"\r
+"\n"\r
+"Please set the JAVA_HOME variable in your environment to match the\n"\r
+"location of your Java installation.\"\n"\r
+" fi\n"\r
+"else\n"\r
+" JAVACMD=\"java\"\n"\r
+" which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n"\r
+"\n"\r
+"Please set the JAVA_HOME variable in your environment to match the\n"\r
+"location of your Java installation.\"\n"\r
+"fi\n"\r
+"\n"\r
+"# Increase the maximum file descriptors if we can.\n"\r
+"if [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" ] ; then\n"\r
+" MAX_FD_LIMIT=`ulimit -H -n`\n"\r
+" if [ $? -eq 0 ] ; then\n"\r
+" if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n"\r
+" MAX_FD=\"$MAX_FD_LIMIT\"\n"\r
+" fi\n"\r
+" ulimit -n $MAX_FD\n"\r
+" if [ $? -ne 0 ] ; then\n"\r
+" warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n"\r
+" fi\n"\r
+" else\n"\r
+" warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n"\r
+" fi\n"\r
+"fi\n"\r
+"\n"\r
+"# For Darwin, add options to specify how the application appears in the dock\n"\r
+"if $darwin; then\n"\r
+" GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\n"\r
+"fi\n"\r
+"\n"\r
+"# For Cygwin, switch paths to Windows format before running java\n"\r
+"if $cygwin ; then\n"\r
+" APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n"\r
+" CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n"\r
+" JAVACMD=`cygpath --unix \"$JAVACMD\"`\n"\r
+"\n"\r
+" # We build the pattern for arguments to be converted via cygpath\n"\r
+" ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n"\r
+" SEP=\"\"\n"\r
+" for dir in $ROOTDIRSRAW ; do\n"\r
+" ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n"\r
+" SEP=\"|\"\n"\r
+" done\n"\r
+" OURCYGPATTERN=\"(^($ROOTDIRS))\"\n"\r
+" # Add a user-defined pattern to the cygpath arguments\n"\r
+" if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n"\r
+" OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n"\r
+" fi\n"\r
+" # Now convert the arguments - kludge to limit ourselves to /bin/sh\n"\r
+" i=0\n"\r
+" for arg in \"$@\" ; do\n"\r
+" CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n"\r
+" CHECK2=`echo \"$arg\"|egrep -c \"^-\"` ### Determine if an option\n"\r
+"\n"\r
+" if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition\n"\r
+" eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n"\r
+" else\n"\r
+" eval `echo args$i`=\"\\\"$arg\\\"\"\n"\r
+" fi\n"\r
+" i=$((i+1))\n"\r
+" done\n"\r
+" case $i in\n"\r
+" (0) set -- ;;\n"\r
+" (1) set -- \"$args0\" ;;\n"\r
+" (2) set -- \"$args0\" \"$args1\" ;;\n"\r
+" (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n"\r
+" (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n"\r
+" (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n"\r
+" (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n"\r
+" (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n"\r
+" (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n"\r
+" (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n"\r
+" esac\n"\r
+"fi\n"\r
+"\n"\r
+"# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules\n"\r
+"function splitJvmOpts() {\n"\r
+" JVM_OPTS=(\"$@\")\n"\r
+"}\n"\r
+"eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\n"\r
+"JVM_OPTS[${#JVM_OPTS[*]}]=\"-Dorg.gradle.appname=$APP_BASE_NAME\"\n"\r
+"\n"\r
+"exec \"$JAVACMD\" \"${JVM_OPTS[@]}\" -classpath \"$CLASSPATH\" org.gradle.wrapper.GradleWrapperMain \"$@\"\n";\r
+\r
+const char* gradlew = (const char*) temp_binary_data_1;\r
+\r
+//================== gradlew.bat ==================\r
+static const unsigned char temp_binary_data_2[] =\r
+"@if \"%DEBUG%\" == \"\" @echo off\r\n"\r
+"@rem ##########################################################################\r\n"\r
+"@rem\r\n"\r
+"@rem Gradle startup script for Windows\r\n"\r
+"@rem\r\n"\r
+"@rem ##########################################################################\r\n"\r
+"\r\n"\r
+"@rem Set local scope for the variables with windows NT shell\r\n"\r
+"if \"%OS%\"==\"Windows_NT\" setlocal\r\n"\r
+"\r\n"\r
+"@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\r\n"\r
+"set DEFAULT_JVM_OPTS=\r\n"\r
+"\r\n"\r
+"set DIRNAME=%~dp0\r\n"\r
+"if \"%DIRNAME%\" == \"\" set DIRNAME=.\r\n"\r
+"set APP_BASE_NAME=%~n0\r\n"\r
+"set APP_HOME=%DIRNAME%\r\n"\r
+"\r\n"\r
+"@rem Find java.exe\r\n"\r
+"if defined JAVA_HOME goto findJavaFromJavaHome\r\n"\r
+"\r\n"\r
+"set JAVA_EXE=java.exe\r\n"\r
+"%JAVA_EXE% -version >NUL 2>&1\r\n"\r
+"if \"%ERRORLEVEL%\" == \"0\" goto init\r\n"\r
+"\r\n"\r
+"echo.\r\n"\r
+"echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\r\n"\r
+"echo.\r\n"\r
+"echo Please set the JAVA_HOME variable in your environment to match the\r\n"\r
+"echo location of your Java installation.\r\n"\r
+"\r\n"\r
+"goto fail\r\n"\r
+"\r\n"\r
+":findJavaFromJavaHome\r\n"\r
+"set JAVA_HOME=%JAVA_HOME:\"=%\r\n"\r
+"set JAVA_EXE=%JAVA_HOME%/bin/java.exe\r\n"\r
+"\r\n"\r
+"if exist \"%JAVA_EXE%\" goto init\r\n"\r
+"\r\n"\r
+"echo.\r\n"\r
+"echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\r\n"\r
+"echo.\r\n"\r
+"echo Please set the JAVA_HOME variable in your environment to match the\r\n"\r
+"echo location of your Java installation.\r\n"\r
+"\r\n"\r
+"goto fail\r\n"\r
+"\r\n"\r
+":init\r\n"\r
+"@rem Get command-line arguments, handling Windowz variants\r\n"\r
+"\r\n"\r
+"if not \"%OS%\" == \"Windows_NT\" goto win9xME_args\r\n"\r
+"if \"%@eval[2+2]\" == \"4\" goto 4NT_args\r\n"\r
+"\r\n"\r
+":win9xME_args\r\n"\r
+"@rem Slurp the command line arguments.\r\n"\r
+"set CMD_LINE_ARGS=\r\n"\r
+"set _SKIP=2\r\n"\r
+"\r\n"\r
+":win9xME_args_slurp\r\n"\r
+"if \"x%~1\" == \"x\" goto execute\r\n"\r
+"\r\n"\r
+"set CMD_LINE_ARGS=%*\r\n"\r
+"goto execute\r\n"\r
+"\r\n"\r
+":4NT_args\r\n"\r
+"@rem Get arguments from the 4NT Shell from JP Software\r\n"\r
+"set CMD_LINE_ARGS=%$\r\n"\r
+"\r\n"\r
+":execute\r\n"\r
+"@rem Setup the command line\r\n"\r
+"\r\n"\r
+"set CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\r\n"\r
+"\r\n"\r
+"@rem Execute Gradle\r\n"\r
+"\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\r\n"\r
+"\r\n"\r
+":end\r\n"\r
+"@rem End local scope for the variables with windows NT shell\r\n"\r
+"if \"%ERRORLEVEL%\"==\"0\" goto mainEnd\r\n"\r
+"\r\n"\r
+":fail\r\n"\r
+"rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\r\n"\r
+"rem the _cmd.exe /c_ return code!\r\n"\r
+"if not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\r\n"\r
+"exit /b 1\r\n"\r
+"\r\n"\r
+":mainEnd\r\n"\r
+"if \"%OS%\"==\"Windows_NT\" endlocal\r\n"\r
+"\r\n"\r
+":omega\r\n";\r
+\r
+const char* gradlew_bat = (const char*) temp_binary_data_2;\r
+\r
+//================== LICENSE ==================\r
+static const unsigned char temp_binary_data_3[] =\r
+"Apache License\n"\r
+" Version 2.0, January 2004\n"\r
+" http://www.apache.org/licenses/\n"\r
+"\n"\r
+" TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n"\r
+"\n"\r
+" 1. Definitions.\n"\r
+"\n"\r
+" \"License\" shall mean the terms and conditions for use, reproduction,\n"\r
+" and distribution as defined by Sections 1 through 9 of this document.\n"\r
+"\n"\r
+" \"Licensor\" shall mean the copyright owner or entity authorized by\n"\r
+" the copyright owner that is granting the License.\n"\r
+"\n"\r
+" \"Legal Entity\" shall mean the union of the acting entity and all\n"\r
+" other entities that control, are controlled by, or are under common\n"\r
+" control with that entity. For the purposes of this definition,\n"\r
+" \"control\" means (i) the power, direct or indirect, to cause the\n"\r
+" direction or management of such entity, whether by contract or\n"\r
+" otherwise, or (ii) ownership of fifty percent (50%) or more of the\n"\r
+" outstanding shares, or (iii) beneficial ownership of such entity.\n"\r
+"\n"\r
+" \"You\" (or \"Your\") shall mean an individual or Legal Entity\n"\r
+" exercising permissions granted by this License.\n"\r
+"\n"\r
+" \"Source\" form shall mean the preferred form for making modifications,\n"\r
+" including but not limited to software source code, documentation\n"\r
+" source, and configuration files.\n"\r
+"\n"\r
+" \"Object\" form shall mean any form resulting from mechanical\n"\r
+" transformation or translation of a Source form, including but\n"\r
+" not limited to compiled object code, generated documentation,\n"\r
+" and conversions to other media types.\n"\r
+"\n"\r
+" \"Work\" shall mean the work of authorship, whether in Source or\n"\r
+" Object form, made available under the License, as indicated by a\n"\r
+" copyright notice that is included in or attached to the work\n"\r
+" (an example is provided in the Appendix below).\n"\r
+"\n"\r
+" \"Derivative Works\" shall mean any work, whether in Source or Object\n"\r
+" form, that is based on (or derived from) the Work and for which the\n"\r
+" editorial revisions, annotations, elaborations, or other modifications\n"\r
+" represent, as a whole, an original work of authorship. For the purposes\n"\r
+" of this License, Derivative Works shall not include works that remain\n"\r
+" separable from, or merely link (or bind by name) to the interfaces of,\n"\r
+" the Work and Derivative Works thereof.\n"\r
+"\n"\r
+" \"Contribution\" shall mean any work of authorship, including\n"\r
+" the original version of the Work and any modifications or additions\n"\r
+" to that Work or Derivative Works thereof, that is intentionally\n"\r
+" submitted to Licensor for inclusion in the Work by the copyright owner\n"\r
+" or by an individual or Legal Entity authorized to submit on behalf of\n"\r
+" the copyright owner. For the purposes of this definition, \"submitted\"\n"\r
+" means any form of electronic, verbal, or written communication sent\n"\r
+" to the Licensor or its representatives, including but not limited to\n"\r
+" communication on electronic mailing lists, source code control systems,\n"\r
+" and issue tracking systems that are managed by, or on behalf of, the\n"\r
+" Licensor for the purpose of discussing and improving the Work, but\n"\r
+" excluding communication that is conspicuously marked or otherwise\n"\r
+" designated in writing by the copyright owner as \"Not a Contribution.\"\n"\r
+"\n"\r
+" \"Contributor\" shall mean Licensor and any individual or Legal Entity\n"\r
+" on behalf of whom a Contribution has been received by Licensor and\n"\r
+" subsequently incorporated within the Work.\n"\r
+"\n"\r
+" 2. Grant of Copyright License. Subject to the terms and conditions of\n"\r
+" this License, each Contributor hereby grants to You a perpetual,\n"\r
+" worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n"\r
+" copyright license to reproduce, prepare Derivative Works of,\n"\r
+" publicly display, publicly perform, sublicense, and distribute the\n"\r
+" Work and such Derivative Works in Source or Object form.\n"\r
+"\n"\r
+" 3. Grant of Patent License. Subject to the terms and conditions of\n"\r
+" this License, each Contributor hereby grants to You a perpetual,\n"\r
+" worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n"\r
+" (except as stated in this section) patent license to make, have made,\n"\r
+" use, offer to sell, sell, import, and otherwise transfer the Work,\n"\r
+" where such license applies only to those patent claims licensable\n"\r
+" by such Contributor that are necessarily infringed by their\n"\r
+" Contribution(s) alone or by combination of their Contribution(s)\n"\r
+" with the Work to which such Contribution(s) was submitted. If You\n"\r
+" institute patent litigation against any entity (including a\n"\r
+" cross-claim or counterclaim in a lawsuit) alleging that the Work\n"\r
+" or a Contribution incorporated within the Work constitutes direct\n"\r
+" or contributory patent infringement, then any patent licenses\n"\r
+" granted to You under this License for that Work shall terminate\n"\r
+" as of the date such litigation is filed.\n"\r
+"\n"\r
+" 4. Redistribution. You may reproduce and distribute copies of the\n"\r
+" Work or Derivative Works thereof in any medium, with or without\n"\r
+" modifications, and in Source or Object form, provided that You\n"\r
+" meet the following conditions:\n"\r
+"\n"\r
+" (a) You must give any other recipients of the Work or\n"\r
+" Derivative Works a copy of this License; and\n"\r
+"\n"\r
+" (b) You must cause any modified files to carry prominent notices\n"\r
+" stating that You changed the files; and\n"\r
+"\n"\r
+" (c) You must retain, in the Source form of any Derivative Works\n"\r
+" that You distribute, all copyright, patent, trademark, and\n"\r
+" attribution notices from the Source form of the Work,\n"\r
+" excluding those notices that do not pertain to any part of\n"\r
+" the Derivative Works; and\n"\r
+"\n"\r
+" (d) If the Work includes a \"NOTICE\" text file as part of its\n"\r
+" distribution, then any Derivative Works that You distribute must\n"\r
+" include a readable copy of the attribution notices contained\n"\r
+" within such NOTICE file, excluding those notices that do not\n"\r
+" pertain to any part of the Derivative Works, in at least one\n"\r
+" of the following places: within a NOTICE text file distributed\n"\r
+" as part of the Derivative Works; within the Source form or\n"\r
+" documentation, if provided along with the Derivative Works; or,\n"\r
+" within a display generated by the Derivative Works, if and\n"\r
+" wherever such third-party notices normally appear. The contents\n"\r
+" of the NOTICE file are for informational purposes only and\n"\r
+" do not modify the License. You may add Your own attribution\n"\r
+" notices within Derivative Works that You distribute, alongside\n"\r
+" or as an addendum to the NOTICE text from the Work, provided\n"\r
+" that such additional attribution notices cannot be construed\n"\r
+" as modifying the License.\n"\r
+"\n"\r
+" You may add Your own copyright statement to Your modifications and\n"\r
+" may provide additional or different license terms and conditions\n"\r
+" for use, reproduction, or distribution of Your modifications, or\n"\r
+" for any such Derivative Works as a whole, provided Your use,\n"\r
+" reproduction, and distribution of the Work otherwise complies with\n"\r
+" the conditions stated in this License.\n"\r
+"\n"\r
+" 5. Submission of Contributions. Unless You explicitly state otherwise,\n"\r
+" any Contribution intentionally submitted for inclusion in the Work\n"\r
+" by You to the Licensor shall be under the terms and conditions of\n"\r
+" this License, without any additional terms or conditions.\n"\r
+" Notwithstanding the above, nothing herein shall supersede or modify\n"\r
+" the terms of any separate license agreement you may have executed\n"\r
+" with Licensor regarding such Contributions.\n"\r
+"\n"\r
+" 6. Trademarks. This License does not grant permission to use the trade\n"\r
+" names, trademarks, service marks, or product names of the Licensor,\n"\r
+" except as required for reasonable and customary use in describing the\n"\r
+" origin of the Work and reproducing the content of the NOTICE file.\n"\r
+"\n"\r
+" 7. Disclaimer of Warranty. Unless required by applicable law or\n"\r
+" agreed to in writing, Licensor provides the Work (and each\n"\r
+" Contributor provides its Contributions) on an \"AS IS\" BASIS,\n"\r
+" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n"\r
+" implied, including, without limitation, any warranties or conditions\n"\r
+" of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n"\r
+" PARTICULAR PURPOSE. You are solely responsible for determining the\n"\r
+" appropriateness of using or redistributing the Work and assume any\n"\r
+" risks associated with Your exercise of permissions under this License.\n"\r
+"\n"\r
+" 8. Limitation of Liability. In no event and under no legal theory,\n"\r
+" whether in tort (including negligence), contract, or otherwise,\n"\r
+" unless required by applicable law (such as deliberate and grossly\n"\r
+" negligent acts) or agreed to in writing, shall any Contributor be\n"\r
+" liable to You for damages, including any direct, indirect, special,\n"\r
+" incidental, or consequential damages of any character arising as a\n"\r
+" result of this License or out of the use or inability to use the\n"\r
+" Work (including but not limited to damages for loss of goodwill,\n"\r
+" work stoppage, computer failure or malfunction, or any and all\n"\r
+" other commercial damages or losses), even if such Contributor\n"\r
+" has been advised of the possibility of such damages.\n"\r
+"\n"\r
+" 9. Accepting Warranty or Additional Liability. While redistributing\n"\r
+" the Work or Derivative Works thereof, You may choose to offer,\n"\r
+" and charge a fee for, acceptance of support, warranty, indemnity,\n"\r
+" or other liability obligations and/or rights consistent with this\n"\r
+" License. However, in accepting such obligations, You may act only\n"\r
+" on Your own behalf and on Your sole responsibility, not on behalf\n"\r
+" of any other Contributor, and only if You agree to indemnify,\n"\r
+" defend, and hold each Contributor harmless for any liability\n"\r
+" incurred by, or claims asserted against, such Contributor by reason\n"\r
+" of your accepting any such warranty or additional liability.\n"\r
+"\n"\r
+" END OF TERMS AND CONDITIONS\n"\r
+"\n"\r
+" APPENDIX: How to apply the Apache License to your work.\n"\r
+"\n"\r
+" To apply the Apache License to your work, attach the following\n"\r
+" boilerplate notice, with the fields enclosed by brackets \"{}\"\n"\r
+" replaced with your own identifying information. (Don't include\n"\r
+" the brackets!) The text should be enclosed in the appropriate\n"\r
+" comment syntax for the file format. We also recommend that a\n"\r
+" file or class name and description of purpose be included on the\n"\r
+" same \"printed page\" as the copyright notice for easier\n"\r
+" identification within third-party archives.\n"\r
+"\n"\r
+" Copyright {yyyy} {name of copyright owner}\n"\r
+"\n"\r
+" Licensed under the Apache License, Version 2.0 (the \"License\");\n"\r
+" you may not use this file except in compliance with the License.\n"\r
+" You may obtain a copy of the License at\n"\r
+"\n"\r
+" http://www.apache.org/licenses/LICENSE-2.0\n"\r
+"\n"\r
+" Unless required by applicable law or agreed to in writing, software\n"\r
+" distributed under the License is distributed on an \"AS IS\" BASIS,\n"\r
+" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n"\r
+" See the License for the specific language governing permissions and\n"\r
+" limitations under the License.\n"\r
+"\n";\r
+\r
+const char* LICENSE = (const char*) temp_binary_data_3;\r
+\r
+//================== jucer_AnimatedComponentTemplate.cpp ==================\r
+static const unsigned char temp_binary_data_4[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // MAINCOMPONENT_H_INCLUDED\r\n";\r
\r
-const char* jucer_AnimatedComponentTemplate_cpp = (const char*) temp_binary_data_0;\r
+const char* jucer_AnimatedComponentTemplate_cpp = (const char*) temp_binary_data_4;\r
\r
//================== jucer_AudioComponentTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_1[] =\r
+static const unsigned char temp_binary_data_5[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // MAINCOMPONENT_H_INCLUDED\r\n";\r
\r
-const char* jucer_AudioComponentTemplate_cpp = (const char*) temp_binary_data_1;\r
+const char* jucer_AudioComponentTemplate_cpp = (const char*) temp_binary_data_5;\r
\r
//================== jucer_AudioPluginEditorTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_2[] =\r
+static const unsigned char temp_binary_data_6[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
" // subcomponents in your editor..\r\n"\r
"}\r\n";\r
\r
-const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_2;\r
+const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_6;\r
\r
//================== jucer_AudioPluginEditorTemplate.h ==================\r
-static const unsigned char temp_binary_data_3[] =\r
+static const unsigned char temp_binary_data_7[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // HEADERGUARD\r\n";\r
\r
-const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_3;\r
+const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_7;\r
\r
//================== jucer_AudioPluginFilterTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_4[] =\r
+static const unsigned char temp_binary_data_8[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"//==============================================================================\r\n"\r
"FILTERCLASSNAME::FILTERCLASSNAME()\r\n"\r
+"#ifndef JucePlugin_PreferredChannelConfigurations\r\n"\r
+" : AudioProcessor (BusesProperties()\r\n"\r
+" #if ! JucePlugin_IsMidiEffect\r\n"\r
+" #if ! JucePlugin_IsSynth\r\n"\r
+" .withInput (\"Input\", AudioChannelSet::stereo(), true)\r\n"\r
+" #endif\r\n"\r
+" .withOutput (\"Output\", AudioChannelSet::stereo(), true)\r\n"\r
+" #endif\r\n"\r
+" )\r\n"\r
+"#endif\r\n"\r
"{\r\n"\r
"}\r\n"\r
"\r\n"\r
"}\r\n"\r
"\r\n"\r
"#ifndef JucePlugin_PreferredChannelConfigurations\r\n"\r
-"bool FILTERCLASSNAME::setPreferredBusArrangement (bool isInput, int bus, const AudioChannelSet& preferredSet)\r\n"\r
+"bool FILTERCLASSNAME::isBusesLayoutSupported (const BusesLayout& layouts) const\r\n"\r
"{\r\n"\r
-" // Reject any bus arrangements that are not compatible with your plugin\r\n"\r
-"\r\n"\r
-" const int numChannels = preferredSet.size();\r\n"\r
-"\r\n"\r
-" #if JucePlugin_IsMidiEffect\r\n"\r
-" if (numChannels != 0)\r\n"\r
-" return false;\r\n"\r
-" #elif JucePlugin_IsSynth\r\n"\r
-" if (isInput || (numChannels != 1 && numChannels != 2))\r\n"\r
-" return false;\r\n"\r
-" #else\r\n"\r
-" if (numChannels != 1 && numChannels != 2)\r\n"\r
+" #if JucePlugin_IsMidiEffect\r\n"\r
+" ignoreUnused (layouts);\r\n"\r
+" return true;\r\n"\r
+" #else\r\n"\r
+" // This is the place where you check if the layout is supported.\r\n"\r
+" // In this template code we only support mono or stereo.\r\n"\r
+" if (layouts.getMainOutputChannelSet() != AudioChannelSet::mono()\r\n"\r
+" && layouts.getMainOutputChannelSet() != AudioChannelSet::stereo())\r\n"\r
" return false;\r\n"\r
"\r\n"\r
-" if (! AudioProcessor::setPreferredBusArrangement (! isInput, bus, preferredSet))\r\n"\r
+" // This checks if the input layout matches the output layout\r\n"\r
+" #if ! JucePlugin_IsSynth\r\n"\r
+" if (layouts.getMainOutputChannelSet() != layouts.getMainInputChannelSet())\r\n"\r
" return false;\r\n"\r
" #endif\r\n"\r
"\r\n"\r
-" return AudioProcessor::setPreferredBusArrangement (isInput, bus, preferredSet);\r\n"\r
+" return true;\r\n"\r
+" #endif\r\n"\r
"}\r\n"\r
"#endif\r\n"\r
"\r\n"\r
" return new FILTERCLASSNAME();\r\n"\r
"}\r\n";\r
\r
-const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_4;\r
+const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_8;\r
\r
//================== jucer_AudioPluginFilterTemplate.h ==================\r
-static const unsigned char temp_binary_data_5[] =\r
+static const unsigned char temp_binary_data_9[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
" void releaseResources() override;\r\n"\r
"\r\n"\r
" #ifndef JucePlugin_PreferredChannelConfigurations\r\n"\r
-" bool setPreferredBusArrangement (bool isInput, int bus, const AudioChannelSet& preferredSet) override;\r\n"\r
+" bool isBusesLayoutSupported (const BusesLayout& layouts) const override;\r\n"\r
" #endif\r\n"\r
"\r\n"\r
" void processBlock (AudioSampleBuffer&, MidiBuffer&) override;\r\n"\r
"\r\n"\r
"#endif // HEADERGUARD\r\n";\r
\r
-const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_5;\r
+const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_9;\r
\r
//================== jucer_ComponentTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_6[] =\r
+static const unsigned char temp_binary_data_10[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"//[EndFile] You can add extra defines here...\r\n"\r
"//[/EndFile]\r\n";\r
\r
-const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_6;\r
+const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_10;\r
\r
//================== jucer_ComponentTemplate.h ==================\r
-static const unsigned char temp_binary_data_7[] =\r
+static const unsigned char temp_binary_data_11[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // %%headerGuard%%\r\n";\r
\r
-const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_7;\r
+const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_11;\r
\r
//================== jucer_ContentCompTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_8[] =\r
+static const unsigned char temp_binary_data_12[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
" // update their positions.\r\n"\r
"}\r\n";\r
\r
-const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_8;\r
+const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_12;\r
\r
//================== jucer_ContentCompTemplate.h ==================\r
-static const unsigned char temp_binary_data_9[] =\r
+static const unsigned char temp_binary_data_13[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // HEADERGUARD\r\n";\r
\r
-const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_9;\r
+const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_13;\r
\r
//================== jucer_InlineComponentTemplate.h ==================\r
-static const unsigned char temp_binary_data_10[] =\r
+static const unsigned char temp_binary_data_14[] =\r
"//==============================================================================\r\n"\r
"class COMPONENTCLASS : public Component\r\n"\r
"{\r\n"\r
" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n"\r
"};\r\n";\r
\r
-const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_10;\r
+const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_14;\r
\r
//================== jucer_MainConsoleAppTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_11[] =\r
+static const unsigned char temp_binary_data_15[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
" return 0;\r\n"\r
"}\r\n";\r
\r
-const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_11;\r
+const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_15;\r
\r
//================== jucer_MainTemplate_NoWindow.cpp ==================\r
-static const unsigned char temp_binary_data_12[] =\r
+static const unsigned char temp_binary_data_16[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"// This macro generates the main() routine that launches the app.\r\n"\r
"START_JUCE_APPLICATION (APPCLASSNAME)\r\n";\r
\r
-const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_12;\r
+const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_16;\r
\r
//================== jucer_MainTemplate_SimpleWindow.cpp ==================\r
-static const unsigned char temp_binary_data_13[] =\r
+static const unsigned char temp_binary_data_17[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"// This macro generates the main() routine that launches the app.\r\n"\r
"START_JUCE_APPLICATION (APPCLASSNAME)\r\n";\r
\r
-const char* jucer_MainTemplate_SimpleWindow_cpp = (const char*) temp_binary_data_13;\r
+const char* jucer_MainTemplate_SimpleWindow_cpp = (const char*) temp_binary_data_17;\r
\r
//================== jucer_MainTemplate_Window.cpp ==================\r
-static const unsigned char temp_binary_data_14[] =\r
+static const unsigned char temp_binary_data_18[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"// This macro generates the main() routine that launches the app.\r\n"\r
"START_JUCE_APPLICATION (APPCLASSNAME)\r\n";\r
\r
-const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_14;\r
+const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_18;\r
\r
//================== jucer_NewComponentTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_15[] =\r
+static const unsigned char temp_binary_data_19[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"}\r\n";\r
\r
-const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_15;\r
+const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_19;\r
\r
//================== jucer_NewComponentTemplate.h ==================\r
-static const unsigned char temp_binary_data_16[] =\r
+static const unsigned char temp_binary_data_20[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // HEADERGUARD\r\n";\r
\r
-const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_16;\r
+const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_20;\r
\r
//================== jucer_NewCppFileTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_17[] =\r
+static const unsigned char temp_binary_data_21[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"INCLUDE_CORRESPONDING_HEADER\r\n";\r
\r
-const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_17;\r
+const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_21;\r
\r
//================== jucer_NewCppFileTemplate.h ==================\r
-static const unsigned char temp_binary_data_18[] =\r
+static const unsigned char temp_binary_data_22[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // HEADERGUARD\r\n";\r
\r
-const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_18;\r
+const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_22;\r
\r
//================== jucer_NewInlineComponentTemplate.h ==================\r
-static const unsigned char temp_binary_data_19[] =\r
+static const unsigned char temp_binary_data_23[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // HEADERGUARD\r\n";\r
\r
-const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_19;\r
+const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_23;\r
\r
//================== jucer_OpenGLComponentTemplate.cpp ==================\r
-static const unsigned char temp_binary_data_20[] =\r
+static const unsigned char temp_binary_data_24[] =\r
"/*\r\n"\r
" ==============================================================================\r\n"\r
"\r\n"\r
"\r\n"\r
"#endif // MAINCOMPONENT_H_INCLUDED\r\n";\r
\r
-const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_20;\r
+const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_24;\r
\r
//================== background_logo.svg ==================\r
-static const unsigned char temp_binary_data_21[] =\r
+static const unsigned char temp_binary_data_25[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n"\r
"\t viewBox=\"0 0 451.7 451.7\" enable-background=\"new 0 0 451.7 451.7\" xml:space=\"preserve\">\r\n"\r
"</g>\r\n"\r
"</svg>\r\n";\r
\r
-const char* background_logo_svg = (const char*) temp_binary_data_21;\r
+const char* background_logo_svg = (const char*) temp_binary_data_25;\r
\r
//================== background_tile.png ==================\r
-static const unsigned char temp_binary_data_22[] =\r
+static const unsigned char temp_binary_data_26[] =\r
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,7,0,0,0,7,8,6,0,0,0,196,82,87,211,0,0,0,94,73,68,65,84,120,218,85,141,73,14,0,33,8,4,253,137,226,18,19,245,234,255,127,70,75,155,232,56,135,10,132,94,112,33,4,37,222,123,205,57,107,74,105,239,196,137,\r
8,72,239,29,99,12,204,57,209,90,227,237,19,45,113,161,209,12,234,172,18,49,70,88,229,134,34,103,173,245,159,60,134,82,10,238,79,166,223,106,238,91,100,229,73,191,80,92,47,179,68,223,148,158,98,226,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };\r
\r
-const char* background_tile_png = (const char*) temp_binary_data_22;\r
+const char* background_tile_png = (const char*) temp_binary_data_26;\r
\r
//================== colourscheme_dark.xml ==================\r
-static const unsigned char temp_binary_data_23[] =\r
+static const unsigned char temp_binary_data_27[] =\r
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"\r
"\r\n"\r
"<COLOUR_SCHEME font=\"<Monospaced>; 13.0\">\r\n"\r
" <COLOUR name=\"Error\" colour=\"FFE60000\"/>\r\n"\r
"</COLOUR_SCHEME>\r\n";\r
\r
-const char* colourscheme_dark_xml = (const char*) temp_binary_data_23;\r
+const char* colourscheme_dark_xml = (const char*) temp_binary_data_27;\r
\r
//================== colourscheme_light.xml ==================\r
-static const unsigned char temp_binary_data_24[] =\r
+static const unsigned char temp_binary_data_28[] =\r
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"\r
"\r\n"\r
"<COLOUR_SCHEME font=\"<Monospaced>; 13.0\">\r\n"\r
" <COLOUR name=\"Error\" colour=\"ffcc0000\"/>\r\n"\r
"</COLOUR_SCHEME>\r\n";\r
\r
-const char* colourscheme_light_xml = (const char*) temp_binary_data_24;\r
+const char* colourscheme_light_xml = (const char*) temp_binary_data_28;\r
\r
//================== juce_icon.png ==================\r
-static const unsigned char temp_binary_data_25[] =\r
+static const unsigned char temp_binary_data_29[] =\r
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,2,0,0,0,2,0,8,6,0,0,0,244,120,212,250,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58,\r
99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120,\r
58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,54,55,32,55,57,46,49,53,55,\r
0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,128,0,0,0,4,0,0,32,0,0,0,1,0,0,8,0,0,64,0,0,0,2,0,0,16,0,0,128,0,0,0,4,0,0,32,0,0,128,191,246,33,192,0,100,235,173,153,70,62,64,\r
37,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };\r
\r
-const char* juce_icon_png = (const char*) temp_binary_data_25;\r
+const char* juce_icon_png = (const char*) temp_binary_data_29;\r
\r
//================== projectIconAndroid.png ==================\r
-static const unsigned char temp_binary_data_26[] =\r
+static const unsigned char temp_binary_data_30[] =\r
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76,\r
58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,\r
120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,\r
139,240,165,4,64,57,166,132,157,54,246,220,165,230,39,27,156,211,4,232,176,247,44,193,125,203,174,137,229,132,198,114,231,150,74,124,238,9,19,9,244,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,189,235,246,255,2,12,0,158,\r
137,39,54,252,6,9,64,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };\r
\r
-const char* projectIconAndroid_png = (const char*) temp_binary_data_26;\r
+const char* projectIconAndroid_png = (const char*) temp_binary_data_30;\r
\r
//================== projectIconCodeblocks.png ==================\r
-static const unsigned char temp_binary_data_27[] =\r
+static const unsigned char temp_binary_data_31[] =\r
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76,\r
58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,\r
120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,\r
202,84,15,91,2,120,13,161,41,237,191,111,130,252,4,17,176,224,208,111,140,253,56,221,147,207,16,11,238,233,234,37,192,250,248,241,59,248,122,10,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,\r
62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,126,28,143,255,39,192,0,238,147,31,89,162,25,31,21,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };\r
\r
-const char* projectIconCodeblocks_png = (const char*) temp_binary_data_27;\r
+const char* projectIconCodeblocks_png = (const char*) temp_binary_data_31;\r
\r
//================== projectIconLinuxMakefile.png ==================\r
-static const unsigned char temp_binary_data_28[] =\r
+static const unsigned char temp_binary_data_32[] =\r
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,110,0,0,0,128,8,6,0,0,0,234,21,92,9,0,0,10,65,105,67,67,80,73,67,67,32,80,114,111,102,105,108,101,0,0,72,13,157,150,119,84,83,217,22,135,207,189,55,189,208,18,34,32,37,244,26,122,9,32,210,59,72,21,4,\r
81,137,73,128,80,2,134,132,38,118,68,5,70,20,17,41,86,100,84,192,1,71,135,34,99,69,20,11,131,130,98,215,9,242,16,80,198,193,81,68,69,229,221,140,107,9,239,173,53,243,222,154,253,199,89,223,217,231,183,215,217,103,239,125,215,186,0,80,252,130,4,194,116,\r
88,1,128,52,161,88,20,238,235,193,92,18,19,203,196,247,2,24,16,1,14,88,1,192,225,102,102,4,71,248,68,2,212,252,189,61,153,153,168,72,198,179,246,238,46,128,100,187,219,44,191,80,38,115,214,255,127,145,34,55,67,36,6,0,10,69,213,54,60,126,38,23,229,2,148,\r
194,72,142,254,249,31,79,111,60,173,241,241,124,82,34,189,246,233,251,163,179,223,129,178,15,181,97,103,68,217,251,253,17,198,63,35,254,218,150,109,129,235,236,183,141,63,16,97,60,125,157,93,199,211,219,217,245,128,211,250,223,12,238,70,210,82,169,25,\r
10,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };\r
\r
-const char* projectIconLinuxMakefile_png = (const char*) temp_binary_data_28;\r
+const char* projectIconLinuxMakefile_png = (const char*) temp_binary_data_32;\r
\r
//================== projectIconVisualStudio.png ==================\r
-static const unsigned char temp_binary_data_29[] =\r
+static const unsigned char temp_binary_data_33[] =\r
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,1,115,82,71,66,0,174,206,28,233,0,0,4,166,105,84,88,116,88,77,76,58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,120,58,120,109,112,109,101,\r
116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,88,77,80,32,67,111,114,101,32,53,46,52,46,48,34,62,10,32,32,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,\r
100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,10,32,32,32,32,32,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,\r
60,9,167,156,184,49,164,154,223,25,2,227,183,193,73,245,49,24,79,213,175,147,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,128,166,192,129,64,\r
129,255,7,47,12,150,8,60,209,161,194,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };\r
\r
-const char* projectIconVisualStudio_png = (const char*) temp_binary_data_29;\r
+const char* projectIconVisualStudio_png = (const char*) temp_binary_data_33;\r
\r
//================== projectIconXcode.png ==================\r
-static const unsigned char temp_binary_data_30[] =\r
+static const unsigned char temp_binary_data_34[] =\r
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58,\r
99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120,\r
58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,54,\r
94,156,0,232,23,120,134,102,179,249,235,17,128,9,19,38,192,59,223,249,206,152,182,172,169,75,67,169,119,178,110,237,223,246,242,196,143,188,48,28,50,88,157,63,127,254,175,124,82,161,71,186,231,200,203,63,99,234,231,229,216,252,127,248,207,255,19,96,0,\r
221,83,18,25,240,8,112,38,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };\r
\r
-const char* projectIconXcode_png = (const char*) temp_binary_data_30;\r
+const char* projectIconXcode_png = (const char*) temp_binary_data_34;\r
\r
//================== projectIconXcodeIOS.png ==================\r
-static const unsigned char temp_binary_data_31[] =\r
+static const unsigned char temp_binary_data_35[] =\r
{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76,\r
58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,\r
120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,\r
4,97,9,162,191,203,0,199,198,0,162,157,87,213,105,220,35,12,64,131,146,62,249,201,79,186,117,103,130,86,133,76,84,14,16,185,67,123,223,37,252,241,103,134,146,206,234,228,201,147,143,250,164,172,171,29,174,239,254,252,101,253,188,235,155,255,31,255,249,\r
255,2,12,0,235,154,52,248,249,240,115,28,0,0,0,0,73,69,78,68,174,66,96,130,0,0 };\r
\r
-const char* projectIconXcodeIOS_png = (const char*) temp_binary_data_31;\r
+const char* projectIconXcodeIOS_png = (const char*) temp_binary_data_35;\r
\r
//================== projucer_EULA.txt ==================\r
-static const unsigned char temp_binary_data_32[] =\r
+static const unsigned char temp_binary_data_36[] =\r
"\r\n"\r
"IMPORTANT NOTICE: PLEASE READ CAREFULLY BEFORE INSTALLING THE SOFTWARE:\r\n"\r
"\r\n"\r
"9. Data\r\n"\r
"\r\n"\r
"9.1. We may collect and process information about your use of or Software through the Software, some of which may amount to your personal data. Personal data will be collected and processed in accordance with our Privacy Policy which can be reviewed "\r
-"at [INSERT LINK TO PRIVACY POLICY]. \r\n"\r
+"at https://www.juce.com/privacy-policy. \r\n"\r
"\r\n"\r
"10. Other important terms\r\n"\r
"\r\n"\r
"\r\n"\r
"10.6. Please note that this Licence, its subject matter and its formation, are governed by English law. You and we both agree to that the courts of England and Wales will have exclusive jurisdiction. \r\n";\r
\r
-const char* projucer_EULA_txt = (const char*) temp_binary_data_32;\r
+const char* projucer_EULA_txt = (const char*) temp_binary_data_36;\r
\r
//================== projucer_login_bg.svg ==================\r
-static const unsigned char temp_binary_data_33[] =\r
+static const unsigned char temp_binary_data_37[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\r\n"\r
"\tc7.6,0,12,4.8,12,11c0,5.4-4,9.8-9,10l13,15.5H343.9z\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* projucer_login_bg_svg = (const char*) temp_binary_data_33;\r
+const char* projucer_login_bg_svg = (const char*) temp_binary_data_37;\r
\r
//================== RecentFilesMenuTemplate.nib ==================\r
-static const unsigned char temp_binary_data_34[] =\r
+static const unsigned char temp_binary_data_38[] =\r
{ 98,112,108,105,115,116,48,48,212,0,1,0,2,0,3,0,4,0,5,0,6,1,53,1,54,88,36,118,101,114,115,105,111,110,88,36,111,98,106,101,99,116,115,89,36,97,114,99,104,105,118,101,114,84,36,116,111,112,18,0,1,134,160,175,16,74,0,7,0,8,0,31,0,35,0,36,0,42,0,46,0,50,\r
0,53,0,57,0,74,0,77,0,78,0,86,0,87,0,97,0,112,0,113,0,114,0,119,0,120,0,121,0,124,0,128,0,129,0,132,0,143,0,144,0,145,0,149,0,153,0,162,0,163,0,164,0,169,0,173,0,180,0,181,0,182,0,185,0,192,0,193,0,200,0,201,0,208,0,209,0,216,0,217,0,224,0,225,0,226,\r
0,229,0,230,0,232,0,249,1,11,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,47,1,50,85,36,110,117,108,108,219,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,\r
7,157,7,159,7,161,7,163,7,165,7,167,7,169,7,171,7,173,7,175,7,177,7,179,7,181,7,190,7,192,7,225,7,227,7,229,7,231,7,233,7,235,7,237,7,239,7,241,7,243,7,245,7,247,7,249,7,251,7,253,7,255,8,2,8,5,8,8,8,11,8,14,8,17,8,20,8,23,8,26,8,29,8,32,8,35,8,38,8,\r
41,8,44,8,53,8,55,8,56,8,65,8,67,8,68,8,77,8,92,8,97,8,115,8,120,8,134,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,136,0,0 };\r
\r
-const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_34;\r
+const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_38;\r
\r
//================== wizard_AnimatedApp.svg ==================\r
-static const unsigned char temp_binary_data_35[] =\r
+static const unsigned char temp_binary_data_39[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"<line opacity=\"0.7\" fill=\"none\" stroke=\"#F29100\" stroke-width=\"1.3469\" stroke-miterlimit=\"10\" x1=\"57.7\" y1=\"48.4\" x2=\"34.2\" y2=\"48.4\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_35;\r
+const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_39;\r
\r
//================== wizard_AudioApp.svg ==================\r
-static const unsigned char temp_binary_data_36[] =\r
+static const unsigned char temp_binary_data_40[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"<line fill=\"none\" stroke=\"#F29300\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-miterlimit=\"10\" x1=\"118.8\" y1=\"43.8\" x2=\"118.8\" y2=\"44.5\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_AudioApp_svg = (const char*) temp_binary_data_36;\r
+const char* wizard_AudioApp_svg = (const char*) temp_binary_data_40;\r
\r
//================== wizard_AudioPlugin.svg ==================\r
-static const unsigned char temp_binary_data_37[] =\r
+static const unsigned char temp_binary_data_41[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"</g>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_37;\r
+const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_41;\r
\r
//================== wizard_ConsoleApp.svg ==================\r
-static const unsigned char temp_binary_data_38[] =\r
+static const unsigned char temp_binary_data_42[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"</g>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_38;\r
+const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_42;\r
\r
//================== wizard_DLL.svg ==================\r
-static const unsigned char temp_binary_data_39[] =\r
+static const unsigned char temp_binary_data_43[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"\tl-7.7,5.3c-0.7,0.5-1.7,0.3-2.2-0.4L70.1,31\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_DLL_svg = (const char*) temp_binary_data_39;\r
+const char* wizard_DLL_svg = (const char*) temp_binary_data_43;\r
\r
//================== wizard_GUI.svg ==================\r
-static const unsigned char temp_binary_data_40[] =\r
+static const unsigned char temp_binary_data_44[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"\tC0,3.1,3.1,0,6.9,0H130c3.8,0,6.9,3.1,6.9,6.9v101.1C136.9,111.7,133.9,114.8,130,114.8z\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_GUI_svg = (const char*) temp_binary_data_40;\r
+const char* wizard_GUI_svg = (const char*) temp_binary_data_44;\r
\r
//================== wizard_Highlight.svg ==================\r
-static const unsigned char temp_binary_data_41[] =\r
+static const unsigned char temp_binary_data_45[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"\tV108C136.9,111.8,133.9,114.8,130.1,114.8z\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_Highlight_svg = (const char*) temp_binary_data_41;\r
+const char* wizard_Highlight_svg = (const char*) temp_binary_data_45;\r
\r
//================== wizard_Openfile.svg ==================\r
-static const unsigned char temp_binary_data_42[] =\r
+static const unsigned char temp_binary_data_46[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"\tc0-3.8,3.1-6.9,6.9-6.9h151.5c3.8,0,6.9,3.1,6.9,6.9v20.9C171.6,68.3,168.5,71.4,164.7,71.4z\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_Openfile_svg = (const char*) temp_binary_data_42;\r
+const char* wizard_Openfile_svg = (const char*) temp_binary_data_46;\r
\r
//================== wizard_OpenGL.svg ==================\r
-static const unsigned char temp_binary_data_43[] =\r
+static const unsigned char temp_binary_data_47[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"\ts-13.4-19.6-6.9-30\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_OpenGL_svg = (const char*) temp_binary_data_43;\r
+const char* wizard_OpenGL_svg = (const char*) temp_binary_data_47;\r
\r
//================== wizard_StaticLibrary.svg ==================\r
-static const unsigned char temp_binary_data_44[] =\r
+static const unsigned char temp_binary_data_48[] =\r
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n"\r
"<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\r\n"\r
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n"\r
"\tc-1,0-1.8-0.8-1.8-1.8V20.8\"/>\r\n"\r
"</svg>\r\n";\r
\r
-const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_44;\r
+const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_48;\r
\r
\r
const char* getNamedResource (const char*, int&) throw();\r
\r
switch (hash)\r
{\r
+ case 0x4d6bedc8: numBytes = 53636; return gradlewrapper_jar;\r
+ case 0x10b04d10: numBytes = 4971; return gradlew;\r
+ case 0x76cff066: numBytes = 2404; return gradlew_bat;\r
+ case 0x34bc1021: numBytes = 11325; return LICENSE;\r
case 0x6cf2645e: numBytes = 1949; return jucer_AnimatedComponentTemplate_cpp;\r
case 0xafccbd3f: numBytes = 3203; return jucer_AudioComponentTemplate_cpp;\r
case 0x27c5a93a: numBytes = 1162; return jucer_AudioPluginEditorTemplate_cpp;\r
case 0x4d0721bf: numBytes = 994; return jucer_AudioPluginEditorTemplate_h;\r
- case 0x51b49ac5: numBytes = 5047; return jucer_AudioPluginFilterTemplate_cpp;\r
- case 0x488afa0a: numBytes = 2289; return jucer_AudioPluginFilterTemplate_h;\r
+ case 0x51b49ac5: numBytes = 5475; return jucer_AudioPluginFilterTemplate_cpp;\r
+ case 0x488afa0a: numBytes = 2259; return jucer_AudioPluginFilterTemplate_h;\r
case 0xabad7041: numBytes = 2151; return jucer_ComponentTemplate_cpp;\r
case 0xfc72fe86: numBytes = 2131; return jucer_ComponentTemplate_h;\r
case 0x0b66646c: numBytes = 886; return jucer_ContentCompTemplate_cpp;\r
case 0x20236af2: numBytes = 7194; return projectIconVisualStudio_png;\r
case 0xecc12a3d: numBytes = 18281; return projectIconXcode_png;\r
case 0x9d3ae124: numBytes = 18111; return projectIconXcodeIOS_png;\r
- case 0xd6bb7d1d: numBytes = 14390; return projucer_EULA_txt;\r
+ case 0xd6bb7d1d: numBytes = 14394; return projucer_EULA_txt;\r
case 0xb7422947: numBytes = 5046; return projucer_login_bg_svg;\r
case 0xa41e649d: numBytes = 2842; return RecentFilesMenuTemplate_nib;\r
case 0x1f3b6d2f: numBytes = 2963; return wizard_AnimatedApp_svg;\r
\r
const char* namedResourceList[] =\r
{\r
+ "gradlewrapper_jar",\r
+ "gradlew",\r
+ "gradlew_bat",\r
+ "LICENSE",\r
"jucer_AnimatedComponentTemplate_cpp",\r
"jucer_AudioComponentTemplate_cpp",\r
"jucer_AudioPluginEditorTemplate_cpp",\r
\r
namespace BinaryData\r
{\r
+ extern const char* gradlewrapper_jar;\r
+ const int gradlewrapper_jarSize = 53636;\r
+\r
+ extern const char* gradlew;\r
+ const int gradlewSize = 4971;\r
+\r
+ extern const char* gradlew_bat;\r
+ const int gradlew_batSize = 2404;\r
+\r
+ extern const char* LICENSE;\r
+ const int LICENSESize = 11325;\r
+\r
extern const char* jucer_AnimatedComponentTemplate_cpp;\r
const int jucer_AnimatedComponentTemplate_cppSize = 1949;\r
\r
const int jucer_AudioPluginEditorTemplate_hSize = 994;\r
\r
extern const char* jucer_AudioPluginFilterTemplate_cpp;\r
- const int jucer_AudioPluginFilterTemplate_cppSize = 5047;\r
+ const int jucer_AudioPluginFilterTemplate_cppSize = 5475;\r
\r
extern const char* jucer_AudioPluginFilterTemplate_h;\r
- const int jucer_AudioPluginFilterTemplate_hSize = 2289;\r
+ const int jucer_AudioPluginFilterTemplate_hSize = 2259;\r
\r
extern const char* jucer_ComponentTemplate_cpp;\r
const int jucer_ComponentTemplate_cppSize = 2151;\r
const int projectIconXcodeIOS_pngSize = 18111;\r
\r
extern const char* projucer_EULA_txt;\r
- const int projucer_EULA_txtSize = 14390;\r
+ const int projucer_EULA_txtSize = 14394;\r
\r
extern const char* projucer_login_bg_svg;\r
const int projucer_login_bg_svgSize = 5046;\r
extern const char* namedResourceList[];\r
\r
// Number of elements in the namedResourceList array.\r
- const int namedResourceListSize = 45;\r
+ const int namedResourceListSize = 49;\r
\r
// If you provide the name of one of the binary resource variables above, this function will\r
// return the corresponding data and its size (or a null pointer if the name isn't found).\r
namespace ProjectInfo\r
{\r
const char* const projectName = "Projucer";\r
- const char* const versionString = "4.2.4";\r
- const int versionNumber = 0x40204;\r
+ const char* const versionString = "4.3.0";\r
+ const int versionNumber = 0x40300;\r
}\r
#endif\r
\r
<?xml version="1.0" encoding="UTF-8"?>\r
\r
<JUCERPROJECT id="M70qfTRRk" name="Projucer" projectType="guiapp" juceFolder="../../juce"\r
- jucerVersion="4.2.4" version="4.2.4" bundleIdentifier="com.juce.theprojucer"\r
+ jucerVersion="4.3.0" version="4.3.0" bundleIdentifier="com.juce.theprojucer"\r
defines="" includeBinaryInAppConfig="1">\r
<EXPORTFORMATS>\r
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK"\r
resource="0" file="Source/Application/jucer_DocumentEditorComponent.cpp"/>\r
<FILE id="prPBQg" name="jucer_DocumentEditorComponent.h" compile="0"\r
resource="0" file="Source/Application/jucer_DocumentEditorComponent.h"/>\r
+ <FILE id="TkXpt2" name="jucer_DownloadCompileEngineThread.cpp" compile="1"\r
+ resource="0" file="Source/Application/jucer_DownloadCompileEngineThread.cpp"/>\r
+ <FILE id="J37kAi" name="jucer_DownloadCompileEngineThread.h" compile="0"\r
+ resource="0" file="Source/Application/jucer_DownloadCompileEngineThread.h"/>\r
<FILE id="Sm7ufE" name="jucer_EulaDialogue.h" compile="0" resource="0"\r
file="Source/Application/jucer_EulaDialogue.h"/>\r
<FILE id="eo4r70" name="jucer_FilePreviewComponent.h" compile="0" resource="0"\r
file="Source/Project/jucer_TreeItemTypes.h"/>\r
</GROUP>\r
<GROUP id="{28174A5F-D7AD-7240-6104-135D5D2DDB3C}" name="Project Saving">\r
- <FILE id="DNX8ur" name="jucer_ProjectExport_AndroidAnt.h" compile="0"\r
+ <FILE id="rJVyvQ" name="jucer_ProjectExport_AndroidAnt.h" compile="0"\r
resource="0" file="Source/Project Saving/jucer_ProjectExport_AndroidAnt.h"/>\r
<FILE id="nB4AaL" name="jucer_ProjectExport_AndroidBase.h" compile="0"\r
resource="0" file="Source/Project Saving/jucer_ProjectExport_AndroidBase.h"/>\r
- <FILE id="lPQ16m" name="jucer_ProjectExport_AndroidStudio.h" compile="0"\r
+ <FILE id="eDGR9w" name="jucer_ProjectExport_AndroidStudio.h" compile="0"\r
resource="0" file="Source/Project Saving/jucer_ProjectExport_AndroidStudio.h"/>\r
<FILE id="lYuOMq" name="jucer_ProjectExport_CodeBlocks.h" compile="0"\r
resource="0" file="Source/Project Saving/jucer_ProjectExport_CodeBlocks.h"/>\r
resource="0" file="Source/Wizards/jucer_TemplateThumbnailsComponent.h"/>\r
</GROUP>\r
<GROUP id="{D4241EC8-2982-DB90-D1BE-72E57B735268}" name="BinaryData">\r
+ <GROUP id="{43550888-4716-639C-A179-DDB7011AED08}" name="gradle">\r
+ <FILE id="ns7TQR" name="gradle-wrapper.jar" compile="0" resource="1"\r
+ file="Source/BinaryData/gradle/gradle-wrapper.jar"/>\r
+ <FILE id="NbmM2l" name="gradlew" compile="0" resource="1" file="Source/BinaryData/gradle/gradlew"/>\r
+ <FILE id="Z24qJj" name="gradlew.bat" compile="0" resource="1" file="Source/BinaryData/gradle/gradlew.bat"/>\r
+ <FILE id="lDwfs7" name="LICENSE" compile="0" resource="1" file="Source/BinaryData/gradle/LICENSE"/>\r
+ </GROUP>\r
<GROUP id="{8064F10D-D9BC-1C24-B322-A339C00D0B25}" name="templates">\r
<FILE id="EfZy6b" name="jucer_AnimatedComponentTemplate.cpp" compile="0"\r
resource="1" file="Source/BinaryData/jucer_AnimatedComponentTemplate.cpp"/>\r
initialiseWindows (getCommandLineParameters());\r
\r
#if JUCE_MAC\r
- MenuBarModel::setMacMainMenu (menuModel, nullptr, "Open Recent");\r
+ PopupMenu extraAppleMenuItems;\r
+ createExtraAppleMenuItems (extraAppleMenuItems);\r
+\r
+ // workaround broken "Open Recent" submenu: not passing the\r
+ // submenu's title here avoids the defect in JuceMainMenuHandler::addMenuItem\r
+ MenuBarModel::setMacMainMenu (menuModel, &extraAppleMenuItems); //, "Open Recent");\r
#endif\r
\r
versionChecker = new LatestVersionChecker();\r
menu.addSeparator();\r
menu.addCommandItem (commandManager, CommandIDs::openInIDE);\r
menu.addCommandItem (commandManager, CommandIDs::saveAndOpenInIDE);\r
+ menu.addSeparator();\r
+ menu.addCommandItem (commandManager, CommandIDs::loginLogout);\r
\r
#if ! JUCE_MAC\r
+ menu.addCommandItem (commandManager, CommandIDs::showGlobalPreferences);\r
menu.addSeparator();\r
menu.addCommandItem (commandManager, StandardApplicationCommandIDs::quit);\r
#endif\r
\r
void ProjucerApplication::createToolsMenu (PopupMenu& menu)\r
{\r
- menu.addCommandItem (commandManager, CommandIDs::showGlobalPreferences);\r
- menu.addSeparator();\r
menu.addCommandItem (commandManager, CommandIDs::showUTF8Tool);\r
menu.addCommandItem (commandManager, CommandIDs::showSVGPathTool);\r
menu.addCommandItem (commandManager, CommandIDs::showTranslationTool);\r
- menu.addSeparator();\r
- menu.addCommandItem (commandManager, CommandIDs::loginLogout);\r
+}\r
+\r
+void ProjucerApplication::createExtraAppleMenuItems (PopupMenu& menu)\r
+{\r
+ menu.addCommandItem (commandManager, CommandIDs::showGlobalPreferences);\r
}\r
\r
void ProjucerApplication::handleMainMenuCommand (int menuItemID)\r
break;\r
\r
case CommandIDs::showGlobalPreferences:\r
- result.setInfo ("Global Preferences...", "Shows the global preferences window.", CommandCategories::general, 0);\r
+ result.setInfo ("Preferences...", "Shows the preferences window.", CommandCategories::general, 0);\r
+ result.defaultKeypresses.add (KeyPress (',', ModifierKeys::commandModifier, 0));\r
break;\r
\r
case CommandIDs::closeAllDocuments:\r
void createColourSchemeItems (PopupMenu&);\r
void createWindowMenu (PopupMenu&);\r
void createToolsMenu (PopupMenu&);\r
+ void createExtraAppleMenuItems (PopupMenu&);\r
void handleMainMenuCommand (int menuItemID);\r
\r
//==============================================================================\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#include "../jucer_Headers.h"\r
+#include "jucer_DownloadCompileEngineThread.h"\r
+#include "../LiveBuildEngine/projucer_CompileEngineDLL.h"\r
+\r
+bool DownloadCompileEngineThread::downloadAndInstall()\r
+{\r
+ DownloadCompileEngineThread d;\r
+\r
+ if (d.runThread())\r
+ {\r
+ if (d.result.failed())\r
+ return withError (d.result.getErrorMessage());\r
+\r
+ return true;\r
+ }\r
+\r
+ if (d.cancelledByUser)\r
+ return false;\r
+\r
+ return withError (d.result.getErrorMessage());\r
+}\r
+\r
+DownloadCompileEngineThread::DownloadCompileEngineThread()\r
+ : ThreadWithProgressWindow ("Downloading live-build engine", true, true),\r
+ result (Result::ok()), cancelledByUser (false)\r
+{\r
+}\r
+\r
+void DownloadCompileEngineThread::threadComplete (bool userPressedCancel)\r
+{\r
+ cancelledByUser = userPressedCancel;\r
+}\r
+\r
+void DownloadCompileEngineThread::run()\r
+{\r
+ setProgress (-1.0);\r
+ setStatusMessage ("Downloading...");\r
+\r
+ MemoryBlock zipData;\r
+ result = download (zipData);\r
+\r
+ if (result.failed())\r
+ return;\r
+\r
+ setStatusMessage ("Installing...");\r
+\r
+ File installFolder = getInstallFolder();\r
+ if (! installFolder.createDirectory())\r
+ {\r
+ result = Result::fail ("Install error: cannot create target directory");\r
+ return;\r
+ }\r
+\r
+ result = install (zipData, installFolder);\r
+}\r
+\r
+Result DownloadCompileEngineThread::download (MemoryBlock& dest)\r
+{\r
+ int statusCode = 302;\r
+ const int timeoutMs = 10000;\r
+ StringPairArray responseHeaders;\r
+\r
+ URL url = getDownloadUrl();\r
+ ScopedPointer<InputStream> in = url.createInputStream (false, nullptr, nullptr,\r
+ String(), timeoutMs, &responseHeaders,\r
+ &statusCode, 0);\r
+\r
+ if (in == nullptr || statusCode != 200)\r
+ return Result::fail ("Download error: cannot establish connection");\r
+\r
+ MemoryOutputStream mo (dest, true);\r
+\r
+ int64 size = in->getTotalLength();\r
+ int64 bytesReceived = -1;\r
+ String msg("Downloading... (123)");\r
+\r
+ for (int64 pos = 0; pos < size; pos += bytesReceived)\r
+ {\r
+ setStatusMessage (msg.replace ("123", File::descriptionOfSizeInBytes (pos)));\r
+\r
+ if (threadShouldExit())\r
+ return Result::fail ("Download error: operation interrupted");\r
+\r
+ bytesReceived = mo.writeFromInputStream (*in, 8192);\r
+\r
+ if (bytesReceived == 0)\r
+ return Result::fail ("Download error: lost connection");\r
+ }\r
+\r
+ return Result::ok();\r
+}\r
+\r
+Result DownloadCompileEngineThread::install (const MemoryBlock& data, File& targetFolder)\r
+{\r
+ MemoryInputStream input (data, false);\r
+ ZipFile zip (input);\r
+\r
+ if (zip.getNumEntries() == 0)\r
+ return Result::fail ("Install error: downloaded file is corrupt");\r
+\r
+ if (threadShouldExit())\r
+ return Result::fail ("Install error: operation interrupted");\r
+\r
+ return zip.uncompressTo (targetFolder);\r
+}\r
+\r
+URL DownloadCompileEngineThread::getDownloadUrl()\r
+{\r
+ String urlStub ("http://assets.roli.com/juce/JUCECompileEngine_");\r
+\r
+ #if JUCE_MAC\r
+ urlStub << "osx_";\r
+ #elif JUCE_WINDOWS\r
+ urlStub << "windows_";\r
+ #else\r
+ jassertfalse;\r
+ #endif\r
+\r
+ return urlStub + ProjectInfo::versionString + ".zip";\r
+}\r
+\r
+File DownloadCompileEngineThread::getInstallFolder()\r
+{\r
+ return CompileEngineDLL::getVersionedUserAppSupportFolder();\r
+}\r
+\r
+bool DownloadCompileEngineThread::withError(const String& msg)\r
+{\r
+ AlertWindow::showMessageBox (AlertWindow::WarningIcon,\r
+ "Download and install", msg);\r
+ return false;\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#ifndef JUCER_DOWNLOADCOMPILEENGINETHREAD_H_INCLUDED\r
+#define JUCER_DOWNLOADCOMPILEENGINETHREAD_H_INCLUDED\r
+\r
+#include "jucer_Application.h"\r
+\r
+\r
+//==============================================================================\r
+class DownloadCompileEngineThread : public ThreadWithProgressWindow\r
+{\r
+public:\r
+ static bool downloadAndInstall();\r
+\r
+protected:\r
+ void run() override;\r
+ void threadComplete (bool userPressedCancel) override;\r
+\r
+private:\r
+ DownloadCompileEngineThread();\r
+\r
+ Result download (MemoryBlock& dest);\r
+ Result install (const MemoryBlock& data, File& targetFolder);\r
+\r
+ static URL getDownloadUrl();\r
+ static File getInstallFolder();\r
+ static bool withError(const String& msg);\r
+\r
+ Result result;\r
+ bool cancelledByUser;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DownloadCompileEngineThread)\r
+};\r
+\r
+#endif // JUCER_DOWNLOADCOMPILEENGINETHREAD_H_INCLUDED\r
{\r
Identifier keyName = getKeyForPropertyComponent (textPropertyComponent);\r
\r
- Colour textColour = getAppSettings().isGlobalPathValid (keyName, textPropertyComponent->getText())\r
+ Colour textColour = getAppSettings().isGlobalPathValid (File::getCurrentWorkingDirectory(), keyName, textPropertyComponent->getText())\r
? Colours::black\r
: Colours::red;\r
\r
if (ownerPointer != nullptr)\r
ownerPointer->toFront (true);\r
else\r
- new FloatingToolWindow ("Global Preferences",\r
+ new FloatingToolWindow ("Preferences",\r
"globalPreferencesEditorPos",\r
new GlobalPreferencesComponent,\r
ownerPointer,\r
errorLabel ("Error Label", String()),\r
rememberLoginCheckbox (TRANS("Remember login")),\r
forgotPasswordButton (TRANS("Forgotten your password?"),\r
- URL (getServerURL() + "reset_password?referer=projucer")),\r
+ URL ("https://auth.roli.com/forgot-password?referer=projucer")),\r
rememberLogin (true)\r
{\r
setLookAndFeel (&lookAndFeel);\r
{\r
parentDialog->exitModalState (0);\r
ProjucerApplication::getApp().updateAllBuildTabs();\r
+\r
+ if (ProjucerLicenses::getInstance()->hasFreeToUseLicense())\r
+ {\r
+ AlertWindow::showMessageBoxAsync (AlertWindow::InfoIcon,\r
+ "Free to use license info",\r
+ "The free-to-use license expires on 31st January 2017 Midnight GMT");\r
+ }\r
}\r
}\r
\r
return isDLLPresent() && dll.projucer_hasLiveCodingLicence();\r
}\r
\r
+ bool hasFreeToUseLicense() const\r
+ {\r
+ return isDLLPresent() && dll.projucer_hasLicense ("ProjucerFreeToUse");\r
+ }\r
+\r
+ bool retryLoadDll()\r
+ {\r
+ dll.tryLoadDll();\r
+ return dll.isLoaded();\r
+ }\r
+\r
private:\r
CompileEngineDLL dll;\r
LoginCallback* userCallback = nullptr;\r
--- /dev/null
+Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
--- /dev/null
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
--- /dev/null
+@if "%DEBUG%" == "" @echo off\r
+@rem ##########################################################################\r
+@rem\r
+@rem Gradle startup script for Windows\r
+@rem\r
+@rem ##########################################################################\r
+\r
+@rem Set local scope for the variables with windows NT shell\r
+if "%OS%"=="Windows_NT" setlocal\r
+\r
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\r
+set DEFAULT_JVM_OPTS=\r
+\r
+set DIRNAME=%~dp0\r
+if "%DIRNAME%" == "" set DIRNAME=.\r
+set APP_BASE_NAME=%~n0\r
+set APP_HOME=%DIRNAME%\r
+\r
+@rem Find java.exe\r
+if defined JAVA_HOME goto findJavaFromJavaHome\r
+\r
+set JAVA_EXE=java.exe\r
+%JAVA_EXE% -version >NUL 2>&1\r
+if "%ERRORLEVEL%" == "0" goto init\r
+\r
+echo.\r
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\r
+echo.\r
+echo Please set the JAVA_HOME variable in your environment to match the\r
+echo location of your Java installation.\r
+\r
+goto fail\r
+\r
+:findJavaFromJavaHome\r
+set JAVA_HOME=%JAVA_HOME:"=%\r
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe\r
+\r
+if exist "%JAVA_EXE%" goto init\r
+\r
+echo.\r
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\r
+echo.\r
+echo Please set the JAVA_HOME variable in your environment to match the\r
+echo location of your Java installation.\r
+\r
+goto fail\r
+\r
+:init\r
+@rem Get command-line arguments, handling Windowz variants\r
+\r
+if not "%OS%" == "Windows_NT" goto win9xME_args\r
+if "%@eval[2+2]" == "4" goto 4NT_args\r
+\r
+:win9xME_args\r
+@rem Slurp the command line arguments.\r
+set CMD_LINE_ARGS=\r
+set _SKIP=2\r
+\r
+:win9xME_args_slurp\r
+if "x%~1" == "x" goto execute\r
+\r
+set CMD_LINE_ARGS=%*\r
+goto execute\r
+\r
+:4NT_args\r
+@rem Get arguments from the 4NT Shell from JP Software\r
+set CMD_LINE_ARGS=%$\r
+\r
+:execute\r
+@rem Setup the command line\r
+\r
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar\r
+\r
+@rem Execute Gradle\r
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\r
+\r
+:end\r
+@rem End local scope for the variables with windows NT shell\r
+if "%ERRORLEVEL%"=="0" goto mainEnd\r
+\r
+:fail\r
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\r
+rem the _cmd.exe /c_ return code!\r
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1\r
+exit /b 1\r
+\r
+:mainEnd\r
+if "%OS%"=="Windows_NT" endlocal\r
+\r
+:omega\r
\r
//==============================================================================\r
FILTERCLASSNAME::FILTERCLASSNAME()\r
+#ifndef JucePlugin_PreferredChannelConfigurations\r
+ : AudioProcessor (BusesProperties()\r
+ #if ! JucePlugin_IsMidiEffect\r
+ #if ! JucePlugin_IsSynth\r
+ .withInput ("Input", AudioChannelSet::stereo(), true)\r
+ #endif\r
+ .withOutput ("Output", AudioChannelSet::stereo(), true)\r
+ #endif\r
+ )\r
+#endif\r
{\r
}\r
\r
}\r
\r
#ifndef JucePlugin_PreferredChannelConfigurations\r
-bool FILTERCLASSNAME::setPreferredBusArrangement (bool isInput, int bus, const AudioChannelSet& preferredSet)\r
+bool FILTERCLASSNAME::isBusesLayoutSupported (const BusesLayout& layouts) const\r
{\r
- // Reject any bus arrangements that are not compatible with your plugin\r
-\r
- const int numChannels = preferredSet.size();\r
-\r
- #if JucePlugin_IsMidiEffect\r
- if (numChannels != 0)\r
- return false;\r
- #elif JucePlugin_IsSynth\r
- if (isInput || (numChannels != 1 && numChannels != 2))\r
- return false;\r
- #else\r
- if (numChannels != 1 && numChannels != 2)\r
+ #if JucePlugin_IsMidiEffect\r
+ ignoreUnused (layouts);\r
+ return true;\r
+ #else\r
+ // This is the place where you check if the layout is supported.\r
+ // In this template code we only support mono or stereo.\r
+ if (layouts.getMainOutputChannelSet() != AudioChannelSet::mono()\r
+ && layouts.getMainOutputChannelSet() != AudioChannelSet::stereo())\r
return false;\r
\r
- if (! AudioProcessor::setPreferredBusArrangement (! isInput, bus, preferredSet))\r
+ // This checks if the input layout matches the output layout\r
+ #if ! JucePlugin_IsSynth\r
+ if (layouts.getMainOutputChannelSet() != layouts.getMainInputChannelSet())\r
return false;\r
#endif\r
\r
- return AudioProcessor::setPreferredBusArrangement (isInput, bus, preferredSet);\r
+ return true;\r
+ #endif\r
}\r
#endif\r
\r
void releaseResources() override;\r
\r
#ifndef JucePlugin_PreferredChannelConfigurations\r
- bool setPreferredBusArrangement (bool isInput, int bus, const AudioChannelSet& preferredSet) override;\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override;\r
#endif\r
\r
void processBlock (AudioSampleBuffer&, MidiBuffer&) override;\r
\r
9. Data\r
\r
-9.1. We may collect and process information about your use of or Software through the Software, some of which may amount to your personal data. Personal data will be collected and processed in accordance with our Privacy Policy which can be reviewed at [INSERT LINK TO PRIVACY POLICY]. \r
+9.1. We may collect and process information about your use of or Software through the Software, some of which may amount to your personal data. Personal data will be collected and processed in accordance with our Privacy Policy which can be reviewed at https://www.juce.com/privacy-policy. \r
\r
10. Other important terms\r
\r
{\r
public:\r
ComponentInitialisersProperty (JucerDocument& doc)\r
- : ComponentTextProperty <Component> ("Member intialisers", 2048, true, 0, doc)\r
+ : ComponentTextProperty <Component> ("Member initialisers", 16384, true, 0, doc)\r
{\r
preferredHeight = 24 * 3;\r
}\r
{\r
#if RUN_CLANG_IN_CHILD_PROCESS\r
if (childProcess.isRunning())\r
+ {\r
+ #if JUCE_DEBUG\r
killServerPolitely();\r
+ #else\r
+ // in release builds we don't want to wait\r
+ // for the server to clean up and shut down\r
+ killServerWithoutMercy();\r
+ #endif\r
+ }\r
#endif\r
}\r
\r
return process != nullptr\r
&& runningAppProcess == nullptr\r
&& activityList.getNumActivities() == 0\r
- && errorList.getNumErrors() == 0;\r
+ && errorList.getNumErrors() == 0\r
+ && project.getProjectType().isGUIApplication();\r
}\r
\r
void CompileEngineChildProcess::launchApp()\r
{\r
CompileEngineDLL()\r
{\r
- File f = findDLLFile();\r
-\r
- if (f != File() && dll.open (f.getLinkedTarget().getFullPathName()))\r
- {\r
- #define INIT_LIVE_DLL_FN(name, returnType, params) name = (name##_type) dll.getFunction (#name);\r
- LIVE_DLL_FUNCTIONS (INIT_LIVE_DLL_FN);\r
- #undef INIT_LIVE_DLL_FN\r
- }\r
+ tryLoadDll();\r
}\r
\r
~CompileEngineDLL()\r
shutdown();\r
}\r
\r
+ void tryLoadDll()\r
+ {\r
+ // never load the dynamic lib multiple times\r
+ if (! isLoaded())\r
+ {\r
+ File f = findDLLFile();\r
+\r
+ if (f != File() && dll.open (f.getLinkedTarget().getFullPathName()))\r
+ {\r
+ #define INIT_LIVE_DLL_FN(name, returnType, params) name = (name##_type) dll.getFunction (#name);\r
+ LIVE_DLL_FUNCTIONS (INIT_LIVE_DLL_FN);\r
+ #undef INIT_LIVE_DLL_FN\r
+ }\r
+ }\r
+ }\r
+\r
void initialise (CrashCallbackFunction crashFn, QuitCallbackFunction quitFn, bool setupSignals)\r
{\r
if (isLoaded())\r
#endif\r
}\r
\r
- static bool isDLLFile (const File& f)\r
+ static File getVersionedUserAppSupportFolder()\r
{\r
- return f.getFileName().equalsIgnoreCase (getDLLName()) && f.exists();\r
+ File userAppData (File::getSpecialLocation (File::userApplicationDataDirectory));\r
+\r
+ #if JUCE_MAC\r
+ userAppData = userAppData.getChildFile ("Application Support");\r
+ #endif\r
+\r
+ return userAppData.getChildFile (String ("Projucer-") + ProjectInfo::versionString);\r
}\r
\r
+private:\r
+ DynamicLibrary dll;\r
+\r
+ enum { requiredVersion = 1 };\r
+\r
static File findDLLFile()\r
{\r
- File appFile = File::getSpecialLocation (File::currentApplicationFile);\r
+ File dllFile;\r
\r
- #if JUCE_MAC\r
- // Look in the app bundle..\r
- for (DirectoryIterator i (appFile, true, "*", File::findFilesAndDirectories); i.next();)\r
- if (isDLLFile (i.getFile()))\r
- return i.getFile();\r
-\r
- {\r
- // Try in Application Support..\r
- File f = File ("~/Library/Application Support/Projucer").getChildFile (getDLLName());\r
- if (isDLLFile (f))\r
- return f;\r
-\r
- f = File ("/Library/Application Support/Projucer").getChildFile (getDLLName());\r
- if (isDLLFile (f))\r
- return f;\r
- }\r
+ if (tryFindDLLFileInAppFolder(dllFile))\r
+ return dllFile;\r
\r
- #elif JUCE_WINDOWS\r
- {\r
- // Look in the application folder\r
- File f = appFile.getParentDirectory().getChildFile (getDLLName());\r
- if (isDLLFile (f))\r
- return f;\r
- }\r
- #elif JUCE_LINUX\r
- // TODO?\r
- #else\r
- #error\r
+ #if JUCE_MAC\r
+ if (tryFindDLLFileInAppBundle(dllFile))\r
+ return dllFile;\r
#endif\r
\r
- {\r
- // Look for a DLL in extras/Projucer/Builds\r
- File f = appFile.getParentDirectory();\r
-\r
- for (int i = 5; --i >= 0;)\r
- {\r
- if (f.getFileName().equalsIgnoreCase ("Builds")\r
- && f.getParentDirectory().getFileName().equalsIgnoreCase ("Projucer"))\r
- {\r
- f = f.getSiblingFile (getDLLName());\r
- if (isDLLFile (f))\r
- return f;\r
+ if (tryFindDLLFileInAppConfigFolder(dllFile))\r
+ return dllFile;\r
\r
- break;\r
- }\r
+ return File();\r
+ }\r
\r
- f = f.getParentDirectory();\r
- }\r
- }\r
+ #if JUCE_MAC\r
+ static bool tryFindDLLFileInAppBundle(File &outFile)\r
+ {\r
+ File currentAppFile (File::getSpecialLocation (File::currentApplicationFile));\r
+ return tryFindDLLFileInFolder (currentAppFile.getChildFile ("Contents"), outFile);\r
+ }\r
+ #endif\r
\r
- // See if there's one in the same folder as the app...\r
- File f = appFile.getSiblingFile (getDLLName());\r
- if (isDLLFile (f))\r
- return f;\r
+ static bool tryFindDLLFileInAppFolder(File &outFile)\r
+ {\r
+ File currentAppFile (File::getSpecialLocation (File::currentApplicationFile));\r
+ return tryFindDLLFileInFolder (currentAppFile.getParentDirectory(), outFile);\r
+ }\r
\r
- // Look in some common folders as a last resort..\r
- f = File::getSpecialLocation (File::userHomeDirectory).getChildFile (getDLLName());\r
- if (isDLLFile (f))\r
- return f;\r
+ static bool tryFindDLLFileInAppConfigFolder(File &outFile)\r
+ {\r
+ File userAppDataFolder (getVersionedUserAppSupportFolder());\r
+ return tryFindDLLFileInFolder (userAppDataFolder, outFile);\r
+ }\r
\r
- f = File::getSpecialLocation (File::userDocumentsDirectory).getChildFile (getDLLName());\r
- if (isDLLFile (f))\r
- return f;\r
+ static bool tryFindDLLFileInFolder(File folder, File& outFile)\r
+ {\r
+ File file = folder.getChildFile (getDLLName());\r
+ if (isDLLFile (file))\r
+ {\r
+ outFile = file;\r
+ return true;\r
+ }\r
\r
- return File();\r
+ return false;\r
}\r
\r
-private:\r
- DynamicLibrary dll;\r
-\r
- enum { requiredVersion = 1 };\r
+ static bool isDLLFile (const File& f)\r
+ {\r
+ return f.getFileName().equalsIgnoreCase (getDLLName()) && f.exists();\r
+ }\r
\r
static void setPropertyCallback (const char* key, const char* value)\r
{\r
bool isWarning() const noexcept { return type == warning; }\r
bool isNote() const noexcept { return type == note; }\r
\r
+ String toString() const\r
+ {\r
+ // todo: copy recursively from root\r
+ String res;\r
+\r
+ switch (type)\r
+ {\r
+ case error: res << "error: "; break;\r
+ case warning: res << "warning: "; break;\r
+ case note: res << "note: "; break;\r
+ };\r
+\r
+ res << range.file << ": ";\r
+ res << message << "\n";\r
+\r
+ return res;\r
+ }\r
+\r
ValueTree toValueTree() const\r
{\r
ValueTree v (MessageTypes::DIAGNOSTIC);\r
{\r
virtual ~DiagnosticReceiver() {}\r
virtual void handleDiagnostic (const DiagnosticMessage&) = 0;\r
+ virtual void handleRecoverableErrorPCH (const DiagnosticMessage& m, String pchFileName, String sourceFileName) = 0;\r
};\r
\r
//==============================================================================\r
{\r
// after some research, it seems that notes never come on their own\r
// i.e. they always have a warning / error preceding them\r
- // so we can use this to keep notes and their associated notes together\r
- // by keeping track of the last message\r
+ // so we can keep notes and their associated diagnostics\r
+ // together by keeping track of the last message\r
DiagnosticMessage lastMessage;\r
\r
ValueTree list { MessageTypes::DIAGNOSTIC_LIST };\r
list.addChild (l.list.getChild(i).createCopy(), -1, nullptr);\r
}\r
\r
+ void remove (DiagnosticMessage m)\r
+ {\r
+ auto n = m.toValueTree();\r
+\r
+ for (int i = 0; i < list.getNumChildren(); ++i)\r
+ {\r
+ if (list.getChild (i).isEquivalentTo (n))\r
+ {\r
+ list.removeChild (i, nullptr);\r
+ return;\r
+ }\r
+ }\r
+\r
+ jassertfalse;\r
+ }\r
+\r
+ bool hasRecoveryWarning (DiagnosticMessage m) const\r
+ {\r
+ auto n = m.toValueTree();\r
+\r
+ for (int i = 0; i < list.getNumChildren(); ++i)\r
+ if (list.getChild (i).isEquivalentTo (n))\r
+ return true;\r
+\r
+ return false;\r
+ }\r
+\r
const ValueTree& toValueTree() const noexcept\r
{\r
return list;\r
}\r
};\r
\r
+ void showPopupMenu() override\r
+ {\r
+ PopupMenu menu;\r
+ menu.addItem (1, "Copy");\r
+ launchPopupMenu (menu);\r
+ }\r
+\r
+ void handlePopupMenuResult (int resultCode) override\r
+ {\r
+ if (resultCode == 1)\r
+ SystemClipboard::copyTextToClipboard (message.toString());\r
+ }\r
+\r
void paintIcon (Graphics& g, Rectangle<int> area) override\r
{\r
getIcon().draw (g, area.toFloat(), isIconCrossedOut());\r
androidMinimumSDK (settings, Ids::androidMinimumSDK, nullptr, "23"),\r
androidTheme (settings, Ids::androidTheme, nullptr),\r
androidInternetNeeded (settings, Ids::androidInternetNeeded, nullptr, true),\r
- androidMicNeeded (settings, Ids::androidMicNeeded, nullptr, false),\r
+ androidMicNeeded (settings, Ids::microphonePermissionNeeded, nullptr, false),\r
androidBluetoothNeeded (settings, Ids::androidBluetoothNeeded, nullptr, true),\r
androidOtherPermissions (settings, Ids::androidOtherPermissions, nullptr),\r
androidKeyStore (settings, Ids::androidKeyStore, nullptr, "${user.home}/.android/debug.keystore"),\r
props.add (new TextWithDefaultPropertyComponent<String> (androidVersionCode, "Android Version Code", 32),\r
"An integer value that represents the version of the application code, relative to other versions.");\r
\r
- props.add (new DependencyPathPropertyComponent (sdkPath, "Android SDK Path"),\r
+ props.add (new DependencyPathPropertyComponent (project.getFile().getParentDirectory(), sdkPath, "Android SDK Path"),\r
"The path to the Android SDK folder on the target build machine");\r
\r
- props.add (new DependencyPathPropertyComponent (ndkPath, "Android NDK Path"),\r
+ props.add (new DependencyPathPropertyComponent (project.getFile().getParentDirectory(), ndkPath, "Android NDK Path"),\r
"The path to the Android NDK folder on the target build machine");\r
\r
props.add (new TextWithDefaultPropertyComponent<String> (androidMinimumSDK, "Minimum SDK version", 32),\r
//==============================================================================\r
AndroidStudioProjectExporter (Project& p, const ValueTree& t)\r
: AndroidProjectExporterBase (p, t),\r
- gradleVersion (settings, Ids::gradleVersion, nullptr, "2.10"),\r
- gradleWrapperVersion (settings, Ids::gradleWrapperVersion, nullptr, "0.7.0-rc1"),\r
+ gradleVersion (settings, Ids::gradleVersion, nullptr, "2.14.1"),\r
+ gradleWrapperVersion (settings, Ids::gradleWrapperVersion, nullptr, "0.8.1"),\r
gradleToolchain (settings, Ids::gradleToolchain, nullptr, "clang"),\r
buildToolsVersion (settings, Ids::buildToolsVersion, nullptr, "23.0.2"),\r
androidStudioExecutable (findAndroidStudioExecutable())\r
writeFile (targetFolder, "local.properties", getLocalPropertiesFileContent());\r
writeFile (targetFolder, "gradle/wrapper/gradle-wrapper.properties", getGradleWrapperPropertiesFileContent());\r
\r
+ writeBinaryFile (targetFolder, "gradle/wrapper/LICENSE-for-gradlewrapper.txt", BinaryData::LICENSE, BinaryData::LICENSESize);\r
+ writeBinaryFile (targetFolder, "gradle/wrapper/gradle-wrapper.jar", BinaryData::gradlewrapper_jar, BinaryData::gradlewrapper_jarSize);\r
+ writeBinaryFile (targetFolder, "gradlew", BinaryData::gradlew, BinaryData::gradlewSize);\r
+ writeBinaryFile (targetFolder, "gradlew.bat", BinaryData::gradlew_bat, BinaryData::gradlew_batSize);\r
+\r
+ targetFolder.getChildFile ("gradlew").setExecutePermission (true);\r
+\r
writeAndroidManifest (targetFolder);\r
writeStringsXML (targetFolder);\r
writeAppIcons (targetFolder);\r
overwriteFileIfDifferentOrThrow (gradleProjectFolder.getChildFile (filePath), outStream);\r
}\r
\r
+ void writeBinaryFile (const File& gradleProjectFolder, const String& filePath, const char* binaryData, const int binarySize) const\r
+ {\r
+ MemoryOutputStream outStream;\r
+ outStream.write (binaryData, static_cast<size_t> (binarySize));\r
+ overwriteFileIfDifferentOrThrow (gradleProjectFolder.getChildFile (filePath), outStream);\r
+ }\r
+\r
//==============================================================================\r
static File findAndroidStudioExecutable()\r
{\r
if (previousBuildCommands.isNotEmpty())\r
script += "\r\n";\r
\r
- script += "copy /Y \"$(OutDir)\\$(TargetFileName)\" \"$(OutDir)\\$(TargetName).vst3\"";\r
+ script += "copy /Y \"$(OutDir)$(TargetFileName)\" \"$(OutDir)$(TargetName).vst3\"";\r
\r
config->getValue (Ids::internalPostBuildComamnd) = previousBuildCommands + script;\r
}\r
if (config->getValue(Ids::postbuildCommand).toString().isEmpty())\r
{\r
const String previousBuildCommands = config->getValue (Ids::internalPostBuildComamnd).toString();\r
+ const String aaxSDKPath = File::isAbsolutePath(aaxPath.toString())\r
+ ? aaxPath.toString()\r
+ : String ("..\\..\\") + aaxPath.toString();\r
\r
const bool is64Bit = (config->getValue (Ids::winArchitecture) == "x64");\r
- const String bundleDir = "$(OutDir)\\$(TargetName).aaxplugin";\r
+ const String bundleDir = "$(OutDir)$(TargetName).aaxplugin";\r
const String bundleContents = bundleDir + "\\Contents";\r
const String macOSDir = bundleContents + String ("\\") + (is64Bit ? "x64" : "Win32");\r
const String executable = macOSDir + String ("\\$(TargetName).aaxplugin");\r
- const String bundleScript = aaxPath.toString() + String ("\\Utilities\\CreatePackage.bat");\r
+ const String bundleScript = aaxSDKPath + String ("\\Utilities\\CreatePackage.bat");\r
String iconFilePath = getTargetFolder().getChildFile ("icon.ico").getFullPathName();\r
\r
if (! File (iconFilePath).existsAsFile())\r
- iconFilePath = aaxPath.toString() + String ("\\Utilities\\PlugIn.ico");\r
+ iconFilePath = aaxSDKPath + String ("\\Utilities\\PlugIn.ico");\r
\r
String script;\r
\r
if (previousBuildCommands.isNotEmpty())\r
script += "\r\n";\r
\r
- script += String ("mkdir \"") + bundleDir + String ("\"\r\n");\r
- script += String ("mkdir \"") + bundleContents + String ("\"\r\n");\r
- script += String ("mkdir \"") + macOSDir + String ("\"\r\n");\r
- script += String ("copy /Y \"$(OutDir)\\$(TargetFileName)\" \"") + executable + String ("\"\r\n");\r
- script += bundleScript + String (" \"") + macOSDir + String ("\" \"") + iconFilePath + String ("\"");\r
+ StringArray folders;\r
+ folders.add (bundleDir);\r
+ folders.add (bundleContents);\r
+ folders.add (macOSDir);\r
+\r
+ for (int i = 0; i < folders.size(); ++i)\r
+ script += String ("if not exist \"") + folders[i] + String ("\" mkdir \"") + folders[i] + String ("\"\r\n");\r
+\r
+ script += String ("copy /Y \"$(OutDir)$(TargetFileName)\" \"") + executable + String ("\"\r\n");\r
+ script += String ("\"") + bundleScript + String ("\" \"") + macOSDir + String ("\" \"") + iconFilePath + String ("\"");\r
\r
config->getValue (Ids::internalPostBuildComamnd) = previousBuildCommands + script;\r
}\r
Value getCustomXcassetsFolderValue() { return getSetting (Ids::customXcassetsFolder); }\r
String getCustomXcassetsFolderString() const { return settings [Ids::customXcassetsFolder]; }\r
\r
+ Value getMicrophonePermissionValue() { return getSetting (Ids::microphonePermissionNeeded); }\r
+ bool isMicrophonePermissionEnabled() const { return settings [Ids::microphonePermissionNeeded]; }\r
Value getInAppPurchasesValue() { return getSetting (Ids::iosInAppPurchases); }\r
bool isInAppPurchasesEnabled() const { return settings [Ids::iosInAppPurchases]; }\r
Value getBackgroundAudioValue() { return getSetting (Ids::iosBackgroundAudio); }\r
props.add (new BooleanPropertyComponent (getSetting ("UIStatusBarHidden"), "Status Bar Hidden", "Enabled"),\r
"Enable this to disable the status bar in your app.");\r
\r
+ props.add (new BooleanPropertyComponent (getMicrophonePermissionValue(), "Microphone access", "Enabled"),\r
+ "Enable this to allow your app to use the microphone. "\r
+ "The user of your app will be prompted to grant microphone access permissions.");\r
+\r
props.add (new BooleanPropertyComponent (getInAppPurchasesValue(), "In-App purchases capability", "Enabled"),\r
"Enable this to grant your app the capability for in-app purchases. "\r
"This option requires that you specify a valid Development Team ID.");\r
writeInfoPlistFiles();\r
\r
// Deleting the .rsrc files can be needed to force Xcode to update the version number.\r
- deleteRsrcFiles();\r
+ deleteRsrcFiles (getTargetFolder().getChildFile ("build"));\r
\r
if (! ProjucerApplication::getApp().isRunningCommandLine)\r
{\r
if (owner.iOS)\r
{\r
addPlistDictionaryKeyBool (dict, "LSRequiresIPhoneOS", true);\r
+ if (owner.isMicrophonePermissionEnabled())\r
+ addPlistDictionaryKey (dict, "NSMicrophoneUsageDescription", "This app requires microphone input.");\r
\r
if (type != AudioUnitv3PlugIn)\r
addPlistDictionaryKeyBool (dict, "UIViewControllerBasedStatusBarAppearance", false);\r
XmlElement plistEntry ("array");\r
XmlElement* dict = plistEntry.createNewChildElement ("dict");\r
\r
+ const String pluginManufacturerCode = owner.project.getPluginManufacturerCode().toString().trim().substring (0, 4);\r
+ const String pluginSubType = owner.project.getPluginCode() .toString().trim().substring (0, 4);\r
+\r
+ if (pluginManufacturerCode.toLowerCase() == pluginManufacturerCode)\r
+ {\r
+ throw SaveError ("AudioUnit plugin code identifiers invalid!\n\n"\r
+ "You have used only lower case letters in your AU plugin manufacturer identifier. "\r
+ "You must have at least one uppercase letter in your AU plugin manufacturer "\r
+ "identifier code.");\r
+ }\r
+\r
addPlistDictionaryKey (dict, "name", owner.project.getPluginManufacturer().toString()\r
+ ": " + owner.project.getPluginName().toString());\r
addPlistDictionaryKey (dict, "description", owner.project.getPluginDesc().toString());\r
addPlistDictionaryKey (dict, "factoryFunction", owner.project.getPluginAUExportPrefix().toString() + "Factory");\r
- addPlistDictionaryKey (dict, "manufacturer", owner.project.getPluginManufacturerCode().toString().trim().substring (0, 4));\r
+ addPlistDictionaryKey (dict, "manufacturer", pluginManufacturerCode);\r
addPlistDictionaryKey (dict, "type", owner.project.getAUMainTypeCode());\r
- addPlistDictionaryKey (dict, "subtype", owner.project.getPluginCode().toString().trim().substring (0, 4));\r
+ addPlistDictionaryKey (dict, "subtype", pluginSubType);\r
addPlistDictionaryKeyInt (dict, "version", owner.project.getVersionAsHexInteger());\r
\r
xcodeExtraPListEntries.add (plistKey);\r
target->writeInfoPlistFile();\r
}\r
\r
- void deleteRsrcFiles() const\r
+ // Delete .rsrc files in folder but don't follow sym-links\r
+ void deleteRsrcFiles (const File& folder) const\r
{\r
- for (DirectoryIterator di (getTargetFolder().getChildFile ("build"), true, "*.rsrc", File::findFiles); di.next();)\r
- di.getFile().deleteFile();\r
+ for (DirectoryIterator di (folder, false, "*", File::findFilesAndDirectories); di.next();)\r
+ {\r
+ const File& entry = di.getFile();\r
+\r
+ if (! entry.isSymbolicLink())\r
+ {\r
+ if (entry.existsAsFile() && entry.getFileExtension().toLowerCase() == ".rsrc")\r
+ entry.deleteFile();\r
+ else if (entry.isDirectory())\r
+ deleteRsrcFiles (entry);\r
+ }\r
+ }\r
}\r
\r
String getHeaderSearchPaths (const BuildConfiguration& config) const\r
{\r
if (supportsVST3() && (project.shouldBuildVST3().getValue() || project.isVST3PluginHost()))\r
{\r
- props.add (new DependencyPathPropertyComponent (getVST3PathValue(), "VST3 SDK Folder"),\r
+ props.add (new DependencyPathPropertyComponent (project.getFile().getParentDirectory(), getVST3PathValue(), "VST3 SDK Folder"),\r
"If you're building a VST3 plugin or host, this must be the folder containing the VST3 SDK. This can be an absolute path, or a path relative to the Projucer project file.");\r
}\r
\r
if (supportsAAX() && project.shouldBuildAAX().getValue())\r
{\r
- props.add (new DependencyPathPropertyComponent (getAAXPathValue(), "AAX SDK Folder"),\r
+ props.add (new DependencyPathPropertyComponent (project.getFile().getParentDirectory(), getAAXPathValue(), "AAX SDK Folder"),\r
"If you're building an AAX plugin, this must be the folder containing the AAX SDK. This can be an absolute path, or a path relative to the Projucer project file.");\r
}\r
\r
if (supportsRTAS() && project.shouldBuildRTAS().getValue())\r
{\r
- props.add (new DependencyPathPropertyComponent (getRTASPathValue(), "RTAS SDK Folder"),\r
+ props.add (new DependencyPathPropertyComponent (project.getFile().getParentDirectory(), getRTASPathValue(), "RTAS SDK Folder"),\r
"If you're building an RTAS, this must be the folder containing the RTAS SDK. This can be an absolute path, or a path relative to the Projucer project file.");\r
}\r
}\r
// keep a copy of the basic generated files group, as each exporter may modify it.\r
const ValueTree originalGeneratedGroup (generatedFilesGroup.state.createCopy());\r
\r
- for (Project::ExporterIterator exporter (project); exporter.next();)\r
+ try\r
{\r
- if (exporter->getTargetFolder().createDirectory())\r
+ for (Project::ExporterIterator exporter (project); exporter.next();)\r
{\r
- exporter->copyMainGroupFromProject();\r
- exporter->settings = exporter->settings.createCopy();\r
+ if (exporter->getTargetFolder().createDirectory())\r
+ {\r
+ exporter->copyMainGroupFromProject();\r
+ exporter->settings = exporter->settings.createCopy();\r
\r
- exporter->addToExtraSearchPaths (RelativePath ("JuceLibraryCode", RelativePath::projectFolder));\r
+ exporter->addToExtraSearchPaths (RelativePath ("JuceLibraryCode", RelativePath::projectFolder));\r
\r
- generatedFilesGroup.state = originalGeneratedGroup.createCopy();\r
- exporter->addSettingsForProjectType (project.getProjectType());\r
+ generatedFilesGroup.state = originalGeneratedGroup.createCopy();\r
+ exporter->addSettingsForProjectType (project.getProjectType());\r
\r
- for (auto& module: modules)\r
- module->addSettingsForModuleToExporter (*exporter, *this);\r
+ for (auto& module: modules)\r
+ module->addSettingsForModuleToExporter (*exporter, *this);\r
\r
- if (project.getProjectType().isAudioPlugin())\r
- writePluginCharacteristicsFile();\r
+ if (project.getProjectType().isAudioPlugin())\r
+ writePluginCharacteristicsFile();\r
\r
- generatedFilesGroup.sortAlphabetically (true, true);\r
- exporter->getAllGroups().add (generatedFilesGroup);\r
+ generatedFilesGroup.sortAlphabetically (true, true);\r
+ exporter->getAllGroups().add (generatedFilesGroup);\r
\r
- threadPool.addJob (new ExporterJob (*this, exporter.exporter.release(), modules), true);\r
- }\r
- else\r
- {\r
- addError ("Can't create folder: " + exporter->getTargetFolder().getFullPathName());\r
+ threadPool.addJob (new ExporterJob (*this, exporter.exporter.release(), modules), true);\r
+ }\r
+ else\r
+ {\r
+ addError ("Can't create folder: " + exporter->getTargetFolder().getFullPathName());\r
+ }\r
}\r
}\r
+ catch (ProjectExporter::SaveError& saveError)\r
+ {\r
+ addError (saveError.message);\r
+ }\r
\r
while (threadPool.getNumJobs() > 0)\r
Thread::sleep (10);\r
globalSettingsValue.addListener (this);\r
}\r
\r
-bool DependencyPathValueSource::isValidPath() const\r
+bool DependencyPathValueSource::isValidPath (const File& relativeTo) const\r
{\r
// if we are on another OS than the one which this path setting is for,\r
// we have no way of knowing whether the path is valid - so just assume it is:\r
if (! appliesToThisOS())\r
return true;\r
\r
- return getAppSettings().isGlobalPathValid (globalKey, getValue().toString());\r
+ return getAppSettings().isGlobalPathValid (relativeTo, globalKey, getValue().toString());\r
+}\r
+\r
+bool DependencyPathValueSource::isValidPath() const\r
+{\r
+ return isValidPath (File::getCurrentWorkingDirectory());\r
}\r
\r
//==============================================================================\r
-DependencyPathPropertyComponent::DependencyPathPropertyComponent (const Value& value,\r
+DependencyPathPropertyComponent::DependencyPathPropertyComponent (const File& pathRelativeToUse,\r
+ const Value& value,\r
const String& propertyName)\r
try : TextPropertyComponent (propertyName, 1024, false),\r
+ pathRelativeTo (pathRelativeToUse),\r
pathValue (value),\r
pathValueSource (dynamic_cast<DependencyPathValueSource&> (pathValue.getValueSource()))\r
{\r
Colour DependencyPathPropertyComponent::getTextColourToDisplay() const\r
{\r
if (! pathValueSource.isUsingProjectSettings())\r
- return pathValueSource.isValidPath() ? Colours::grey\r
- : Colours::lightpink;\r
+ return pathValueSource.isValidPath (pathRelativeTo) ? Colours::grey\r
+ : Colours::lightpink;\r
\r
- return pathValueSource.isValidPath() ? Colours::black\r
- : Colours::red;\r
+ return pathValueSource.isValidPath (pathRelativeTo) ? Colours::black\r
+ : Colours::red;\r
}\r
\r
void DependencyPathPropertyComponent::labelTextChanged (Label*)\r
return os == TargetOS::getThisOS();\r
}\r
\r
+ bool isValidPath (const File& relativeTo) const;\r
+\r
bool isValidPath() const;\r
\r
private:\r
private Label::Listener\r
{\r
public:\r
- DependencyPathPropertyComponent (const Value& value,\r
+ DependencyPathPropertyComponent (const File& pathRelativeToUse,\r
+ const Value& value,\r
const String& propertyName);\r
\r
\r
/** This function handles path changes because the global path changed. */\r
void valueChanged (Value& value) override;\r
\r
+ /** If the dependency path is relative, relative to which directory should\r
+ we check if an object is available. */\r
+ File pathRelativeTo;\r
+\r
/** the value that represents this dependency path setting. */\r
Value pathValue;\r
\r
return results;\r
}\r
\r
-Result ModuleList::addAllModulesInFolder (const File& path)\r
+Result ModuleList::tryToAddModuleFromFolder (const File& path)\r
{\r
ModuleDescription m (path);\r
-\r
if (m.isValid())\r
{\r
modules.add (new ModuleDescription (m));\r
+ return Result::ok();\r
}\r
- else\r
+\r
+ return Result::fail (path.getFullPathName() + " is not a valid module");\r
+}\r
+\r
+Result ModuleList::addAllModulesInFolder (const File& path)\r
+{\r
+ if (! tryToAddModuleFromFolder (path))\r
+ {\r
+ const int subfolders = 2;\r
+ return addAllModulesInSubfoldersRecursively (path, subfolders);\r
+ }\r
+\r
+ return Result::ok();\r
+}\r
+\r
+Result ModuleList::addAllModulesInSubfoldersRecursively (const File& path, int depth)\r
+{\r
+ if (depth > 0)\r
{\r
for (DirectoryIterator iter (path, false, "*", File::findDirectories); iter.next();)\r
{\r
- Result r = addAllModulesInFolder (iter.getFile().getLinkedTarget());\r
+ const File& childPath = iter.getFile().getLinkedTarget();\r
\r
- if (r.failed())\r
- return r;\r
+ if (! tryToAddModuleFromFolder (childPath))\r
+ addAllModulesInSubfoldersRecursively (childPath, depth - 1);\r
}\r
}\r
\r
StringArray getIDs() const;\r
void sort();\r
\r
+ Result tryToAddModuleFromFolder (const File&);\r
+\r
Result addAllModulesInFolder (const File&);\r
+ Result addAllModulesInSubfoldersRecursively (const File&, int depth);\r
Result scanAllKnownFolders (Project&);\r
\r
OwnedArray<ModuleDescription> modules;\r
#include "jucer_Module.h"\r
#include "../Application/jucer_MainWindow.h"\r
#include "../Application/jucer_Application.h"\r
+#include "../Application/jucer_DownloadCompileEngineThread.h"\r
#include "../Code Editor/jucer_SourceCodeEditor.h"\r
#include "../Utility/jucer_FilePathPropertyComponent.h"\r
#include "jucer_TreeItemTypes.h"\r
resized();\r
}\r
\r
+\r
//==============================================================================\r
struct BuildTabComponent : public ConcertinaPanel\r
{\r
private Button::Listener\r
{\r
ProjucerDisabledComp (String message, bool loggedIn, bool showSubscribeButton,\r
- bool showSignInButton, bool showSwitchAccountButton)\r
+ bool showSignInButton, bool showSwitchAccountButton,\r
+ bool showDownloadButton)\r
: isLoggedIn (loggedIn)\r
{\r
infoLabel.setColour (Label::textColourId, findColour (mainBackgroundColourId).contrasting (0.7f));\r
addAndMakeVisible (*switchAccountButton);\r
switchAccountButton->addListener (this);\r
}\r
+\r
+ if (showDownloadButton)\r
+ {\r
+ downloadButton = new TextButton (String ("Download live-build engine"));\r
+ addAndMakeVisible (*downloadButton);\r
+ downloadButton->addListener (this);\r
+ }\r
}\r
\r
void resized() override\r
{\r
switchAccountButton->setSize (buttonWidth, buttonHeight);\r
switchAccountButton->setCentrePosition (buttonCenterX, buttonCenterY);\r
+ buttonCenterY += itemDistance + buttonHeight;\r
+ }\r
+\r
+ if (downloadButton.get() != nullptr)\r
+ {\r
+ downloadButton->setSize (buttonWidth, buttonHeight);\r
+ downloadButton->setCentrePosition (buttonCenterX, buttonCenterY);\r
}\r
}\r
\r
{\r
if (btn == subscribeButton.get())\r
{\r
- URL ("http://www.juce.com/get-juce").launchInDefaultBrowser();\r
+ URL ("http://www.juce.com/get-juce#indie").launchInDefaultBrowser();\r
}\r
else if (btn == signInButton.get())\r
{\r
{\r
ProjucerApplication::getApp().showLoginForm();\r
}\r
+ else if (btn == downloadButton.get())\r
+ {\r
+ if (DownloadCompileEngineThread::downloadAndInstall())\r
+ {\r
+ if (! ProjucerLicenses::getInstance()->retryLoadDll())\r
+ {\r
+ AlertWindow::showMessageBox(AlertWindow::WarningIcon,\r
+ "Download and install",\r
+ "Loading the live-build engine failed");\r
+ return;\r
+ }\r
+\r
+ // async!\r
+ ProjucerApplication::getApp().showLoginForm();\r
+\r
+ // if sign in successful project tabs update, otherwise they were not\r
+ auto parent = findParentComponentOfClass<ProjectContentComponent>();\r
+ parent->rebuildProjectTabs();\r
+ }\r
+ }\r
}\r
\r
bool isLoggedIn;\r
ScopedPointer<TextButton> subscribeButton;\r
ScopedPointer<TextButton> signInButton;\r
ScopedPointer<TextButton> switchAccountButton;\r
+ ScopedPointer<TextButton> downloadButton;\r
};\r
\r
struct EnableBuildComp : public Component\r
//==============================================================================\r
Component* ProjectContentComponent::createBuildTab (CompileEngineChildProcess* child)\r
{\r
- #if JUCE_LINUX\r
- ignoreUnused (child);\r
- return new ProjucerDisabledComp ("Linux support is still under development - "\r
- "please check for updates at www.juce.com!", false, false, false, false);\r
- #else\r
if (child != nullptr)\r
{\r
child->crashHandler = [this] (const String& m) { this->handleCrash (m); };\r
}\r
\r
jassert (project != nullptr);\r
+\r
+ const auto osType = SystemStats::getOperatingSystemType();\r
+ const bool isMac = (osType & SystemStats::MacOSX) != 0;\r
+ const bool isWin = (osType & SystemStats::Windows) != 0;\r
+ const bool isLinux = (osType & SystemStats::Linux) != 0;\r
+\r
+ if (! isMac && ! isWin && ! isLinux)\r
+ return createDisabledBuildTabInfoOnly (\r
+ "Live-build features are not supported on your system.\n\n"\r
+ "Please check supported platforms at www.juce.com!");\r
+\r
+ if (isLinux)\r
+ return createDisabledBuildTabInfoOnly (\r
+ "Live-build features for Linux are under development.\n\n"\r
+ "Please check for updates at www.juce.com!");\r
+\r
+ if (isMac)\r
+ if (osType < SystemStats::MacOSX_10_9)\r
+ return createDisabledBuildTabInfoOnly (\r
+ "Live-build features are available only on MacOSX 10.9 or higher.");\r
+\r
+ if (isWin)\r
+ if (! SystemStats::isOperatingSystem64Bit() || osType < SystemStats::Windows8_0)\r
+ return createDisabledBuildTabInfoOnly (\r
+ "Live-build features are available only on 64-Bit Windows 8 or higher.");\r
+\r
const auto& unlockStatus = *ProjucerLicenses::getInstance();\r
\r
- if (unlockStatus.hasLiveCodingLicence())\r
- {\r
- jassert (unlockStatus.isLoggedIn());\r
- jassert (unlockStatus.isDLLPresent());\r
- return new EnableBuildComp();\r
- }\r
+ if (! unlockStatus.isLoggedIn())\r
+ return createDisabledBuildTabSubscribe ("Sign in with your ROLI account",\r
+ false, unlockStatus.isDLLPresent());\r
\r
- return createDisabledBuildTab(unlockStatus.isLoggedIn(),\r
- unlockStatus.isDLLPresent());\r
- #endif\r
-};\r
+ if (! unlockStatus.hasLiveCodingLicence())\r
+ return createDisabledBuildTabSubscribe ("Subscribe to JUCE Pro or Indie",\r
+ true, unlockStatus.isDLLPresent());\r
\r
-//==============================================================================\r
-Component* ProjectContentComponent::createDisabledBuildTab(bool loggedIn, bool dllPresent) {\r
+ jassert (unlockStatus.isLoggedIn());\r
+ jassert (unlockStatus.isDLLPresent());\r
+ return new EnableBuildComp();\r
+}\r
+\r
+Component* ProjectContentComponent::createDisabledBuildTabSubscribe (String textPrefix,\r
+ bool loggedIn, bool dllPresent)\r
+{\r
bool showSubscribeButton = true;\r
bool showSignInButton = dllPresent && ! loggedIn;\r
bool showSwitchAccountButton = dllPresent && loggedIn;\r
+ bool showDownloadButton = ! dllPresent;\r
\r
return new ProjucerDisabledComp (\r
- "Subscribe to JUCE Pro or Indie to use the Projucer's live-build features:",\r
- loggedIn, showSubscribeButton, showSignInButton, showSwitchAccountButton);\r
+ textPrefix + " to use the Projucer's live-build features:",\r
+ loggedIn, showSubscribeButton, showSignInButton, showSwitchAccountButton, showDownloadButton);\r
}\r
\r
+Component* ProjectContentComponent::createDisabledBuildTabInfoOnly(const char* message)\r
+{\r
+ return new ProjucerDisabledComp (message, false, false, false, false, false);\r
+}\r
+\r
+//==============================================================================\r
BuildTabComponent* findBuildTab (const TabbedComponent& tabs)\r
{\r
return dynamic_cast<BuildTabComponent*> (tabs.getTabContentComponent (2));\r
createProjectTabs();\r
\r
bool isLoggedIn = ProjucerLicenses::getInstance()->isLoggedIn();\r
- ProjucerDisabledComp* buildTab = new ProjucerDisabledComp (tabMessage, isLoggedIn, false, false, false);\r
+ ProjucerDisabledComp* buildTab = new ProjucerDisabledComp (tabMessage, isLoggedIn, false, false, false, false);\r
\r
treeViewTabs.addTab ("Build", Colours::transparentBlack, buildTab, true);\r
showBuildTab();\r
void timerCallback() override;\r
\r
Component* createBuildTab (CompileEngineChildProcess*);\r
- Component* createDisabledBuildTab (bool loggedIn, bool dllPresent);\r
+ Component* createDisabledBuildTabSubscribe (String textPrefix, bool loggedIn, bool dllPresent);\r
+ Component* createDisabledBuildTabInfoOnly (const char* messsage);\r
\r
bool isContinuousRebuildEnabled() { return getAppSettings().getGlobalProperties().getBoolValue ("continuousRebuild", true); }\r
void setContinuousRebuildEnabled (bool b) { getAppSettings().getGlobalProperties().setValue ("continuousRebuild", b); }\r
DECLARE_ID (showAllCode);\r
DECLARE_ID (useLocalCopy);\r
DECLARE_ID (overwriteOnSave);\r
+ DECLARE_ID (microphonePermissionNeeded);\r
DECLARE_ID (androidActivityClass);\r
DECLARE_ID (androidActivitySubClassName);\r
DECLARE_ID (androidVersionCode);\r
DECLARE_ID (androidNDKPath);\r
DECLARE_ID (androidInternetNeeded);\r
DECLARE_ID (androidArchitectures);\r
- DECLARE_ID (androidMicNeeded);\r
DECLARE_ID (androidBluetoothNeeded);\r
DECLARE_ID (androidMinimumSDK);\r
DECLARE_ID (androidOtherPermissions);\r
}\r
\r
//==============================================================================\r
-static bool doesSDKPathContainFile (const String& path, const String& fileToCheckFor)\r
+static bool doesSDKPathContainFile (const File& relativeTo, const String& path, const String& fileToCheckFor)\r
{\r
String actualPath = path.replace ("${user.home}", File::getSpecialLocation (File::userHomeDirectory).getFullPathName());\r
- return File::getCurrentWorkingDirectory().getChildFile (actualPath + "/" + fileToCheckFor).existsAsFile();\r
+ return relativeTo.getChildFile (actualPath + "/" + fileToCheckFor).existsAsFile();\r
}\r
\r
Value StoredSettings::getGlobalPath (const Identifier& key, DependencyPathOS os)\r
return String();\r
}\r
\r
-bool StoredSettings::isGlobalPathValid (const Identifier& key, const String& path)\r
+bool StoredSettings::isGlobalPathValid (const File& relativeTo, const Identifier& key, const String& path)\r
{\r
String fileToCheckFor;\r
\r
else if (key == Ids::androidNDKPath)\r
{\r
#if JUCE_WINDOWS\r
- fileToCheckFor = "ndk-depends.exe";\r
+ fileToCheckFor = "ndk-depends.cmd";\r
#else\r
fileToCheckFor = "ndk-depends";\r
#endif\r
return false;\r
}\r
\r
- return doesSDKPathContainFile (path, fileToCheckFor);\r
+ return doesSDKPathContainFile (relativeTo, path, fileToCheckFor);\r
}\r
//==============================================================================\r
Value getGlobalPath (const Identifier& key, DependencyPathOS);\r
String getFallbackPath (const Identifier& key, DependencyPathOS);\r
- bool isGlobalPathValid (const Identifier& key, const String& path);\r
+\r
+ bool isGlobalPathValid (const File& relativeTo, const Identifier& key, const String& path);\r
\r
private:\r
OwnedArray<PropertiesFile> propertyFiles;\r
AA207299991F85938465BF65 = {isa = PBXBuildFile; fileRef = 2030A589A9355FE6A0F72428; };
66FC7F44EEC9044E5C4A21C3 = {isa = PBXBuildFile; fileRef = C0531453A002C480280C5F05; };
8D51903C59161885903F60CC = {isa = PBXBuildFile; fileRef = 04C1B8BF62AA09E62B362913; };
- 32010EA67EEFE024B9CE1CB5 = {isa = PBXBuildFile; fileRef = B4202EE1243A8FCA29996D05; };
263250D6F359CE403B0566FF = {isa = PBXBuildFile; fileRef = 8C449538B266A891147103D6; };
17A09B4AF453B148CD7349F4 = {isa = PBXBuildFile; fileRef = FCB76958E12B2D7F8277CD59; };
DA258437B00E720A6D6A6442 = {isa = PBXBuildFile; fileRef = BE5E66183FBDAED0236061AE; };
0EAC6F9BA8425E419F803A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; };
0ECFEC85FD0ECE2C9ADFB197 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = jdhuff.h; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdhuff.h"; sourceTree = "SOURCE_ROOT"; };
0F1C7E2100FFAD72CAA23DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; };
- 0F4C3B3BD169BEA4FEC3ED5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
0F9A5A14CC510059B9EC4936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; };
0FEB81BE044CA9D0C4EA2FB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = "../../../../modules/juce_graphics/image_formats/pnglib/pngrtran.c"; sourceTree = "SOURCE_ROOT"; };
10A61BFCEB2A64AF73F212D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_graphics.cpp"; path = "../../../../modules/juce_graphics/juce_graphics.cpp"; sourceTree = "SOURCE_ROOT"; };
118987654CE12CAC784213BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_basics.cpp"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.cpp"; sourceTree = "SOURCE_ROOT"; };
11AD5417D0E7C2C1C828838C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; };
11C847C1E8A88B669765EC78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; };
+ 122474A629F551412A66A8ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AU_Shared.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AU_Shared.h"; sourceTree = "SOURCE_ROOT"; };
130A3006D67DEE7054BBC5B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; };
136DC9F51F7618E89A87A97D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; };
1382CD8AF4831CB28EBC85F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; };
5AFC2E24814619E763458B81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../JuceLibraryCode/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
5B700FCF685F005DCC46AF6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; };
5B7207D43E415121202DE038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; };
- 5B8939FA8DA30BBD5EA2B921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
5BC25B28965D29BC1BA25BD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; };
5C283446F7FBC70FA2FE526D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
5C7BDD8DF72F2FC2D44D757A = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; };
61E6CF3FCBE2484315D9D104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; };
623E393A11DA11EB2EE138D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; };
629D51EC5109E8AFCC47A16E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; };
- 63B4D4DC6722AA8998EAC9B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; };
63DFCDB677B0ABBA832E87D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; };
63EA6ECB4F56812B02B43B41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; };
63FE8D20853DE99AAB629474 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; };
64599EF94FDACF1384134045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; };
646C61429CD13E2E52D12141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; };
64CFE2DDF94D6E8B3AE7AEC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; };
- 64D9AB699D586EE37F00BB88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; };
64E5D55B5B7848BFFE434833 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; };
65316F84E7998071FE57E190 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; };
6562FCA20B6E1D38DAAF88ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; };
657B7282AD450BA17A392C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; };
- 657DA6D1CFBC64B658162536 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; };
65806C148D71B279981B2E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; };
65AF531F57FA186D14BF991F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; };
65B2A94615B8FFFBBA894728 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; };
7C29E9FFCFFD30F863DF8E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; };
7C772F83DB2735614565AF24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
7C79A6FF6D5806B3B87AA6D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; };
- 7C9012BEBB65383C5FF46E5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; };
7CBD7946B2E48708A4B9A6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; };
7CDC6AC64FB463E2E165ECFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; };
7D0870363A15C00C3AEDEB72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "stream_encoder.h"; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/include/protected/stream_encoder.h"; sourceTree = "SOURCE_ROOT"; };
7E8909F2EAEC89A5DDFFE66A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; };
7EBC05447D1D054C0DE34F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; };
7EBCBDD96E6E70F99719844C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; };
- 7EBE149C4323508FED63DFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; };
7F8E21473BDFBCFBAF2228EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jutils.c"; sourceTree = "SOURCE_ROOT"; };
7FDDFE5DEDF1FB4CE9DA3805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; };
80111753A0AE831424A9F5B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; };
83911624896F5077D1584CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; };
83C07F8DBFB9A1A73BF0CD79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; };
83CAA169494D570CF137600C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = zlib.h; path = "../../../../modules/juce_core/zip/zlib/zlib.h"; sourceTree = "SOURCE_ROOT"; };
+ 83F6D00DCD5A0F59DA0173C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
83FE3FC19E4060EF4B820617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; };
846FD9CFF342230F791765DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; };
8495525D384E30C43C203FAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; };
B38A1AC42B002115350C0268 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
B3AB04FFAF555EF180242F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; };
B4002753D99D947D4198A324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
- B4202EE1243A8FCA29996D05 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
B423B80221F35DE6787F4950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; };
B47394806DDFA3E7800E61B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; };
B48F2BC7D54AB619F94B6DE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; };
BDE2CEC1C2F9C0EA2FDEDEEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; };
BE3A8E4BAD6D3DD4EB9F77AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; };
BE3C6EB9580AFB6A8C731A11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
- BE3EA058010047456D73AACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; };
BE5E66183FBDAED0236061AE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
BEDCD61FAD477E737E9001FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinearSmoothedValue.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LinearSmoothedValue.h"; sourceTree = "SOURCE_ROOT"; };
BEF5F831841B2D82D0F8184D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_gui_extra.cpp"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.cpp"; sourceTree = "SOURCE_ROOT"; };
- BF07F813AE252965882B419D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioChannelSet.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.h"; sourceTree = "SOURCE_ROOT"; };
BF4300338A09F8D69332A4FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = "../../../../modules/juce_graphics/image_formats/jpglib/jdapistd.c"; sourceTree = "SOURCE_ROOT"; };
BF7DB7CEEFC788FBAC7DDAFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; };
BF83F16E220BF09C26FD7DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; };
C2F2E19D495434FA2DE26CDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; };
C38E103566DD334575DEB132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = format.h; path = "../../../../modules/juce_audio_formats/codecs/flac/format.h"; sourceTree = "SOURCE_ROOT"; };
C3B38FF0CFF855B48FD341D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; };
- C3FF931ABD1A2A7A0B3F2F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
C42BCD9C395C1CD9E1207E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = zutil.c; path = "../../../../modules/juce_core/zip/zlib/zutil.c"; sourceTree = "SOURCE_ROOT"; };
C43F3C14D904F5ACD41ADA91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; };
C4725A9E883FE9A4BE50D9CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; };
C5E11042008ADD9755FE072F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; };
C642049FA1163EA7E12E88A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
C66E703E2D09BB632D602704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = bitwriter.c; path = "../../../../modules/juce_audio_formats/codecs/flac/libFLAC/bitwriter.c"; sourceTree = "SOURCE_ROOT"; };
+ C6D16786DBDCE534E674241F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTCommon.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTCommon.h"; sourceTree = "SOURCE_ROOT"; };
C6FE61439C07717B4A0F9B64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Whirlpool.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_Whirlpool.cpp"; sourceTree = "SOURCE_ROOT"; };
C72AFDEA087704F6D67C4D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; };
C7625C0B5AF05F7B34BFA9FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; };
F94CD18DE8CA9B8252F7BEDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; };
F9532938F368676B0E308A2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; };
F98B3688EA63D8E635D2CC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; };
+ F9C7F1AAAD6469FB3100D949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioChannelSet.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioChannelSet.cpp"; sourceTree = "SOURCE_ROOT"; };
F9CF000B7EF51FF75DC39F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = envelope.h; path = "../../../../modules/juce_audio_formats/codecs/oggvorbis/libvorbis-1.3.2/lib/envelope.h"; sourceTree = "SOURCE_ROOT"; };
F9CF1242078815002E111C9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; };
FA3830ED7B86B0B1FB5AD8F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; };
88C22F995571E4A515721154 = {isa = PBXGroup; children = (
9E7E99EBD6772DAF4725435D, ); name = UnitTestRunner; sourceTree = "<group>"; };
0D65DC6399D4325C97F412F8 = {isa = PBXGroup; children = (
+ F9C7F1AAAD6469FB3100D949,
+ 83F6D00DCD5A0F59DA0173C2,
3119FD9D68523225E7F0D144,
4B26E321B9E1B5C873CDA2C7,
7E8909F2EAEC89A5DDFFE66A,
B2B2B0D649F7F56CA1204146,
8A9BF66CD7A1500F21F06CF6,
B2B2B0D649F7F56CA1204146, ); name = "juce_audio_basics"; sourceTree = "<group>"; };
- 7008BEA3127B09C4E9C2DC85 = {isa = PBXGroup; children = (
- 7EBE149C4323508FED63DFCC,
- 0F4C3B3BD169BEA4FEC3ED5B,
- BE3EA058010047456D73AACD, ); name = "audio_cd"; sourceTree = "<group>"; };
- B55CD0ABA133DB18FF729942 = {isa = PBXGroup; children = (
+ F0324274006181AD9A3854F9 = {isa = PBXGroup; children = (
A0B818539943BFCEA1AA2C1E,
57272E091C29E8475D3779E7,
B2AA22B23779CE171655790B,
F56A0572594B18C198211C87,
D9CAFE63130B829FB4912923,
D851AB2AA2C9828AAA4DEDB1, ); name = "audio_io"; sourceTree = "<group>"; };
- 185F03410F35E07C7AE25C16 = {isa = PBXGroup; children = (
+ 97757207AEA4E4141CA09FA6 = {isa = PBXGroup; children = (
ECCBD88AAED3D911C98AD253,
871B5D88E335FFCEB530FEF0,
E37854E5BF8CA5BD430A5120,
8C8A49AE954E8C36615536F6,
8161DCC2C337E618F1730DAA,
85F802EFFDC257863FFC44AE,
- 657DA6D1CFBC64B658162536,
F2864445B36DDDF9BC726F09,
4AED4B9B50A5A3FFDBAAAEF2,
- 63B4D4DC6722AA8998EAC9B2,
- 64D9AB699D586EE37F00BB88,
86835EA6C418B4F10885B612,
91084A9A4037F73105EBCFF2,
968B88C717F0943290B811AC,
43E68AD12B0E124A817BCFE4,
- 7C9012BEBB65383C5FF46E5C,
- 5B8939FA8DA30BBD5EA2B921,
46240849FADC744B37AB1CE4,
B5CE09DCE9500F96794A366F,
759298E5BD13DF0FEA4BBC71, ); name = native; sourceTree = "<group>"; };
- 25F6F8EFD788A511DE3BC9D2 = {isa = PBXGroup; children = (
+ 2832733C2E183A16CCB5B344 = {isa = PBXGroup; children = (
B2DCDC3D189A0973286F250A,
0842DF7979CB25F708597440,
F669B4CA3F8E8822FE761FCC,
7A018DFF9F04FB1C930EEC9E, ); name = sources; sourceTree = "<group>"; };
CB31FFDD38E416ACDECBA7B8 = {isa = PBXGroup; children = (
- 7008BEA3127B09C4E9C2DC85,
- B55CD0ABA133DB18FF729942,
- 185F03410F35E07C7AE25C16,
+ F0324274006181AD9A3854F9,
+ 97757207AEA4E4141CA09FA6,
BB2E281E195F9F1AAE9056CE,
- 25F6F8EFD788A511DE3BC9D2,
+ 2832733C2E183A16CCB5B344,
8EA39C48DA182B4CD06FE4D0,
284376DCD46CCD8879477F8C,
B2B8E7BE0607DA166DAAEFEF,
D3B67F76F3E120815C1B3729,
B114804B7D23DA65A2A6351A,
D3B67F76F3E120815C1B3729, ); name = "juce_audio_formats"; sourceTree = "<group>"; };
- 8736C0529FA9C2C32A98764D = {isa = PBXGroup; children = (
+ 0F8790396D2C77037F870ED6 = {isa = PBXGroup; children = (
345459CE27D07EDD3E19B299,
DC6B27F5C167FD13C2C903B5,
82C1F8A9929DF547C004C07F,
C5E11042008ADD9755FE072F, ); name = format; sourceTree = "<group>"; };
- ABF2AF74BF7080092729FB97 = {isa = PBXGroup; children = (
+ BB063BC4206A502F6F09B13B = {isa = PBXGroup; children = (
+ 122474A629F551412A66A8ED,
0EAC6F9BA8425E419F803A2B,
C3B38FF0CFF855B48FD341D2,
54BF97F32965B4FB5CF2D56F,
E7153B9DA221B856B57005B2,
458AFB04FC657C0B8E140C57,
D42D77C52B0B860D000123A7,
+ C6D16786DBDCE534E674241F,
16CA9656E3C51EFD0962ABC4,
E51C2746AF287DBC983CAF65,
E3D8F97C26B8E03820AFC971,
763A365B46F5D3EDD8F8B1EF, ); name = "format_types"; sourceTree = "<group>"; };
- 158CACD42A1CC66D5423F77A = {isa = PBXGroup; children = (
- C3FF931ABD1A2A7A0B3F2F32,
- BF07F813AE252965882B419D,
+ 96B6B1F3563E2A356872507D = {isa = PBXGroup; children = (
59EE21D372B3DFC1B453B8B4,
7BC436F55CA94D4ED0A20BC6,
468EE2A5579D7F6508B3BE7F,
A413B2A303984674A412461B,
AB22692A2D791A3D54D8C032, ); name = utilities; sourceTree = "<group>"; };
67E024FB39CF9D5F419DFBF5 = {isa = PBXGroup; children = (
- 8736C0529FA9C2C32A98764D,
- ABF2AF74BF7080092729FB97,
- 158CACD42A1CC66D5423F77A,
+ 0F8790396D2C77037F870ED6,
+ BB063BC4206A502F6F09B13B,
+ 96B6B1F3563E2A356872507D,
B38FEF84E3189E32B3A795A7,
4661CAE20E855F3E2858F466,
5855D3234BC62C85FAD56651,
2030A589A9355FE6A0F72428,
C0531453A002C480280C5F05,
04C1B8BF62AA09E62B362913,
- B4202EE1243A8FCA29996D05,
8C449538B266A891147103D6,
FCB76958E12B2D7F8277CD59,
BE5E66183FBDAED0236061AE,
AA207299991F85938465BF65,
66FC7F44EEC9044E5C4A21C3,
8D51903C59161885903F60CC,
- 32010EA67EEFE024B9CE1CB5,
263250D6F359CE403B0566FF,
17A09B4AF453B148CD7349F4,
DA258437B00E720A6D6A6442,
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\..\Source\Main.cpp"/>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<ClCompile Include="..\..\Source\Main.cpp">\r
<Filter>UnitTestRunner\Source</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
\r
<JUCERPROJECT id="Z2Xzcp" name="UnitTestRunner" projectType="consoleapp" version="1.0.0"\r
bundleIdentifier="com.yourcompany.UnitTestRunner" includeBinaryInAppConfig="1"\r
- jucerVersion="4.2.4" defines="JUCE_UNIT_TESTS=1">\r
+ jucerVersion="4.3.0" defines="JUCE_UNIT_TESTS=1">\r
<MAINGROUP id="GZdWCU" name="UnitTestRunner">\r
<GROUP id="{22894462-E1A9-036F-ED94-B51A50C87552}" name="Source">\r
<FILE id="ynaYaM" name="Main.cpp" compile="1" resource="0" file="Source/Main.cpp"/>\r
<?xml version="1.0" encoding="UTF-8"?>\r
\r
<JUCERPROJECT id="3t6YqETY1" name="BinaryBuilder" projectType="consoleapp"\r
- juceFolder="../../../juce" jucerVersion="4.2.4" bundleIdentifier="com.rawmaterialsoftware.binarybuilder"\r
+ juceFolder="../../../juce" jucerVersion="4.3.0" bundleIdentifier="com.rawmaterialsoftware.binarybuilder"\r
includeBinaryInAppConfig="1" version="1.0.0">\r
<EXPORTFORMATS>\r
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK"\r
</Bscmake>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <ExcludedFromBuild>true</ExcludedFromBuild>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_android_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <ExcludedFromBuild>true</ExcludedFromBuild>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<ExcludedFromBuild>true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\..\JuceLibraryCode\juce_video.cpp"/>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioSampleBuffer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_FloatVectorOperations.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\synthesisers\juce_Synthesiser.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODevice.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioIODeviceType.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_formats\juce_audio_formats.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_LADSPAPluginFormat.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Common.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3Headers.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTMidiEventList.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h"/>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPluginInstance.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\utilities\juce_AudioProcessorValueTreeState.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioDeviceSelectorComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioThumbnail.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_BluetoothMidiDevicePairingDialogue.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_MidiKeyboardComponent.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h"/>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h"/>\r
<ClInclude Include="..\..\..\..\modules\juce_core\containers\juce_AbstractFifo.h"/>\r
<Filter Include="Juce Modules\juce_audio_devices">\r
<UniqueIdentifier>{CACD7B50-4DB3-76AF-A6E8-90DF94F8F594}</UniqueIdentifier>\r
</Filter>\r
- <Filter Include="Juce Modules\juce_audio_devices\audio_cd">\r
- <UniqueIdentifier>{45C2CE26-EC4B-BA52-58F3-297C408E1483}</UniqueIdentifier>\r
- </Filter>\r
<Filter Include="Juce Modules\juce_audio_devices\audio_io">\r
<UniqueIdentifier>{9D270B31-2425-8FDB-84A4-6A2288FF5B2F}</UniqueIdentifier>\r
</Filter>\r
<Filter Include="Juce Modules\juce_audio_utils">\r
<UniqueIdentifier>{B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B}</UniqueIdentifier>\r
</Filter>\r
+ <Filter Include="Juce Modules\juce_audio_utils\audio_cd">\r
+ <UniqueIdentifier>{C396369E-8C55-88E9-5D19-5D3772B773D3}</UniqueIdentifier>\r
+ </Filter>\r
<Filter Include="Juce Modules\juce_audio_utils\gui">\r
<UniqueIdentifier>{8167E753-09C7-5D1C-EF2B-32D297557443}</UniqueIdentifier>\r
</Filter>\r
</Filter>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.cpp">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.cpp">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.mm">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.cpp">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_ALSA.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_JackAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_linux_Midi.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDBurner.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_AudioCDReader.mm">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_mac_CoreAudio.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_ASIO.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDBurner.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_AudioCDReader.cpp">\r
- <Filter>Juce Modules\juce_audio_devices\native</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_devices\native\juce_win32_DirectSound.cpp">\r
<Filter>Juce Modules\juce_audio_devices\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.cpp">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClCompile>\r
- <ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.cpp">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioProcessor.cpp">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.mm">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.cpp">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_ios_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_linux_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDBurner.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_AudioCDReader.mm">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_mac_BluetoothMidiDevicePairingDialogue.mm">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win_BluetoothMidiDevicePairingDialogue.cpp">\r
<Filter>Juce Modules\juce_audio_utils\native</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDBurner.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\native\juce_win32_AudioCDReader.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\native</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.cpp">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClCompile>\r
+ <ClCompile Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.cpp">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClCompile>\r
<ClCompile Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.cpp">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClCompile>\r
</ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioChannelSet.h">\r
+ <Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\buffers\juce_AudioDataConverters.h">\r
<Filter>Juce Modules\juce_audio_basics\buffers</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_basics\juce_audio_basics.h">\r
<Filter>Juce Modules\juce_audio_basics</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDBurner.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_cd\juce_AudioCDReader.h">\r
- <Filter>Juce Modules\juce_audio_devices\audio_cd</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_devices\audio_io\juce_AudioDeviceManager.h">\r
<Filter>Juce Modules\juce_audio_devices\audio_io</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format\juce_AudioPluginFormatManager.h">\r
<Filter>Juce Modules\juce_audio_processors\format</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AU_Shared.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_AudioUnitPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VST3PluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTCommon.h">\r
+ <Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTInterface.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\format_types\juce_VSTPluginFormat.h">\r
<Filter>Juce Modules\juce_audio_processors\format_types</Filter>\r
</ClInclude>\r
- <ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioChannelSet.h">\r
- <Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
- </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\processors\juce_AudioPlayHead.h">\r
<Filter>Juce Modules\juce_audio_processors\processors</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_processors\juce_audio_processors.h">\r
<Filter>Juce Modules\juce_audio_processors</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDBurner.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\audio_cd\juce_AudioCDReader.h">\r
+ <Filter>Juce Modules\juce_audio_utils\audio_cd</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\gui\juce_AudioAppComponent.h">\r
<Filter>Juce Modules\juce_audio_utils\gui</Filter>\r
</ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_AudioProcessorPlayer.h">\r
<Filter>Juce Modules\juce_audio_utils\players</Filter>\r
</ClInclude>\r
+ <ClInclude Include="..\..\..\..\modules\juce_audio_utils\players\juce_SoundPlayer.h">\r
+ <Filter>Juce Modules\juce_audio_utils\players</Filter>\r
+ </ClInclude>\r
<ClInclude Include="..\..\..\..\modules\juce_audio_utils\juce_audio_utils.h">\r
<Filter>Juce Modules\juce_audio_utils</Filter>\r
</ClInclude>\r
//#define JUCE_USE_ANDROID_OPENSLES\r
#endif\r
\r
-#ifndef JUCE_USE_CDREADER\r
- //#define JUCE_USE_CDREADER\r
-#endif\r
-\r
-#ifndef JUCE_USE_CDBURNER\r
- //#define JUCE_USE_CDBURNER\r
-#endif\r
-\r
//==============================================================================\r
// juce_audio_formats flags:\r
\r
//#define JUCE_PLUGINHOST_AU\r
#endif\r
\r
+//==============================================================================\r
+// juce_audio_utils flags:\r
+\r
+#ifndef JUCE_USE_CDREADER\r
+ //#define JUCE_USE_CDREADER\r
+#endif\r
+\r
+#ifndef JUCE_USE_CDBURNER\r
+ //#define JUCE_USE_CDBURNER\r
+#endif\r
+\r
//==============================================================================\r
// juce_core flags:\r
\r
\r
<JUCERPROJECT id="IvabE4" name="juce_dll" projectType="library" version="1.0.0"\r
juceLinkage="none" bundleIdentifier="com.rawmaterialsoftware.juce"\r
- jucerVersion="4.2.4" defines="JUCE_DLL_BUILD=1" includeBinaryInAppConfig="1">\r
+ jucerVersion="4.3.0" defines="JUCE_DLL_BUILD=1" includeBinaryInAppConfig="1">\r
<EXPORTFORMATS>\r
<VS2010 targetFolder="Builds/VisualStudio2010">\r
<CONFIGURATIONS>\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+AudioChannelSet::AudioChannelSet (uint32 c) : channels (c) {}\r
+\r
+bool AudioChannelSet::operator== (const AudioChannelSet& other) const noexcept { return channels == other.channels; }\r
+bool AudioChannelSet::operator!= (const AudioChannelSet& other) const noexcept { return channels != other.channels; }\r
+bool AudioChannelSet::operator< (const AudioChannelSet& other) const noexcept { return channels < other.channels; }\r
+\r
+String AudioChannelSet::getChannelTypeName (AudioChannelSet::ChannelType type)\r
+{\r
+ if (type >= discreteChannel0)\r
+ return String ("Discrete ") + String (type - discreteChannel0 + 1);\r
+\r
+ switch (type)\r
+ {\r
+ case left: return NEEDS_TRANS("Left");\r
+ case right: return NEEDS_TRANS("Right");\r
+ case centre: return NEEDS_TRANS("Centre");\r
+ case LFE: return NEEDS_TRANS("LFE");\r
+ case leftSurround: return NEEDS_TRANS("Left Surround");\r
+ case rightSurround: return NEEDS_TRANS("Right Surround");\r
+ case leftCentre: return NEEDS_TRANS("Left Centre");\r
+ case rightCentre: return NEEDS_TRANS("Right Centre");\r
+ case centreSurround: return NEEDS_TRANS("Centre Surround");\r
+ case leftSurroundRear: return NEEDS_TRANS("Left Surround Rear");\r
+ case rightSurroundRear: return NEEDS_TRANS("Right Surround Rear");\r
+ case topMiddle: return NEEDS_TRANS("Top Middle");\r
+ case topFrontLeft: return NEEDS_TRANS("Top Front Left");\r
+ case topFrontCentre: return NEEDS_TRANS("Top Front Centre");\r
+ case topFrontRight: return NEEDS_TRANS("Top Front Right");\r
+ case topRearLeft: return NEEDS_TRANS("Top Rear Left");\r
+ case topRearCentre: return NEEDS_TRANS("Top Rear Centre");\r
+ case topRearRight: return NEEDS_TRANS("Top Rear Right");\r
+ case wideLeft: return NEEDS_TRANS("Wide Left");\r
+ case wideRight: return NEEDS_TRANS("Wide Right");\r
+ case LFE2: return NEEDS_TRANS("LFE 2");\r
+ case leftSurroundSide: return NEEDS_TRANS ("Left Surround Side");\r
+ case rightSurroundSide: return NEEDS_TRANS ("Right Surround Side");\r
+ case ambisonicW: return NEEDS_TRANS("Ambisonic W");\r
+ case ambisonicX: return NEEDS_TRANS("Ambisonic X");\r
+ case ambisonicY: return NEEDS_TRANS("Ambisonic Y");\r
+ case ambisonicZ: return NEEDS_TRANS("Ambisonic Z");\r
+ default: break;\r
+ }\r
+\r
+ return "Unknown";\r
+}\r
+\r
+String AudioChannelSet::getAbbreviatedChannelTypeName (AudioChannelSet::ChannelType type)\r
+{\r
+ if (type >= discreteChannel0)\r
+ return String (type - discreteChannel0 + 1);\r
+\r
+ switch (type)\r
+ {\r
+ case left: return "L";\r
+ case right: return "R";\r
+ case centre: return "C";\r
+ case LFE: return "Lfe";\r
+ case leftSurround: return "Ls";\r
+ case rightSurround: return "Rs";\r
+ case leftCentre: return "Lc";\r
+ case rightCentre: return "Rc";\r
+ case centreSurround: return "Cs";\r
+ case leftSurroundRear: return "Lrs";\r
+ case rightSurroundRear: return "Rrs";\r
+ case topMiddle: return "Tm";\r
+ case topFrontLeft: return "Tfl";\r
+ case topFrontCentre: return "Tfc";\r
+ case topFrontRight: return "Tfr";\r
+ case topRearLeft: return "Trl";\r
+ case topRearCentre: return "Trc";\r
+ case topRearRight: return "Trr";\r
+ case wideLeft: return "Wl";\r
+ case wideRight: return "Wr";\r
+ case LFE2: return "Lfe2";\r
+ case leftSurroundSide: return "Lss";\r
+ case rightSurroundSide: return "Rss";\r
+ case ambisonicW: return "W";\r
+ case ambisonicX: return "X";\r
+ case ambisonicY: return "Y";\r
+ case ambisonicZ: return "Z";\r
+ default: break;\r
+ }\r
+\r
+ return "";\r
+}\r
+\r
+String AudioChannelSet::getSpeakerArrangementAsString() const\r
+{\r
+ StringArray speakerTypes;\r
+ Array<AudioChannelSet::ChannelType> speakers = getChannelTypes();\r
+\r
+ for (int i = 0; i < speakers.size(); ++i)\r
+ {\r
+ String name = getAbbreviatedChannelTypeName (speakers.getReference (i));\r
+\r
+ if (name.isNotEmpty())\r
+ speakerTypes.add (name);\r
+ }\r
+\r
+ return speakerTypes.joinIntoString (" ");\r
+}\r
+\r
+String AudioChannelSet::getDescription() const\r
+{\r
+ if (isDiscreteLayout()) return String ("Discrete #") + String (size());\r
+ if (*this == disabled()) return "Disabled";\r
+ if (*this == mono()) return "Mono";\r
+ if (*this == stereo()) return "Stereo";\r
+\r
+ if (*this == createLCR()) return "LCR";\r
+ if (*this == createLRS()) return "LRS";\r
+ if (*this == createLCRS()) return "LCRS";\r
+\r
+ if (*this == create5point0()) return "5.1 Surround";\r
+ if (*this == create5point1()) return "5.1 Surround (+Lfe)";\r
+ if (*this == create6point0()) return "6.1 Surround";\r
+ if (*this == create6point1()) return "6.1 Surround (+Lfe)";\r
+ if (*this == create6point0Music()) return "6.1 (Music) Surround";\r
+ if (*this == create6point1Music()) return "6.1 (Music) Surround (+Lfe)";\r
+ if (*this == create7point0()) return "7.1 Surround";\r
+ if (*this == create7point1()) return "7.1 Surround (Lfe)";\r
+ if (*this == create7point0SDDS()) return "7.1 Surround SDDS";\r
+ if (*this == create7point1SDDS()) return "7.1 Surround SDDS (+Lfe)";\r
+\r
+ if (*this == quadraphonic()) return "Quadraphonic";\r
+ if (*this == pentagonal()) return "Pentagonal";\r
+ if (*this == hexagonal()) return "Hexagonal";\r
+ if (*this == octagonal()) return "Octagonal";\r
+ if (*this == ambisonic()) return "Ambisonic";\r
+\r
+\r
+\r
+ return "Unknown";\r
+}\r
+\r
+bool AudioChannelSet::isDiscreteLayout() const noexcept\r
+{\r
+ Array<AudioChannelSet::ChannelType> speakers = getChannelTypes();\r
+ for (int i = 0; i < speakers.size(); ++i)\r
+ if (speakers.getReference (i) > ambisonicZ)\r
+ return true;\r
+\r
+ return false;\r
+}\r
+\r
+int AudioChannelSet::size() const noexcept\r
+{\r
+ return channels.countNumberOfSetBits();\r
+}\r
+\r
+AudioChannelSet::ChannelType AudioChannelSet::getTypeOfChannel (int index) const noexcept\r
+{\r
+ int bit = channels.findNextSetBit(0);\r
+\r
+ for (int i = 0; i < index && bit >= 0; ++i)\r
+ bit = channels.findNextSetBit (bit + 1);\r
+\r
+ return static_cast<ChannelType> (bit);\r
+}\r
+\r
+int AudioChannelSet::getChannelIndexForType (AudioChannelSet::ChannelType type) const noexcept\r
+{\r
+ int idx = 0;\r
+ for (int bit = channels.findNextSetBit (0); bit >= 0; bit = channels.findNextSetBit (bit + 1))\r
+ {\r
+ if (static_cast<ChannelType> (bit) == type)\r
+ return idx;\r
+\r
+ idx++;\r
+ }\r
+\r
+ return -1;\r
+}\r
+\r
+Array<AudioChannelSet::ChannelType> AudioChannelSet::getChannelTypes() const\r
+{\r
+ Array<ChannelType> result;\r
+\r
+ for (int bit = channels.findNextSetBit(0); bit >= 0; bit = channels.findNextSetBit (bit + 1))\r
+ result.add (static_cast<ChannelType> (bit));\r
+\r
+ return result;\r
+}\r
+\r
+void AudioChannelSet::addChannel (ChannelType newChannel)\r
+{\r
+ const int bit = static_cast<int> (newChannel);\r
+ jassert (bit >= 0 && bit < 1024);\r
+ channels.setBit (bit);\r
+}\r
+\r
+void AudioChannelSet::removeChannel (ChannelType newChannel)\r
+{\r
+ const int bit = static_cast<int> (newChannel);\r
+ jassert (bit >= 0 && bit < 1024);\r
+ channels.clearBit (bit);\r
+}\r
+\r
+AudioChannelSet AudioChannelSet::disabled() { return AudioChannelSet(); }\r
+AudioChannelSet AudioChannelSet::mono() { return AudioChannelSet (1u << centre); }\r
+AudioChannelSet AudioChannelSet::stereo() { return AudioChannelSet ((1u << left) | (1u << right)); }\r
+AudioChannelSet AudioChannelSet::createLCR() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre)); }\r
+AudioChannelSet AudioChannelSet::createLRS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << surround)); }\r
+AudioChannelSet AudioChannelSet::createLCRS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << surround)); }\r
+AudioChannelSet AudioChannelSet::create5point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround)); }\r
+AudioChannelSet AudioChannelSet::create5point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << LFE)); }\r
+AudioChannelSet AudioChannelSet::create6point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << centreSurround)); }\r
+AudioChannelSet AudioChannelSet::create6point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << centreSurround) | (1u << LFE)); }\r
+AudioChannelSet AudioChannelSet::create6point0Music() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftSurroundSide) | (1u << rightSurroundSide)); }\r
+AudioChannelSet AudioChannelSet::create6point1Music() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << LFE)); }\r
+AudioChannelSet AudioChannelSet::create7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << leftSurroundRear) | (1u << rightSurroundRear)); }\r
+AudioChannelSet AudioChannelSet::create7point0SDDS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftCentre) | (1u << rightCentre)); }\r
+AudioChannelSet AudioChannelSet::create7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurroundSide) | (1u << rightSurroundSide) | (1u << leftSurroundRear) | (1u << rightSurroundRear) | (1u << LFE)); }\r
+AudioChannelSet AudioChannelSet::create7point1SDDS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftCentre) | (1u << rightCentre) | (1u << LFE)); }\r
+AudioChannelSet AudioChannelSet::ambisonic() { return AudioChannelSet ((1u << ambisonicW) | (1u << ambisonicX) | (1u << ambisonicY) | (1u << ambisonicZ)); }\r
+AudioChannelSet AudioChannelSet::quadraphonic() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround)); }\r
+AudioChannelSet AudioChannelSet::pentagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurroundRear) | (1u << rightSurroundRear)); }\r
+AudioChannelSet AudioChannelSet::hexagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurroundRear) | (1u << rightSurroundRear) | (1u << centre) | (1u << centreSurround)); }\r
+AudioChannelSet AudioChannelSet::octagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround) | (1u << centre) | (1u << centreSurround) | (1u << wideLeft) | (1u << wideRight)); }\r
+\r
+\r
+AudioChannelSet AudioChannelSet::discreteChannels (int numChannels)\r
+{\r
+ AudioChannelSet s;\r
+ s.channels.setRange (discreteChannel0, numChannels, true);\r
+ return s;\r
+}\r
+\r
+AudioChannelSet AudioChannelSet::canonicalChannelSet (int numChannels)\r
+{\r
+ if (numChannels == 1) return AudioChannelSet::mono();\r
+ if (numChannels == 2) return AudioChannelSet::stereo();\r
+ if (numChannels == 3) return AudioChannelSet::createLCR();\r
+ if (numChannels == 4) return AudioChannelSet::quadraphonic();\r
+ if (numChannels == 5) return AudioChannelSet::create5point0();\r
+ if (numChannels == 6) return AudioChannelSet::create5point1();\r
+ if (numChannels == 7) return AudioChannelSet::create7point0();\r
+ if (numChannels == 8) return AudioChannelSet::create7point1();\r
+\r
+ return discreteChannels (numChannels);\r
+}\r
+\r
+AudioChannelSet AudioChannelSet::namedChannelSet (int numChannels)\r
+{\r
+ if (numChannels == 1) return AudioChannelSet::mono();\r
+ if (numChannels == 2) return AudioChannelSet::stereo();\r
+ if (numChannels == 3) return AudioChannelSet::createLCR();\r
+ if (numChannels == 4) return AudioChannelSet::quadraphonic();\r
+ if (numChannels == 5) return AudioChannelSet::create5point0();\r
+ if (numChannels == 6) return AudioChannelSet::create5point1();\r
+ if (numChannels == 7) return AudioChannelSet::create7point0();\r
+ if (numChannels == 8) return AudioChannelSet::create7point1();\r
+\r
+ return AudioChannelSet();\r
+}\r
+\r
+Array<AudioChannelSet> AudioChannelSet::channelSetsWithNumberOfChannels (int numChannels)\r
+{\r
+ Array<AudioChannelSet> retval;\r
+\r
+ if (numChannels != 0)\r
+ {\r
+ retval.add (AudioChannelSet::discreteChannels (numChannels));\r
+\r
+ if (numChannels == 1)\r
+ {\r
+ retval.add (AudioChannelSet::mono());\r
+ }\r
+ else if (numChannels == 2)\r
+ {\r
+ retval.add (AudioChannelSet::stereo());\r
+ }\r
+ else if (numChannels == 3)\r
+ {\r
+ retval.add (AudioChannelSet::createLCR());\r
+ retval.add (AudioChannelSet::createLRS());\r
+ }\r
+ else if (numChannels == 4)\r
+ {\r
+ retval.add (AudioChannelSet::quadraphonic());\r
+ retval.add (AudioChannelSet::createLCRS());\r
+ retval.add (AudioChannelSet::ambisonic());\r
+ }\r
+ else if (numChannels == 5)\r
+ {\r
+ retval.add (AudioChannelSet::create5point0());\r
+ retval.add (AudioChannelSet::pentagonal());\r
+ }\r
+ else if (numChannels == 6)\r
+ {\r
+ retval.add (AudioChannelSet::create5point1());\r
+ retval.add (AudioChannelSet::create6point0());\r
+ retval.add (AudioChannelSet::create6point0Music());\r
+ retval.add (AudioChannelSet::hexagonal());\r
+ }\r
+ else if (numChannels == 7)\r
+ {\r
+ retval.add (AudioChannelSet::create7point0());\r
+ retval.add (AudioChannelSet::create7point0SDDS());\r
+ retval.add (AudioChannelSet::create6point1());\r
+ retval.add (AudioChannelSet::create6point1Music());\r
+ }\r
+ else if (numChannels == 8)\r
+ {\r
+ retval.add (AudioChannelSet::create7point1());\r
+ retval.add (AudioChannelSet::create7point1SDDS());\r
+ retval.add (AudioChannelSet::octagonal());\r
+ }\r
+ }\r
+\r
+ return retval;\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#ifndef JUCE_AUDIOCHANNELSET_H_INCLUDED\r
+#define JUCE_AUDIOCHANNELSET_H_INCLUDED\r
+\r
+\r
+//==============================================================================\r
+/**\r
+ Represents a set of audio channel types.\r
+\r
+ For example, you might have a set of left + right channels, which is a stereo\r
+ channel set. It is a collection of values from the AudioChannelSet::ChannelType\r
+ enum, where each type may only occur once within the set.\r
+\r
+ The documentation below lists which AudioChannelSet corresponds to which native\r
+ layouts used by AAX, VST2/VST3 and CoreAudio/AU. The layout tags in CoreAudio\r
+ are particularly confusing. For example, the layout which is labeled as "7.1 SDDS"\r
+ in Logic Pro, corresponds to CoreAudio/AU's kAudioChannelLayoutTag_DTS_7_0 tag, whereas\r
+ AAX's DTS 7.1 Layout corresponds to CoreAudio/AU's\r
+ kAudioChannelLayoutTag_MPEG_7_1_A format, etc. Please do not use the CoreAudio tag\r
+ as an indication to the actual layout of the speakers.\r
+\r
+ @see Bus\r
+*/\r
+class JUCE_API AudioChannelSet\r
+{\r
+public:\r
+ /** Creates an empty channel set.\r
+ You can call addChannel to add channels to the set.\r
+ */\r
+ AudioChannelSet() noexcept {}\r
+\r
+ /** Creates a zero-channel set which can be used to indicate that a\r
+ bus is disabled. */\r
+ static AudioChannelSet disabled();\r
+\r
+ //==============================================================================\r
+ /** Creates a one-channel mono set (centre).\r
+\r
+ Is equivalent to: kMonoAAX (VST), AAX_eStemFormat_Mono (AAX), kAudioChannelLayoutTag_Mono (CoreAudio)\r
+ */\r
+ static AudioChannelSet mono();\r
+\r
+\r
+ /** Creates a set containing a stereo set (left, right).\r
+\r
+ Is equivalent to: kStereo (VST), AAX_eStemFormat_Stereo (AAX), kAudioChannelLayoutTag_Stereo (CoreAudio)\r
+ */\r
+ static AudioChannelSet stereo();\r
+\r
+\r
+ //==============================================================================\r
+ /** Creates a set containing an LCR set (left, right, centre).\r
+\r
+ Is equivalent to: k30Cine (VST), AAX_eStemFormat_LCR (AAX), kAudioChannelLayoutTag_MPEG_3_0_A (CoreAudio)\r
+\r
+ This format is referred to as "LRC" in Cubase.\r
+ This format is referred to as "LCR" in Pro Tools.\r
+ */\r
+ static AudioChannelSet createLCR();\r
+\r
+\r
+ /** Creates a set containing an LRS set (left, right, surround).\r
+\r
+ Is equivalent to: k30Music (VST), n/a (AAX), kAudioChannelLayoutTag_ITU_2_1 (CoreAudio)\r
+\r
+ This format is referred to as "LRS" in Cubase.\r
+ */\r
+ static AudioChannelSet createLRS();\r
+\r
+\r
+ /** Creates a set containing an LCRS set (left, right, centre, surround).\r
+\r
+ Is equivalent to: k40Cine (VST), AAX_eStemFormat_LCRS (AAX), kAudioChannelLayoutTag_MPEG_4_0_A (CoreAudio)\r
+\r
+ This format is referred to as "LCRS (Pro Logic)" in Logic Pro.\r
+ This format is referred to as "LRCS" in Cubase.\r
+ This format is referred to as "LCRS" in Pro Tools.\r
+ */\r
+ static AudioChannelSet createLCRS();\r
+\r
+\r
+ //==============================================================================\r
+ /** Creates a set for a 5.0 surround setup (left, right, centre, leftSurround, rightSurround).\r
+\r
+ Is equivalent to: k50 (VST), AAX_eStemFormat_5_0 (AAX), kAudioChannelLayoutTag_MPEG_5_0_A (CoreAudio)\r
+\r
+ This format is referred to as "5.0" in Cubase.\r
+ This format is referred to as "5.0" in Pro Tools.\r
+ */\r
+ static AudioChannelSet create5point0();\r
+\r
+\r
+ /** Creates a set for a 5.1 surround setup (left, right, centre, leftSurround, rightSurround, LFE).\r
+\r
+ Is equivalent to: k51 (VST), AAX_eStemFormat_5_1 (AAX), kAudioChannelLayoutTag_MPEG_5_1_A (CoreAudio)\r
+\r
+ This format is referred to as "5.1 (ITU 775)" in Logic Pro.\r
+ This format is referred to as "5.1" in Cubase.\r
+ This format is referred to as "5.1" in Pro Tools.\r
+ */\r
+ static AudioChannelSet create5point1();\r
+\r
+\r
+ /** Creates a set for a 6.0 Cine surround setup (left, right, centre, leftSurround, rightSurround, centreSurround).\r
+\r
+ Is equivalent to: k60Cine (VST), AAX_eStemFormat_6_0 (AAX), kAudioChannelLayoutTag_AudioUnit_6_0 (CoreAudio)\r
+\r
+ Logic Pro incorrectly uses this for the surround format labeled "6.1 (ES/EX)".\r
+ This format is referred to as "6.0 Cine" in Cubase.\r
+ This format is referred to as "6.0" in Pro Tools.\r
+ */\r
+ static AudioChannelSet create6point0();\r
+\r
+\r
+ /** Creates a set for a 6.1 Cine surround setup (left, right, centre, leftSurround, rightSurround, centreSurround, LFE).\r
+\r
+ Is equivalent to: k61Cine (VST), AAX_eStemFormat_6_1 (AAX), kAudioChannelLayoutTag_MPEG_6_1_A (CoreAudio)\r
+\r
+ This format is referred to as "6.1" in Pro Tools.\r
+ */\r
+ static AudioChannelSet create6point1();\r
+\r
+\r
+ /** Creates a set for a 6.0 Music surround setup (left, right, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide).\r
+\r
+ Is equivalent to: k60Music (VST), n/a (AAX), kAudioChannelLayoutTag_DTS_6_0_A (CoreAudio)\r
+\r
+ This format is referred to as "6.0 Music" in Cubase.\r
+ */\r
+ static AudioChannelSet create6point0Music();\r
+\r
+\r
+ /** Creates a set for a 6.0 Music surround setup (left, right, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide, LFE).\r
+\r
+ Is equivalent to: k61Music (VST), n/a (AAX), kAudioChannelLayoutTag_DTS_6_1_A (CoreAudio)\r
+ */\r
+ static AudioChannelSet create6point1Music();\r
+\r
+\r
+ /** Creates a set for a DTS 7.0 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear).\r
+\r
+ Is equivalent to: k70Music (VST), AAX_eStemFormat_7_0_DTS (AAX), kAudioChannelLayoutTag_AudioUnit_7_0 (CoreAudio)\r
+\r
+ This format is referred to as "7.0" in Pro Tools.\r
+ */\r
+ static AudioChannelSet create7point0();\r
+\r
+\r
+ /** Creates a set for a SDDS 7.0 surround setup (left, right, centre, leftSurround, rightSurround, leftCentre, rightCentre).\r
+\r
+ Is equivalent to: k70Cine (VST), AAX_eStemFormat_7_0_SDDS (AAX), kAudioChannelLayoutTag_AudioUnit_7_0_Front (CoreAudio)\r
+\r
+ This format is referred to as "7.0 SDDS" in Pro Tools.\r
+ */\r
+ static AudioChannelSet create7point0SDDS();\r
+\r
+\r
+ /** Creates a set for a DTS 7.1 surround setup (left, right, centre, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear, LFE).\r
+\r
+ Is equivalent to: k71CineSideFill (VST), AAX_eStemFormat_7_1_DTS (AAX), kAudioChannelLayoutTag_MPEG_7_1_C/kAudioChannelLayoutTag_ITU_3_4_1 (CoreAudio)\r
+\r
+ This format is referred to as "7.1 (3/4.1)" in Logic Pro.\r
+ This format is referred to as "7.1" in Pro Tools.\r
+ */\r
+ static AudioChannelSet create7point1();\r
+\r
+\r
+ /** Creates a set for a 7.1 surround setup (left, right, centre, leftSurround, rightSurround, leftCentre, rightCentre, LFE).\r
+\r
+ Is equivalent to: k71Cine (VST), AAX_eStemFormat_7_1_SDDS (AAX), kAudioChannelLayoutTag_MPEG_7_1_A (CoreAudio)\r
+\r
+ This format is referred to as "7.1 (SDDS)" in Logic Pro.\r
+ This format is referred to as "7.1 SDDS" in Pro Tools.\r
+ */\r
+ static AudioChannelSet create7point1SDDS();\r
+\r
+\r
+ //==============================================================================\r
+ /** Creates a set for ambisonic surround setups (ambisonicW, ambisonicX, ambisonicY, ambisonicZ).\r
+\r
+ Is equivalent to: kBFormat (VST), n/a (AAX), kAudioChannelLayoutTag_Ambisonic_B_Format (CoreAudio)\r
+ */\r
+ static AudioChannelSet ambisonic();\r
+\r
+\r
+ /** Creates a set for quadraphonic surround setup (left, right, leftSurround, rightSurround)\r
+\r
+ Is equivalent to: k40Music (VST), AAX_eStemFormat_Quad (AAX), kAudioChannelLayoutTag_Quadraphonic (CoreAudio)\r
+\r
+ This format is referred to as "Quadraphonic" in Logic Pro.\r
+ This format is referred to as "Quadro" in Cubase.\r
+ This format is referred to as "Quad" in Pro Tools.\r
+ */\r
+ static AudioChannelSet quadraphonic();\r
+\r
+\r
+ /** Creates a set for pentagonal surround setup (left, right, centre, leftSurroundRear, rightSurroundRear).\r
+\r
+ Is equivalent to: n/a (VST), n/a (AAX), kAudioChannelLayoutTag_Pentagonal (CoreAudio)\r
+ */\r
+ static AudioChannelSet pentagonal();\r
+\r
+\r
+ /** Creates a set for hexagonal surround setup (left, right, leftSurroundRear, rightSurroundRear, centre, surroundCentre).\r
+\r
+ Is equivalent to: n/a (VST), n/a (AAX), kAudioChannelLayoutTag_Hexagonal (CoreAudio)\r
+ */\r
+ static AudioChannelSet hexagonal();\r
+\r
+\r
+ /** Creates a set for octagonal surround setup (left, right, leftSurround, rightSurround, centre, centreSurround, wideLeft, wideRight).\r
+\r
+ Is equivalent to: n/a (VST), n/a (AAX), kAudioChannelLayoutTag_Octagonal (CoreAudio)\r
+ */\r
+ static AudioChannelSet octagonal();\r
+\r
+ //==============================================================================\r
+ /** Creates a set of untyped discrete channels. */\r
+ static AudioChannelSet discreteChannels (int numChannels);\r
+\r
+ /** Create a canonical channel set for a given number of channels.\r
+ For example, numChannels = 1 will return mono, numChannels = 2 will return stereo, etc. */\r
+ static AudioChannelSet canonicalChannelSet (int numChannels);\r
+\r
+ /** Create a channel set for a given number of channels which is non-discrete.\r
+ If numChannels is larger than the number of channels of the surround format\r
+ with the maximum amount of channels (currently 7.1 Surround), then this\r
+ function returns an empty set.*/\r
+ static AudioChannelSet namedChannelSet (int numChannels);\r
+\r
+ /** Return an array of channel sets which have a given number of channels */\r
+ static Array<AudioChannelSet> channelSetsWithNumberOfChannels (int numChannels);\r
+\r
+ //==============================================================================\r
+ /** Represents different audio channel types. */\r
+ enum ChannelType\r
+ {\r
+ unknown = 0,\r
+\r
+ left = 1, // L\r
+ right = 2, // R\r
+ centre = 3, // C (sometimes M for mono)\r
+\r
+ LFE = 4,\r
+ leftSurround = 5, // Ls\r
+ rightSurround = 6, // Rs\r
+ leftCentre = 7, // Lc (AAX/VST), Lc used as Lss in AU for most layouts\r
+ rightCentre = 8, // Rc (AAX/VST), Rc used as Rss in AU for most layouts\r
+ centreSurround = 9, // Cs/S\r
+ surround = centreSurround, // Cs/S\r
+ leftSurroundSide = 10, // Lss (AXX), Side Left "Sl" (VST), Left Centre "LC" (AU)\r
+ rightSurroundSide = 11, // Rss (AXX), Side right "Sr" (VST), Right Centre "Rc" (AU)\r
+ topMiddle = 12,\r
+ topFrontLeft = 13,\r
+ topFrontCentre = 14,\r
+ topFrontRight = 15,\r
+ topRearLeft = 16,\r
+ topRearCentre = 17,\r
+ topRearRight = 18,\r
+ LFE2 = 19,\r
+ leftSurroundRear = 20, // Lsr (AAX), Lcs (VST), Rls (AU)\r
+ rightSurroundRear = 21, // Rsr (AAX), Rcs (VST), Rrs (AU)\r
+ wideLeft = 22,\r
+ wideRight = 23,\r
+\r
+\r
+ ambisonicW = 24,\r
+ ambisonicX = 25,\r
+ ambisonicY = 26,\r
+ ambisonicZ = 27,\r
+\r
+\r
+ discreteChannel0 = 64 /**< Non-typed individual channels are indexed upwards from this value. */\r
+ };\r
+\r
+ /** Returns the name of a given channel type. For example, this method may return "Surround Left". */\r
+ static String getChannelTypeName (ChannelType);\r
+\r
+ /** Returns the abbreviated name of a channel type. For example, this method may return "Ls". */\r
+ static String getAbbreviatedChannelTypeName (ChannelType);\r
+\r
+ //==============================================================================\r
+ enum\r
+ {\r
+ maxChannelsOfNamedLayout = 8\r
+ };\r
+\r
+ /** Adds a channel to the set. */\r
+ void addChannel (ChannelType newChannelType);\r
+\r
+ /** Removes a channel from the set. */\r
+ void removeChannel (ChannelType newChannelType);\r
+\r
+ /** Returns the number of channels in the set. */\r
+ int size() const noexcept;\r
+\r
+ /** Returns true if there are no channels in the set. */\r
+ bool isDisabled() const noexcept { return size() == 0; }\r
+\r
+ /** Returns an array of all the types in this channel set. */\r
+ Array<ChannelType> getChannelTypes() const;\r
+\r
+ /** Returns the type of one of the channels in the set, by index. */\r
+ ChannelType getTypeOfChannel (int channelIndex) const noexcept;\r
+\r
+ /** Returns the index for a particular channel-type.\r
+ Will return -1 if the this set does not contain a channel of this type. */\r
+ int getChannelIndexForType (ChannelType type) const noexcept;\r
+\r
+ /** Returns a string containing a whitespace-separated list of speaker types\r
+ corresponding to each channel. For example in a 5.1 arrangement,\r
+ the string may be "L R C Lfe Ls Rs". If the speaker arrangement is unknown,\r
+ the returned string will be empty.*/\r
+ String getSpeakerArrangementAsString() const;\r
+\r
+ /** Returns the description of the current layout. For example, this method may return\r
+ "Quadraphonic". Note that the returned string may not be unique. */\r
+ String getDescription() const;\r
+\r
+ /** Returns if this is a channel layout made-up of discrete channels. */\r
+ bool isDiscreteLayout() const noexcept;\r
+\r
+ /** Intersect two channel layouts. */\r
+ void intersect (const AudioChannelSet& other) { channels &= other.channels; }\r
+\r
+ //==============================================================================\r
+ bool operator== (const AudioChannelSet&) const noexcept;\r
+ bool operator!= (const AudioChannelSet&) const noexcept;\r
+ bool operator< (const AudioChannelSet&) const noexcept;\r
+private:\r
+ BigInteger channels;\r
+\r
+ explicit AudioChannelSet (uint32);\r
+};\r
+\r
+\r
+\r
+#endif // JUCE_AUDIOCHANNELSET_H_INCLUDED\r
IIRCoefficients IIRCoefficients::makeLowPass (const double sampleRate,\r
const double frequency) noexcept\r
{\r
- jassert (sampleRate > 0);\r
+ return makeLowPass (sampleRate, frequency, 1.0 / std::sqrt (2.0));\r
+}\r
+\r
+IIRCoefficients IIRCoefficients::makeLowPass (const double sampleRate,\r
+ const double frequency,\r
+ const double Q) noexcept\r
+{\r
+ jassert (sampleRate > 0.0);\r
+ jassert (frequency > 0.0 && frequency <= sampleRate * 0.5);\r
+ jassert (Q > 0.0);\r
\r
const double n = 1.0 / std::tan (double_Pi * frequency / sampleRate);\r
const double nSquared = n * n;\r
- const double c1 = 1.0 / (1.0 + std::sqrt (2.0) * n + nSquared);\r
+ const double c1 = 1.0 / (1.0 + 1.0 / Q * n + nSquared);\r
\r
return IIRCoefficients (c1,\r
c1 * 2.0,\r
c1,\r
1.0,\r
c1 * 2.0 * (1.0 - nSquared),\r
- c1 * (1.0 - std::sqrt (2.0) * n + nSquared));\r
+ c1 * (1.0 - 1.0 / Q * n + nSquared));\r
}\r
\r
IIRCoefficients IIRCoefficients::makeHighPass (const double sampleRate,\r
const double frequency) noexcept\r
{\r
+ return makeHighPass (sampleRate, frequency, 1.0 / std::sqrt(2.0));\r
+}\r
+\r
+IIRCoefficients IIRCoefficients::makeHighPass (const double sampleRate,\r
+ const double frequency,\r
+ const double Q) noexcept\r
+{\r
+ jassert (sampleRate > 0.0);\r
+ jassert (frequency > 0.0 && frequency <= sampleRate * 0.5);\r
+ jassert (Q > 0.0);\r
+\r
const double n = std::tan (double_Pi * frequency / sampleRate);\r
const double nSquared = n * n;\r
- const double c1 = 1.0 / (1.0 + std::sqrt (2.0) * n + nSquared);\r
+ const double c1 = 1.0 / (1.0 + 1.0 / Q * n + nSquared);\r
\r
return IIRCoefficients (c1,\r
c1 * -2.0,\r
c1,\r
1.0,\r
c1 * 2.0 * (nSquared - 1.0),\r
- c1 * (1.0 - std::sqrt (2.0) * n + nSquared));\r
+ c1 * (1.0 - 1.0 / Q * n + nSquared));\r
+}\r
+\r
+IIRCoefficients IIRCoefficients::makeBandPass (const double sampleRate,\r
+ const double frequency) noexcept\r
+{\r
+ return makeBandPass (sampleRate, frequency, 1.0 / std::sqrt (2.0));\r
+}\r
+\r
+IIRCoefficients IIRCoefficients::makeBandPass (const double sampleRate,\r
+ const double frequency,\r
+ const double Q) noexcept\r
+{\r
+ jassert (sampleRate > 0.0);\r
+ jassert (frequency > 0.0 && frequency <= sampleRate * 0.5);\r
+ jassert (Q > 0.0);\r
+\r
+ const double n = 1.0 / std::tan (double_Pi * frequency / sampleRate);\r
+ const double nSquared = n * n;\r
+ const double c1 = 1.0 / (1.0 + 1.0 / Q * n + nSquared);\r
+\r
+ return IIRCoefficients (c1 * n / Q,\r
+ 0.0,\r
+ -c1 * n / Q,\r
+ 1.0,\r
+ c1 * 2.0 * (1.0 - nSquared),\r
+ c1 * (1.0 - 1.0 / Q * n + nSquared));\r
+}\r
+\r
+IIRCoefficients IIRCoefficients::makeNotchFilter (const double sampleRate,\r
+ const double frequency) noexcept\r
+{\r
+ return makeNotchFilter (sampleRate, frequency, 1.0 / std::sqrt (2.0));\r
+}\r
+\r
+IIRCoefficients IIRCoefficients::makeNotchFilter (const double sampleRate,\r
+ const double frequency,\r
+ const double Q) noexcept\r
+{\r
+ jassert (sampleRate > 0.0);\r
+ jassert (frequency > 0.0 && frequency <= sampleRate * 0.5);\r
+ jassert (Q > 0.0);\r
+\r
+ const double n = 1.0 / std::tan (double_Pi * frequency / sampleRate);\r
+ const double nSquared = n * n;\r
+ const double c1 = 1.0 / (1.0 + n / Q + nSquared);\r
+\r
+ return IIRCoefficients (c1 * (1.0 + nSquared),\r
+ 2.0 * c1 * (1.0 - nSquared),\r
+ c1 * (1.0 + nSquared),\r
+ 1.0,\r
+ c1 * 2.0 * (1.0 - nSquared),\r
+ c1 * (1.0 - n / Q + nSquared));\r
+}\r
+\r
+IIRCoefficients IIRCoefficients::makeAllPass (const double sampleRate,\r
+ const double frequency) noexcept\r
+{\r
+ return makeAllPass (sampleRate, frequency, 1.0 / std::sqrt (2.0));\r
+}\r
+\r
+IIRCoefficients IIRCoefficients::makeAllPass (const double sampleRate,\r
+ const double frequency,\r
+ const double Q) noexcept\r
+{\r
+ jassert (sampleRate > 0.0);\r
+ jassert (frequency > 0.0 && frequency <= sampleRate * 0.5);\r
+ jassert (Q > 0.0);\r
+\r
+ const double n = 1.0 / std::tan (double_Pi * frequency / sampleRate);\r
+ const double nSquared = n * n;\r
+ const double c1 = 1.0 / (1.0 + 1.0 / Q * n + nSquared);\r
+\r
+ return IIRCoefficients (c1 * (1.0 - n / Q + nSquared),\r
+ c1 * 2.0 * (1.0 - nSquared),\r
+ 1.0,\r
+ 1.0,\r
+ c1 * 2.0 * (1.0 - nSquared),\r
+ c1 * (1.0 - n / Q + nSquared));\r
}\r
\r
IIRCoefficients IIRCoefficients::makeLowShelf (const double sampleRate,\r
const double Q,\r
const float gainFactor) noexcept\r
{\r
- jassert (sampleRate > 0);\r
- jassert (Q > 0);\r
+ jassert (sampleRate > 0.0);\r
+ jassert (cutOffFrequency > 0.0 && cutOffFrequency <= sampleRate * 0.5);\r
+ jassert (Q > 0.0);\r
\r
const double A = jmax (0.0f, std::sqrt (gainFactor));\r
const double aminus1 = A - 1.0;\r
const double Q,\r
const float gainFactor) noexcept\r
{\r
- jassert (sampleRate > 0);\r
- jassert (Q > 0);\r
+ jassert (sampleRate > 0.0);\r
+ jassert (cutOffFrequency > 0.0 && cutOffFrequency <= sampleRate * 0.5);\r
+ jassert (Q > 0.0);\r
\r
const double A = jmax (0.0f, std::sqrt (gainFactor));\r
const double aminus1 = A - 1.0;\r
}\r
\r
IIRCoefficients IIRCoefficients::makePeakFilter (const double sampleRate,\r
- const double centreFrequency,\r
+ const double frequency,\r
const double Q,\r
const float gainFactor) noexcept\r
{\r
- jassert (sampleRate > 0);\r
- jassert (Q > 0);\r
+ jassert (sampleRate > 0.0);\r
+ jassert (frequency > 0.0 && frequency <= sampleRate * 0.5);\r
+ jassert (Q > 0.0);\r
\r
const double A = jmax (0.0f, std::sqrt (gainFactor));\r
- const double omega = (double_Pi * 2.0 * jmax (centreFrequency, 2.0)) / sampleRate;\r
+ const double omega = (double_Pi * 2.0 * jmax (frequency, 2.0)) / sampleRate;\r
const double alpha = 0.5 * std::sin (omega) / Q;\r
const double c2 = -2.0 * std::cos (omega);\r
const double alphaTimesA = alpha * A;\r
\r
//==============================================================================\r
IIRFilter::IIRFilter() noexcept\r
- : v1 (0), v2 (0), active (false)\r
+ : v1 (0.0), v2 (0.0), active (false)\r
{\r
}\r
\r
IIRFilter::IIRFilter (const IIRFilter& other) noexcept\r
- : v1 (0), v2 (0), active (other.active)\r
+ : v1 (0.0), v2 (0.0), active (other.active)\r
{\r
const SpinLock::ScopedLockType sl (other.processLock);\r
coefficients = other.coefficients;\r
void IIRFilter::reset() noexcept\r
{\r
const SpinLock::ScopedLockType sl (processLock);\r
- v1 = v2 = 0;\r
+ v1 = v2 = 0.0;\r
}\r
\r
float IIRFilter::processSingleSampleRaw (const float in) noexcept\r
/** Destructor. */\r
~IIRCoefficients() noexcept;\r
\r
+ //==============================================================================\r
/** Returns the coefficients for a low-pass filter. */\r
static IIRCoefficients makeLowPass (double sampleRate,\r
double frequency) noexcept;\r
\r
+ /** Returns the coefficients for a low-pass filter with variable Q. */\r
+ static IIRCoefficients makeLowPass (double sampleRate,\r
+ double frequency,\r
+ double Q) noexcept;\r
+\r
+ //==============================================================================\r
/** Returns the coefficients for a high-pass filter. */\r
static IIRCoefficients makeHighPass (double sampleRate,\r
double frequency) noexcept;\r
\r
+ /** Returns the coefficients for a high-pass filter with variable Q. */\r
+ static IIRCoefficients makeHighPass (double sampleRate,\r
+ double frequency,\r
+ double Q) noexcept;\r
+\r
+ //==============================================================================\r
+ /** Returns the coefficients for a band-pass filter. */\r
+ static IIRCoefficients makeBandPass (double sampleRate, double frequency) noexcept;\r
+\r
+ /** Returns the coefficients for a band-pass filter with variable Q. */\r
+ static IIRCoefficients makeBandPass (double sampleRate,\r
+ double frequency,\r
+ double Q) noexcept;\r
+\r
+ //==============================================================================\r
+ /** Returns the coefficients for a notch filter. */\r
+ static IIRCoefficients makeNotchFilter (double sampleRate, double frequency) noexcept;\r
+\r
+ /** Returns the coefficients for a notch filter with variable Q. */\r
+ static IIRCoefficients makeNotchFilter (double sampleRate,\r
+ double frequency,\r
+ double Q) noexcept;\r
+\r
+ //==============================================================================\r
+ /** Returns the coefficients for an all-pass filter. */\r
+ static IIRCoefficients makeAllPass (double sampleRate, double frequency) noexcept;\r
+\r
+ /** Returns the coefficients for an all-pass filter with variable Q. */\r
+ static IIRCoefficients makeAllPass (double sampleRate,\r
+ double frequency,\r
+ double Q) noexcept;\r
+\r
//==============================================================================\r
/** Returns the coefficients for a low-pass shelf filter with variable Q and gain.\r
\r
\r
#include "buffers/juce_AudioDataConverters.cpp"\r
#include "buffers/juce_FloatVectorOperations.cpp"\r
+#include "buffers/juce_AudioChannelSet.cpp"\r
#include "effects/juce_IIRFilter.cpp"\r
#include "effects/juce_LagrangeInterpolator.cpp"\r
#include "effects/juce_CatmullRomInterpolator.cpp"\r
\r
ID: juce_audio_basics\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE audio and MIDI data classes\r
description: Classes for audio buffer manipulation, midi message handling, synthesis, etc.\r
website: http://www.juce.com/juce\r
#include "buffers/juce_AudioDataConverters.h"\r
#include "buffers/juce_FloatVectorOperations.h"\r
#include "buffers/juce_AudioSampleBuffer.h"\r
+#include "buffers/juce_AudioChannelSet.h"\r
#include "effects/juce_Decibels.h"\r
#include "effects/juce_IIRFilter.h"\r
#include "effects/juce_LagrangeInterpolator.h"\r
return -1;\r
}\r
\r
-int MidiMessageSequence::getIndexOf (MidiEventHolder* const event) const noexcept\r
+int MidiMessageSequence::getIndexOf (const MidiEventHolder* const event) const noexcept\r
{\r
return list.indexOf (event);\r
}\r
int getIndexOfMatchingKeyUp (int index) const noexcept;\r
\r
/** Returns the index of an event. */\r
- int getIndexOf (MidiEventHolder* event) const noexcept;\r
+ int getIndexOf (const MidiEventHolder* event) const noexcept;\r
\r
/** Returns the index of the first event on or after the given timestamp.\r
If the time is beyond the end of the sequence, this will return the\r
TimeSliceThread& thread,\r
const bool deleteSourceWhenDeleted,\r
const int bufferSizeSamples,\r
- const int numChannels)\r
+ const int numChannels,\r
+ bool prefillBufferOnPrepareToPlay)\r
: source (s, deleteSourceWhenDeleted),\r
backgroundThread (thread),\r
numberOfSamplesToBuffer (jmax (1024, bufferSizeSamples)),\r
nextPlayPos (0),\r
sampleRate (0),\r
wasSourceLooping (false),\r
- isPrepared (false)\r
+ isPrepared (false),\r
+ prefillBuffer (prefillBufferOnPrepareToPlay)\r
{\r
jassert (source != nullptr);\r
\r
\r
backgroundThread.addTimeSliceClient (this);\r
\r
- while (bufferValidEnd - bufferValidStart < jmin (((int) newSampleRate) / 4,\r
- buffer.getNumSamples() / 2))\r
+ do\r
{\r
backgroundThread.moveToFrontOfQueue (this);\r
Thread::sleep (5);\r
}\r
+ while (prefillBuffer\r
+ && (bufferValidEnd - bufferValidStart < jmin (((int) newSampleRate) / 4, buffer.getNumSamples() / 2)));\r
}\r
}\r
\r
backgroundThread.removeTimeSliceClient (this);\r
\r
buffer.setSize (numberOfChannels, 0);\r
- source->releaseResources();\r
+\r
+ // MSVC2015 seems to need this if statement to not generate a warning during linking.\r
+ // As source is set in the constructor, there is no way that source could\r
+ // ever equal this, but it seems to make MSVC2015 happy.\r
+ if (source != this)\r
+ source->releaseResources();\r
}\r
\r
void BufferingAudioSource::getNextAudioBlock (const AudioSourceChannelInfo& info)\r
}\r
}\r
\r
+bool BufferingAudioSource::waitForNextAudioBlockReady (const AudioSourceChannelInfo& info, const uint32 timeout)\r
+{\r
+ if (!source || source->getTotalLength() <= 0)\r
+ return false;\r
+\r
+ if (nextPlayPos + info.numSamples < 0)\r
+ return true;\r
+\r
+ if (! isLooping() && nextPlayPos > getTotalLength())\r
+ return true;\r
+\r
+ const uint32 endTime = Time::getMillisecondCounter() + timeout;\r
+ uint32 now = Time::getMillisecondCounter();\r
+\r
+ while (now < endTime)\r
+ {\r
+ {\r
+ const ScopedLock sl (bufferStartPosLock);\r
+\r
+ const int validStart = static_cast<int> (jlimit (bufferValidStart, bufferValidEnd, nextPlayPos) - nextPlayPos);\r
+ const int validEnd = static_cast<int> (jlimit (bufferValidStart, bufferValidEnd, nextPlayPos + info.numSamples) - nextPlayPos);\r
+\r
+ if (validStart <= 0 && validStart < validEnd && validEnd >= info.numSamples)\r
+ return true;\r
+ }\r
+\r
+ if (! bufferReadyEvent.wait (static_cast<int> (endTime - now)))\r
+ return false;\r
+\r
+ now = Time::getMillisecondCounter();\r
+ }\r
+\r
+ return false;\r
+}\r
+\r
int64 BufferingAudioSource::getNextReadPosition() const\r
{\r
jassert (source->getTotalLength() > 0);\r
bufferValidEnd = newBVE;\r
}\r
\r
+ bufferReadyEvent.signal();\r
+\r
return true;\r
}\r
\r
//==============================================================================\r
/** Creates a BufferingAudioSource.\r
\r
- @param source the input source to read from\r
- @param backgroundThread a background thread that will be used for the\r
- background read-ahead. This object must not be deleted\r
- until after any BufferingAudioSources that are using it\r
- have been deleted!\r
- @param deleteSourceWhenDeleted if true, then the input source object will\r
- be deleted when this object is deleted\r
- @param numberOfSamplesToBuffer the size of buffer to use for reading ahead\r
- @param numberOfChannels the number of channels that will be played\r
+ @param source the input source to read from\r
+ @param backgroundThread a background thread that will be used for the\r
+ background read-ahead. This object must not be deleted\r
+ until after any BufferingAudioSources that are using it\r
+ have been deleted!\r
+ @param deleteSourceWhenDeleted if true, then the input source object will\r
+ be deleted when this object is deleted\r
+ @param numberOfSamplesToBuffer the size of buffer to use for reading ahead\r
+ @param numberOfChannels the number of channels that will be played\r
+ @param prefillBufferOnPrepareToPlay if true, then calling prepareToPlay on this object will\r
+ block until the buffer has been filled\r
*/\r
BufferingAudioSource (PositionableAudioSource* source,\r
TimeSliceThread& backgroundThread,\r
bool deleteSourceWhenDeleted,\r
int numberOfSamplesToBuffer,\r
- int numberOfChannels = 2);\r
+ int numberOfChannels = 2,\r
+ bool prefillBufferOnPrepareToPlay = true);\r
\r
/** Destructor.\r
\r
/** Implements the PositionableAudioSource method. */\r
bool isLooping() const override { return source->isLooping(); }\r
\r
+ /** A useful function to block until the next the buffer info can be filled.\r
+\r
+ This is useful for offline rendering.\r
+ */\r
+ bool waitForNextAudioBlockReady (const AudioSourceChannelInfo& info, const uint32 timeout);\r
+\r
private:\r
//==============================================================================\r
OptionalScopedPointer<PositionableAudioSource> source;\r
int numberOfSamplesToBuffer, numberOfChannels;\r
AudioSampleBuffer buffer;\r
CriticalSection bufferStartPosLock;\r
+ WaitableEvent bufferReadyEvent;\r
int64 volatile bufferValidStart, bufferValidEnd, nextPlayPos;\r
double volatile sampleRate;\r
- bool wasSourceLooping, isPrepared;\r
+ bool wasSourceLooping, isPrepared, prefillBuffer;\r
\r
bool readNextBufferChunk();\r
void readBufferSection (int64 start, int length, int bufferOffset);\r
{\r
// must set the sample rate before using this!\r
jassert (sampleRate != 0);\r
+ const int targetChannels = outputAudio.getNumChannels();\r
\r
MidiBuffer::Iterator midiIterator (midiData);\r
midiIterator.setNextSamplePosition (startSample);\r
{\r
if (! midiIterator.getNextEvent (m, midiEventPos))\r
{\r
- renderVoices (outputAudio, startSample, numSamples);\r
+ if (targetChannels > 0)\r
+ renderVoices (outputAudio, startSample, numSamples);\r
+\r
return;\r
}\r
\r
\r
if (samplesToNextMidiMessage >= numSamples)\r
{\r
- renderVoices (outputAudio, startSample, numSamples);\r
+ if (targetChannels > 0)\r
+ renderVoices (outputAudio, startSample, numSamples);\r
+\r
handleMidiEvent (m);\r
break;\r
}\r
\r
firstEvent = false;\r
\r
- renderVoices (outputAudio, startSample, samplesToNextMidiMessage);\r
+ if (targetChannels > 0)\r
+ renderVoices (outputAudio, startSample, samplesToNextMidiMessage);\r
+\r
handleMidiEvent (m);\r
startSample += samplesToNextMidiMessage;\r
numSamples -= samplesToNextMidiMessage;\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-#ifndef JUCE_AUDIOCDBURNER_H_INCLUDED\r
-#define JUCE_AUDIOCDBURNER_H_INCLUDED\r
-\r
-#if JUCE_USE_CDBURNER || DOXYGEN\r
-\r
-\r
-//==============================================================================\r
-/**\r
-*/\r
-class AudioCDBurner : public ChangeBroadcaster\r
-{\r
-public:\r
- //==============================================================================\r
- /** Returns a list of available optical drives.\r
-\r
- Use openDevice() to open one of the items from this list.\r
- */\r
- static StringArray findAvailableDevices();\r
-\r
- /** Tries to open one of the optical drives.\r
-\r
- The deviceIndex is an index into the array returned by findAvailableDevices().\r
- */\r
- static AudioCDBurner* openDevice (const int deviceIndex);\r
-\r
- /** Destructor. */\r
- ~AudioCDBurner();\r
-\r
- //==============================================================================\r
- enum DiskState\r
- {\r
- unknown, /**< An error condition, if the device isn't responding. */\r
- trayOpen, /**< The drive is currently open. Note that a slot-loading drive\r
- may seem to be permanently open. */\r
- noDisc, /**< The drive has no disk in it. */\r
- writableDiskPresent, /**< The drive contains a writeable disk. */\r
- readOnlyDiskPresent /**< The drive contains a read-only disk. */\r
- };\r
-\r
- /** Returns the current status of the device.\r
-\r
- To get informed when the drive's status changes, attach a ChangeListener to\r
- the AudioCDBurner.\r
- */\r
- DiskState getDiskState() const;\r
-\r
- /** Returns true if there's a writable disk in the drive. */\r
- bool isDiskPresent() const;\r
-\r
- /** Sends an eject signal to the drive.\r
- The eject will happen asynchronously, so you can use getDiskState() and\r
- waitUntilStateChange() to monitor its progress.\r
- */\r
- bool openTray();\r
-\r
- /** Blocks the current thread until the drive's state changes, or until the timeout expires.\r
- @returns the device's new state\r
- */\r
- DiskState waitUntilStateChange (int timeOutMilliseconds);\r
-\r
- //==============================================================================\r
- /** Returns the set of possible write speeds that the device can handle.\r
- These are as a multiple of 'normal' speed, so e.g. '24x' returns 24, etc.\r
- Note that if there's no media present in the drive, this value may be unavailable!\r
- @see setWriteSpeed, getWriteSpeed\r
- */\r
- Array<int> getAvailableWriteSpeeds() const;\r
-\r
- //==============================================================================\r
- /** Tries to enable or disable buffer underrun safety on devices that support it.\r
- @returns true if it's now enabled. If the device doesn't support it, this\r
- will always return false.\r
- */\r
- bool setBufferUnderrunProtection (bool shouldBeEnabled);\r
-\r
- //==============================================================================\r
- /** Returns the number of free blocks on the disk.\r
-\r
- There are 75 blocks per second, at 44100Hz.\r
- */\r
- int getNumAvailableAudioBlocks() const;\r
-\r
- /** Adds a track to be written.\r
-\r
- The source passed-in here will be kept by this object, and it will\r
- be used and deleted at some point in the future, either during the\r
- burn() method or when this AudioCDBurner object is deleted. Your caller\r
- method shouldn't keep a reference to it or use it again after passing\r
- it in here.\r
- */\r
- bool addAudioTrack (AudioSource* source, int numSamples);\r
-\r
- //==============================================================================\r
- /** Receives progress callbacks during a cd-burn operation.\r
- @see AudioCDBurner::burn()\r
- */\r
- class BurnProgressListener\r
- {\r
- public:\r
- BurnProgressListener() noexcept {}\r
- virtual ~BurnProgressListener() {}\r
-\r
- /** Called at intervals to report on the progress of the AudioCDBurner.\r
-\r
- To cancel the burn, return true from this method.\r
- */\r
- virtual bool audioCDBurnProgress (float proportionComplete) = 0;\r
- };\r
-\r
- /** Runs the burn process.\r
- This method will block until the operation is complete.\r
-\r
- @param listener the object to receive callbacks about progress\r
- @param ejectDiscAfterwards whether to eject the disk after the burn completes\r
- @param performFakeBurnForTesting if true, no data will actually be written to the disk\r
- @param writeSpeed one of the write speeds from getAvailableWriteSpeeds(), or\r
- 0 or less to mean the fastest speed.\r
- */\r
- String burn (BurnProgressListener* listener,\r
- bool ejectDiscAfterwards,\r
- bool performFakeBurnForTesting,\r
- int writeSpeed);\r
-\r
- /** If a burn operation is currently in progress, this tells it to stop\r
- as soon as possible.\r
-\r
- It's also possible to stop the burn process by returning true from\r
- BurnProgressListener::audioCDBurnProgress()\r
- */\r
- void abortBurn();\r
-\r
-private:\r
- //==============================================================================\r
- AudioCDBurner (const int deviceIndex);\r
-\r
- class Pimpl;\r
- friend struct ContainerDeletePolicy<Pimpl>;\r
- ScopedPointer<Pimpl> pimpl;\r
-\r
- JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioCDBurner)\r
-};\r
-\r
-\r
-#endif\r
-#endif // JUCE_AUDIOCDBURNER_H_INCLUDED\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-#if JUCE_USE_CDREADER\r
-\r
-int AudioCDReader::getNumTracks() const\r
-{\r
- return trackStartSamples.size() - 1;\r
-}\r
-\r
-int AudioCDReader::getPositionOfTrackStart (int trackNum) const\r
-{\r
- return trackStartSamples [trackNum];\r
-}\r
-\r
-const Array<int>& AudioCDReader::getTrackOffsets() const\r
-{\r
- return trackStartSamples;\r
-}\r
-\r
-int AudioCDReader::getCDDBId()\r
-{\r
- int checksum = 0;\r
- const int numTracks = getNumTracks();\r
-\r
- for (int i = 0; i < numTracks; ++i)\r
- for (int offset = (trackStartSamples.getUnchecked(i) + 88200) / 44100; offset > 0; offset /= 10)\r
- checksum += offset % 10;\r
-\r
- const int length = (trackStartSamples.getLast() - trackStartSamples.getFirst()) / 44100;\r
-\r
- // CCLLLLTT: checksum, length, tracks\r
- return ((checksum & 0xff) << 24) | (length << 8) | numTracks;\r
-}\r
-\r
-#endif\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-#ifndef JUCE_AUDIOCDREADER_H_INCLUDED\r
-#define JUCE_AUDIOCDREADER_H_INCLUDED\r
-\r
-#if JUCE_USE_CDREADER || DOXYGEN\r
-\r
-\r
-//==============================================================================\r
-/**\r
- A type of AudioFormatReader that reads from an audio CD.\r
-\r
- One of these can be used to read a CD as if it's one big audio stream. Use the\r
- getPositionOfTrackStart() method to find where the individual tracks are\r
- within the stream.\r
-\r
- @see AudioFormatReader\r
-*/\r
-class JUCE_API AudioCDReader : public AudioFormatReader\r
-{\r
-public:\r
- //==============================================================================\r
- /** Returns a list of names of Audio CDs currently available for reading.\r
-\r
- If there's a CD drive but no CD in it, this might return an empty list, or\r
- possibly a device that can be opened but which has no tracks, depending\r
- on the platform.\r
-\r
- @see createReaderForCD\r
- */\r
- static StringArray getAvailableCDNames();\r
-\r
- /** Tries to create an AudioFormatReader that can read from an Audio CD.\r
-\r
- @param index the index of one of the available CDs - use getAvailableCDNames()\r
- to find out how many there are.\r
- @returns a new AudioCDReader object, or nullptr if it couldn't be created. The\r
- caller will be responsible for deleting the object returned.\r
- */\r
- static AudioCDReader* createReaderForCD (const int index);\r
-\r
- //==============================================================================\r
- /** Destructor. */\r
- ~AudioCDReader();\r
-\r
- /** Implementation of the AudioFormatReader method. */\r
- bool readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,\r
- int64 startSampleInFile, int numSamples) override;\r
-\r
- /** Checks whether the CD has been removed from the drive. */\r
- bool isCDStillPresent() const;\r
-\r
- /** Returns the total number of tracks (audio + data). */\r
- int getNumTracks() const;\r
-\r
- /** Finds the sample offset of the start of a track.\r
- @param trackNum the track number, where trackNum = 0 is the first track\r
- and trackNum = getNumTracks() means the end of the CD.\r
- */\r
- int getPositionOfTrackStart (int trackNum) const;\r
-\r
- /** Returns true if a given track is an audio track.\r
- @param trackNum the track number, where 0 is the first track.\r
- */\r
- bool isTrackAudio (int trackNum) const;\r
-\r
- /** Returns an array of sample offsets for the start of each track, followed by\r
- the sample position of the end of the CD.\r
- */\r
- const Array<int>& getTrackOffsets() const;\r
-\r
- /** Refreshes the object's table of contents.\r
-\r
- If the disc has been ejected and a different one put in since this\r
- object was created, this will cause it to update its idea of how many tracks\r
- there are, etc.\r
- */\r
- void refreshTrackLengths();\r
-\r
- /** Enables scanning for indexes within tracks.\r
- @see getLastIndex\r
- */\r
- void enableIndexScanning (bool enabled);\r
-\r
- /** Returns the index number found during the last read() call.\r
-\r
- Index scanning is turned off by default - turn it on with enableIndexScanning().\r
-\r
- Then when the read() method is called, if it comes across an index within that\r
- block, the index number is stored and returned by this method.\r
-\r
- Some devices might not support indexes, of course.\r
-\r
- (If you don't know what CD indexes are, it's unlikely you'll ever need them).\r
-\r
- @see enableIndexScanning\r
- */\r
- int getLastIndex() const;\r
-\r
- /** Scans a track to find the position of any indexes within it.\r
- @param trackNumber the track to look in, where 0 is the first track on the disc\r
- @returns an array of sample positions of any index points found (not including\r
- the index that marks the start of the track)\r
- */\r
- Array<int> findIndexesInTrack (const int trackNumber);\r
-\r
- /** Returns the CDDB id number for the CD.\r
- It's not a great way of identifying a disc, but it's traditional.\r
- */\r
- int getCDDBId();\r
-\r
- /** Tries to eject the disk.\r
- Ejecting the disk might not actually be possible, e.g. if some other process is using it.\r
- */\r
- void ejectDisk();\r
-\r
- //==============================================================================\r
- enum\r
- {\r
- framesPerSecond = 75,\r
- samplesPerFrame = 44100 / framesPerSecond\r
- };\r
-\r
-private:\r
- //==============================================================================\r
- Array<int> trackStartSamples;\r
-\r
- #if JUCE_MAC\r
- File volumeDir;\r
- Array<File> tracks;\r
- int currentReaderTrack;\r
- ScopedPointer<AudioFormatReader> reader;\r
- AudioCDReader (const File& volume);\r
-\r
- #elif JUCE_WINDOWS\r
- bool audioTracks [100];\r
- void* handle;\r
- MemoryBlock buffer;\r
- bool indexingEnabled;\r
- int lastIndex, firstFrameInBuffer, samplesInBuffer;\r
- AudioCDReader (void* handle);\r
- int getIndexAt (int samplePos);\r
-\r
- #elif JUCE_LINUX\r
- AudioCDReader();\r
- #endif\r
-\r
- JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioCDReader)\r
-};\r
-\r
-#endif\r
-#endif // JUCE_AUDIOCDREADER_H_INCLUDED\r
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (CallbackHandler)\r
};\r
\r
-//==============================================================================\r
-// This is an AudioTransportSource which will own it's assigned source\r
-struct AudioSourceOwningTransportSource : public AudioTransportSource\r
-{\r
- AudioSourceOwningTransportSource (PositionableAudioSource* s) : source (s)\r
- {\r
- AudioTransportSource::setSource (s);\r
- }\r
-\r
- ~AudioSourceOwningTransportSource()\r
- {\r
- setSource (nullptr);\r
- }\r
-\r
-private:\r
- ScopedPointer<PositionableAudioSource> source;\r
-\r
- JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioSourceOwningTransportSource)\r
-};\r
-\r
-//==============================================================================\r
-// An AudioSourcePlayer which will remove itself from the AudioDeviceManager's\r
-// callback list once it finishes playing its source\r
-struct AutoRemovingSourcePlayer : public AudioSourcePlayer,\r
- private Timer\r
-{\r
- AutoRemovingSourcePlayer (AudioDeviceManager& dm, AudioTransportSource* ts, bool ownSource)\r
- : manager (dm), transportSource (ts, ownSource)\r
- {\r
- jassert (ts != nullptr);\r
- manager.addAudioCallback (this);\r
- AudioSourcePlayer::setSource (transportSource);\r
- startTimerHz (10);\r
- }\r
-\r
- ~AutoRemovingSourcePlayer()\r
- {\r
- setSource (nullptr);\r
- manager.removeAudioCallback (this);\r
- }\r
-\r
- void timerCallback() override\r
- {\r
- if (getCurrentSource() == nullptr || ! transportSource->isPlaying())\r
- delete this;\r
- }\r
-\r
- void audioDeviceStopped() override\r
- {\r
- AudioSourcePlayer::audioDeviceStopped();\r
- setSource (nullptr);\r
- }\r
-\r
-private:\r
- AudioDeviceManager& manager;\r
- OptionalScopedPointer<AudioTransportSource> transportSource;\r
-\r
- JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AutoRemovingSourcePlayer)\r
-};\r
-\r
//==============================================================================\r
AudioDeviceManager::AudioDeviceManager()\r
: numInputChansNeeded (0),\r
numOutputChansNeeded (2),\r
listNeedsScanning (true),\r
+ testSoundPosition (0),\r
cpuUsageMs (0),\r
timeToCpuScale (0)\r
{\r
{\r
currentAudioDevice = nullptr;\r
defaultMidiOutput = nullptr;\r
-\r
- for (int i = 0; i < callbacks.size(); ++i)\r
- if (AutoRemovingSourcePlayer* p = dynamic_cast<AutoRemovingSourcePlayer*> (callbacks.getUnchecked(i)))\r
- delete p;\r
}\r
\r
//==============================================================================\r
{\r
if (currentAudioDevice != nullptr)\r
currentAudioDevice->stop();\r
+\r
+ testSound = nullptr;\r
}\r
\r
void AudioDeviceManager::closeAudioDevice()\r
for (int i = 0; i < numOutputChannels; ++i)\r
zeromem (outputChannelData[i], sizeof (float) * (size_t) numSamples);\r
}\r
+\r
+ if (testSound != nullptr)\r
+ {\r
+ const int numSamps = jmin (numSamples, testSound->getNumSamples() - testSoundPosition);\r
+ const float* const src = testSound->getReadPointer (0, testSoundPosition);\r
+\r
+ for (int i = 0; i < numOutputChannels; ++i)\r
+ for (int j = 0; j < numSamps; ++j)\r
+ outputChannelData [i][j] += src[j];\r
+\r
+ testSoundPosition += numSamps;\r
+ if (testSoundPosition >= testSound->getNumSamples())\r
+ testSound = nullptr;\r
+ }\r
}\r
\r
void AudioDeviceManager::audioDeviceAboutToStartInt (AudioIODevice* const device)\r
}\r
}\r
\r
-//==============================================================================\r
-// An AudioSource which simply outputs a buffer\r
-class AudioSampleBufferSource : public PositionableAudioSource\r
-{\r
-public:\r
- AudioSampleBufferSource (AudioSampleBuffer* audioBuffer, bool ownBuffer, bool playOnAllChannels)\r
- : buffer (audioBuffer, ownBuffer),\r
- position (0), looping (false), playAcrossAllChannels (playOnAllChannels)\r
- {}\r
-\r
- //==============================================================================\r
- void setNextReadPosition (int64 newPosition) override\r
- {\r
- jassert (newPosition >= 0);\r
-\r
- if (looping)\r
- newPosition = newPosition % static_cast<int64> (buffer->getNumSamples());\r
-\r
- position = jmin (buffer->getNumSamples(), static_cast<int> (newPosition));\r
- }\r
-\r
- int64 getNextReadPosition() const override { return static_cast<int64> (position); }\r
- int64 getTotalLength() const override { return static_cast<int64> (buffer->getNumSamples()); }\r
-\r
- bool isLooping() const override { return looping; }\r
- void setLooping (bool shouldLoop) override { looping = shouldLoop; }\r
-\r
- //==============================================================================\r
- void prepareToPlay (int, double) override {}\r
- void releaseResources() override {}\r
-\r
- void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override\r
- {\r
- bufferToFill.clearActiveBufferRegion();\r
-\r
- const int bufferSize = buffer->getNumSamples();\r
- const int samplesNeeded = bufferToFill.numSamples;\r
- const int samplesToCopy = jmin (bufferSize - position, samplesNeeded);\r
-\r
- if (samplesToCopy > 0)\r
- {\r
- int maxInChannels = buffer->getNumChannels();\r
- int maxOutChannels = bufferToFill.buffer->getNumChannels();\r
-\r
- if (! playAcrossAllChannels)\r
- maxOutChannels = jmin (maxOutChannels, maxInChannels);\r
-\r
- for (int i = 0; i < maxOutChannels; ++i)\r
- bufferToFill.buffer->copyFrom (i, bufferToFill.startSample, *buffer,\r
- i % maxInChannels, position, samplesToCopy);\r
- }\r
-\r
- position += samplesNeeded;\r
-\r
- if (looping)\r
- position %= bufferSize;\r
- }\r
-\r
-private:\r
- //==============================================================================\r
- OptionalScopedPointer<AudioSampleBuffer> buffer;\r
- int position;\r
- bool looping, playAcrossAllChannels;\r
-\r
- JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioSampleBufferSource)\r
-};\r
-\r
-void AudioDeviceManager::playSound (const File& file)\r
-{\r
- if (file.existsAsFile())\r
- {\r
- AudioFormatManager formatManager;\r
-\r
- formatManager.registerBasicFormats();\r
- playSound (formatManager.createReaderFor (file), true);\r
- }\r
-}\r
-\r
-void AudioDeviceManager::playSound (const void* resourceData, size_t resourceSize)\r
-{\r
- if (resourceData != nullptr && resourceSize > 0)\r
- {\r
- AudioFormatManager formatManager;\r
- formatManager.registerBasicFormats();\r
- MemoryInputStream* mem = new MemoryInputStream (resourceData, resourceSize, false);\r
- playSound (formatManager.createReaderFor (mem), true);\r
- }\r
-}\r
-\r
-void AudioDeviceManager::playSound (AudioFormatReader* reader, bool deleteWhenFinished)\r
-{\r
- if (reader != nullptr)\r
- playSound (new AudioFormatReaderSource (reader, deleteWhenFinished), true);\r
-}\r
-\r
-void AudioDeviceManager::playSound (AudioSampleBuffer* buffer, bool deleteWhenFinished, bool playOnAllOutputChannels)\r
-{\r
- if (buffer != nullptr)\r
- playSound (new AudioSampleBufferSource (buffer, deleteWhenFinished, playOnAllOutputChannels), true);\r
-}\r
-\r
-void AudioDeviceManager::playSound (PositionableAudioSource* audioSource, bool deleteWhenFinished)\r
-{\r
- if (audioSource != nullptr && currentAudioDevice != nullptr)\r
- {\r
- AudioTransportSource* transport = dynamic_cast<AudioTransportSource*> (audioSource);\r
-\r
- if (transport == nullptr)\r
- {\r
- if (deleteWhenFinished)\r
- {\r
- transport = new AudioSourceOwningTransportSource (audioSource);\r
- }\r
- else\r
- {\r
- transport = new AudioTransportSource();\r
- transport->setSource (audioSource);\r
- deleteWhenFinished = true;\r
- }\r
- }\r
-\r
- transport->start();\r
- new AutoRemovingSourcePlayer (*this, transport, deleteWhenFinished);\r
- }\r
- else\r
- {\r
- if (deleteWhenFinished)\r
- delete audioSource;\r
- }\r
-}\r
-\r
-void AudioDeviceManager::playTestSound()\r
-{\r
- const double sampleRate = currentAudioDevice->getCurrentSampleRate();\r
- const int soundLength = (int) sampleRate;\r
-\r
- const double frequency = 440.0;\r
- const float amplitude = 0.5f;\r
-\r
- const double phasePerSample = double_Pi * 2.0 / (sampleRate / frequency);\r
-\r
- AudioSampleBuffer* newSound = new AudioSampleBuffer (1, soundLength);\r
-\r
- for (int i = 0; i < soundLength; ++i)\r
- newSound->setSample (0, i, amplitude * (float) std::sin (i * phasePerSample));\r
-\r
- newSound->applyGainRamp (0, 0, soundLength / 10, 0.0f, 1.0f);\r
- newSound->applyGainRamp (0, soundLength - soundLength / 4, soundLength / 4, 1.0f, 0.0f);\r
-\r
- playSound (newSound, true, true);\r
-}\r
-\r
//==============================================================================\r
AudioDeviceManager::LevelMeter::LevelMeter() noexcept : level() {}\r
\r
return level;\r
}\r
\r
+void AudioDeviceManager::playTestSound()\r
+{\r
+ { // cunningly nested to swap, unlock and delete in that order.\r
+ ScopedPointer<AudioSampleBuffer> oldSound;\r
+\r
+ {\r
+ const ScopedLock sl (audioCallbackLock);\r
+ oldSound = testSound;\r
+ }\r
+ }\r
+\r
+ testSoundPosition = 0;\r
+\r
+ if (currentAudioDevice != nullptr)\r
+ {\r
+ const double sampleRate = currentAudioDevice->getCurrentSampleRate();\r
+ const int soundLength = (int) sampleRate;\r
+\r
+ const double frequency = 440.0;\r
+ const float amplitude = 0.5f;\r
+\r
+ const double phasePerSample = double_Pi * 2.0 / (sampleRate / frequency);\r
+\r
+ AudioSampleBuffer* const newSound = new AudioSampleBuffer (1, soundLength);\r
+\r
+ for (int i = 0; i < soundLength; ++i)\r
+ newSound->setSample (0, i, amplitude * (float) std::sin (i * phasePerSample));\r
+\r
+ newSound->applyGainRamp (0, 0, soundLength / 10, 0.0f, 1.0f);\r
+ newSound->applyGainRamp (0, soundLength - soundLength / 4, soundLength / 4, 1.0f, 0.0f);\r
+\r
+ const ScopedLock sl (audioCallbackLock);\r
+ testSound = newSound;\r
+ }\r
+}\r
+\r
double AudioDeviceManager::getCurrentInputLevel() const noexcept { return inputLevelMeter.getCurrentLevel(); }\r
double AudioDeviceManager::getCurrentOutputLevel() const noexcept { return outputLevelMeter.getCurrentLevel(); }\r
\r
*/\r
void playTestSound();\r
\r
- /** Plays a sound from a file. */\r
- void playSound (const File& file);\r
-\r
- /** Convenient method to play sound from a JUCE resource. */\r
- void playSound (const void* resourceData, size_t resourceSize);\r
-\r
- /** Plays the sound from an audio format reader.\r
-\r
- If deleteWhenFinished is true then the format reader will be\r
- automatically deleted once the sound has finished playing.\r
- */\r
- void playSound (AudioFormatReader* buffer, bool deleteWhenFinished = false);\r
-\r
- /** Plays the sound from a positionable audio source.\r
-\r
- This will output the sound coming from a positionable audio source.\r
- This gives you slightly more control over the sound playback compared\r
- to the other playSound methods. For example, if you would like to\r
- stop the sound prematurely you can call this method with a\r
- TransportAudioSource and then call audioSource->stop. Note that,\r
- you must call audioSource->start to start the playback, if your\r
- audioSource is a TransportAudioSource.\r
-\r
- The audio device manager will not hold any references to this audio\r
- source once the audio source has stopped playing for any reason,\r
- for example when the sound has finished playing or when you have\r
- called audioSource->stop. Therefore, calling audioSource->start() on\r
- a finished audioSource will not restart the sound again. If this is\r
- desired simply call playSound with the same audioSource again.\r
-\r
- @param audioSource the audio source to play\r
- @param deleteWhenFinished If this is true then the audio source will\r
- be deleted once the device manager has finished playing.\r
- */\r
- void playSound (PositionableAudioSource* audioSource, bool deleteWhenFinished = false);\r
-\r
- /** Plays the sound from an audio sample buffer.\r
-\r
- This will output the sound contained in an audio sample buffer. If\r
- deleteWhenFinished is true then the audio sample buffer will be\r
- automatically deleted once the sound has finished playing.\r
-\r
- If playOnAllOutputChannels is true, then if there are more output channels\r
- than buffer channels, then the ones that are available will be re-used on\r
- multiple outputs so that something is sent to all output channels. If it\r
- is false, then the buffer will just be played on the first output channels.\r
- */\r
- void playSound (AudioSampleBuffer* buffer,\r
- bool deleteWhenFinished = false,\r
- bool playOnAllOutputChannels = false);\r
-\r
//==============================================================================\r
/** Turns on level-measuring for input channels.\r
@see getCurrentInputLevel()\r
ScopedPointer<MidiOutput> defaultMidiOutput;\r
CriticalSection audioCallbackLock, midiCallbackLock;\r
\r
+ ScopedPointer<AudioSampleBuffer> testSound;\r
+ int testSoundPosition;\r
+\r
double cpuUsageMs, timeToCpuScale;\r
\r
struct LevelMeter\r
#define Component CarbonDummyCompName\r
#import <CoreAudio/AudioHardware.h>\r
#import <CoreMIDI/MIDIServices.h>\r
- #import <DiscRecording/DiscRecording.h>\r
#import <AudioToolbox/AudioServices.h>\r
#undef Point\r
#undef Component\r
#include <iasiodrv.h>\r
#endif\r
\r
- #if JUCE_USE_CDBURNER\r
- /* You'll need the Platform SDK for these headers - if you don't have it and don't\r
- need to use CD-burning, then you might just want to set the JUCE_USE_CDBURNER flag\r
- to 0, to avoid these includes.\r
- */\r
- #include <imapi.h>\r
- #include <imapierror.h>\r
- #endif\r
-\r
//==============================================================================\r
#elif JUCE_LINUX\r
#if JUCE_ALSA\r
#include "audio_io/juce_AudioIODeviceType.cpp"\r
#include "midi_io/juce_MidiMessageCollector.cpp"\r
#include "midi_io/juce_MidiOutput.cpp"\r
-#include "audio_cd/juce_AudioCDReader.cpp"\r
#include "sources/juce_AudioSourcePlayer.cpp"\r
#include "sources/juce_AudioTransportSource.cpp"\r
#include "native/juce_MidiDataConcatenator.h"\r
#include "native/juce_mac_CoreAudio.cpp"\r
#include "native/juce_mac_CoreMidi.cpp"\r
\r
- #if JUCE_USE_CDREADER\r
- #include "native/juce_mac_AudioCDReader.mm"\r
- #endif\r
-\r
- #if JUCE_USE_CDBURNER\r
- #include "native/juce_mac_AudioCDBurner.mm"\r
- #endif\r
-\r
//==============================================================================\r
#elif JUCE_IOS\r
#include "native/juce_ios_Audio.cpp"\r
#include "native/juce_win32_ASIO.cpp"\r
#endif\r
\r
- #if JUCE_USE_CDREADER\r
- #include "native/juce_win32_AudioCDReader.cpp"\r
- #endif\r
-\r
- #if JUCE_USE_CDBURNER\r
- #include "native/juce_win32_AudioCDBurner.cpp"\r
- #endif\r
-\r
//==============================================================================\r
#elif JUCE_LINUX\r
#if JUCE_ALSA\r
#include "native/juce_linux_JackAudio.cpp"\r
#endif\r
\r
- #if JUCE_USE_CDREADER\r
- #include "native/juce_linux_AudioCDReader.cpp"\r
- #endif\r
-\r
//==============================================================================\r
#elif JUCE_ANDROID\r
#include "native/juce_android_Audio.cpp"\r
\r
ID: juce_audio_devices\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE audio and MIDI I/O device classes\r
description: Classes to play and record from audio and MIDI I/O devices\r
website: http://www.juce.com/juce\r
license: GPL/Commercial\r
\r
- dependencies: juce_audio_basics, juce_audio_formats, juce_events\r
- OSXFrameworks: CoreAudio CoreMIDI DiscRecording\r
+ dependencies: juce_audio_basics, juce_events\r
+ OSXFrameworks: CoreAudio CoreMIDI AudioToolbox\r
iOSFrameworks: CoreAudio CoreMIDI AudioToolbox AVFoundation\r
linuxPackages: alsa\r
mingwLibs: winmm\r
\r
#include <juce_events/juce_events.h>\r
#include <juce_audio_basics/juce_audio_basics.h>\r
-#include <juce_audio_formats/juce_audio_formats.h>\r
\r
//==============================================================================\r
/** Config: JUCE_ASIO\r
#endif\r
#endif\r
\r
-//==============================================================================\r
-/** Config: JUCE_USE_CDREADER\r
- Enables the AudioCDReader class (on supported platforms).\r
-*/\r
-#ifndef JUCE_USE_CDREADER\r
- #define JUCE_USE_CDREADER 0\r
-#endif\r
-\r
-/** Config: JUCE_USE_CDBURNER\r
- Enables the AudioCDBurner class (on supported platforms).\r
-*/\r
-#ifndef JUCE_USE_CDBURNER\r
- #define JUCE_USE_CDBURNER 0\r
-#endif\r
-\r
//==============================================================================\r
namespace juce\r
{\r
#include "midi_io/juce_MidiOutput.h"\r
#include "sources/juce_AudioSourcePlayer.h"\r
#include "sources/juce_AudioTransportSource.h"\r
-#include "audio_cd/juce_AudioCDBurner.h"\r
-#include "audio_cd/juce_AudioCDReader.h"\r
#include "audio_io/juce_AudioDeviceManager.h"\r
\r
}\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-AudioCDReader::AudioCDReader()\r
- : AudioFormatReader (0, "CD Audio")\r
-{\r
-}\r
-\r
-StringArray AudioCDReader::getAvailableCDNames()\r
-{\r
- StringArray names;\r
- return names;\r
-}\r
-\r
-AudioCDReader* AudioCDReader::createReaderForCD (const int index)\r
-{\r
- return nullptr;\r
-}\r
-\r
-AudioCDReader::~AudioCDReader()\r
-{\r
-}\r
-\r
-void AudioCDReader::refreshTrackLengths()\r
-{\r
-}\r
-\r
-bool AudioCDReader::readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,\r
- int64 startSampleInFile, int numSamples)\r
-{\r
- return false;\r
-}\r
-\r
-bool AudioCDReader::isCDStillPresent() const\r
-{\r
- return false;\r
-}\r
-\r
-bool AudioCDReader::isTrackAudio (int trackNum) const\r
-{\r
- return false;\r
-}\r
-\r
-void AudioCDReader::enableIndexScanning (bool b)\r
-{\r
-}\r
-\r
-int AudioCDReader::getLastIndex() const\r
-{\r
- return 0;\r
-}\r
-\r
-Array<int> AudioCDReader::findIndexesInTrack (const int trackNumber)\r
-{\r
- return Array<int>();\r
-}\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-const int kilobytesPerSecond1x = 176;\r
-\r
-struct AudioTrackProducerClass : public ObjCClass <NSObject>\r
-{\r
- AudioTrackProducerClass() : ObjCClass <NSObject> ("JUCEAudioTrackProducer_")\r
- {\r
- addIvar<AudioSourceHolder*> ("source");\r
-\r
- addMethod (@selector (initWithAudioSourceHolder:), initWithAudioSourceHolder, "@@:^v");\r
- addMethod (@selector (cleanupTrackAfterBurn:), cleanupTrackAfterBurn, "v@:@");\r
- addMethod (@selector (cleanupTrackAfterVerification:), cleanupTrackAfterVerification, "c@:@");\r
- addMethod (@selector (estimateLengthOfTrack:), estimateLengthOfTrack, "Q@:@");\r
- addMethod (@selector (prepareTrack:forBurn:toMedia:), prepareTrack, "c@:@@@");\r
- addMethod (@selector (prepareTrackForVerification:), prepareTrackForVerification, "c@:@");\r
- addMethod (@selector (produceDataForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:),\r
- produceDataForTrack, "I@:@^cIQI^I");\r
- addMethod (@selector (producePreGapForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:),\r
- produceDataForTrack, "I@:@^cIQI^I");\r
- addMethod (@selector (verifyDataForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:),\r
- produceDataForTrack, "I@:@^cIQI^I");\r
-\r
- registerClass();\r
- }\r
-\r
- struct AudioSourceHolder\r
- {\r
- AudioSourceHolder (AudioSource* s, int numFrames)\r
- : source (s), readPosition (0), lengthInFrames (numFrames)\r
- {\r
- }\r
-\r
- ~AudioSourceHolder()\r
- {\r
- if (source != nullptr)\r
- source->releaseResources();\r
- }\r
-\r
- ScopedPointer<AudioSource> source;\r
- int readPosition, lengthInFrames;\r
- };\r
-\r
-private:\r
- static id initWithAudioSourceHolder (id self, SEL, AudioSourceHolder* source)\r
- {\r
- self = sendSuperclassMessage (self, @selector (init));\r
- object_setInstanceVariable (self, "source", source);\r
- return self;\r
- }\r
-\r
- static AudioSourceHolder* getSource (id self)\r
- {\r
- return getIvar<AudioSourceHolder*> (self, "source");\r
- }\r
-\r
- static void dealloc (id self, SEL)\r
- {\r
- delete getSource (self);\r
- sendSuperclassMessage (self, @selector (dealloc));\r
- }\r
-\r
- static void cleanupTrackAfterBurn (id self, SEL, DRTrack*) {}\r
- static BOOL cleanupTrackAfterVerification (id self, SEL, DRTrack*) { return true; }\r
-\r
- static uint64_t estimateLengthOfTrack (id self, SEL, DRTrack*)\r
- {\r
- return getSource (self)->lengthInFrames;\r
- }\r
-\r
- static BOOL prepareTrack (id self, SEL, DRTrack*, DRBurn*, NSDictionary*)\r
- {\r
- if (AudioSourceHolder* const source = getSource (self))\r
- {\r
- source->source->prepareToPlay (44100 / 75, 44100);\r
- source->readPosition = 0;\r
- }\r
-\r
- return true;\r
- }\r
-\r
- static BOOL prepareTrackForVerification (id self, SEL, DRTrack*)\r
- {\r
- if (AudioSourceHolder* const source = getSource (self))\r
- source->source->prepareToPlay (44100 / 75, 44100);\r
-\r
- return true;\r
- }\r
-\r
- static uint32_t produceDataForTrack (id self, SEL, DRTrack*, char* buffer,\r
- uint32_t bufferLength, uint64_t /*address*/,\r
- uint32_t /*blockSize*/, uint32_t* /*flags*/)\r
- {\r
- if (AudioSourceHolder* const source = getSource (self))\r
- {\r
- const int numSamples = jmin ((int) bufferLength / 4,\r
- (source->lengthInFrames * (44100 / 75)) - source->readPosition);\r
-\r
- if (numSamples > 0)\r
- {\r
- AudioSampleBuffer tempBuffer (2, numSamples);\r
- AudioSourceChannelInfo info (tempBuffer);\r
-\r
- source->source->getNextAudioBlock (info);\r
-\r
- typedef AudioData::Pointer <AudioData::Int16, AudioData::LittleEndian, AudioData::Interleaved, AudioData::NonConst> CDSampleFormat;\r
- typedef AudioData::Pointer <AudioData::Float32, AudioData::NativeEndian, AudioData::NonInterleaved, AudioData::Const> SourceSampleFormat;\r
-\r
- CDSampleFormat left (buffer, 2);\r
- left.convertSamples (SourceSampleFormat (tempBuffer.getReadPointer (0)), numSamples);\r
- CDSampleFormat right (buffer + 2, 2);\r
- right.convertSamples (SourceSampleFormat (tempBuffer.getReadPointer (1)), numSamples);\r
-\r
- source->readPosition += numSamples;\r
- }\r
-\r
- return numSamples * 4;\r
- }\r
-\r
- return 0;\r
- }\r
-\r
- static uint32_t producePreGapForTrack (id self, SEL, DRTrack*, char* buffer,\r
- uint32_t bufferLength, uint64_t /*address*/,\r
- uint32_t /*blockSize*/, uint32_t* /*flags*/)\r
- {\r
- zeromem (buffer, bufferLength);\r
- return bufferLength;\r
- }\r
-\r
- static BOOL verifyDataForTrack (id self, SEL, DRTrack*, const char*,\r
- uint32_t /*bufferLength*/, uint64_t /*address*/,\r
- uint32_t /*blockSize*/, uint32_t* /*flags*/)\r
- {\r
- return true;\r
- }\r
-};\r
-\r
-struct OpenDiskDevice\r
-{\r
- OpenDiskDevice (DRDevice* d)\r
- : device (d),\r
- tracks ([[NSMutableArray alloc] init]),\r
- underrunProtection (true)\r
- {\r
- }\r
-\r
- ~OpenDiskDevice()\r
- {\r
- [tracks release];\r
- }\r
-\r
- void addSourceTrack (AudioSource* source, int numSamples)\r
- {\r
- if (source != nullptr)\r
- {\r
- const int numFrames = (numSamples + 587) / 588;\r
-\r
- static AudioTrackProducerClass cls;\r
-\r
- NSObject* producer = [cls.createInstance() performSelector: @selector (initWithAudioSourceHolder:)\r
- withObject: (id) new AudioTrackProducerClass::AudioSourceHolder (source, numFrames)];\r
- DRTrack* track = [[DRTrack alloc] initWithProducer: producer];\r
-\r
- {\r
- NSMutableDictionary* p = [[track properties] mutableCopy];\r
- [p setObject: [DRMSF msfWithFrames: numFrames] forKey: DRTrackLengthKey];\r
- [p setObject: [NSNumber numberWithUnsignedShort: 2352] forKey: DRBlockSizeKey];\r
- [p setObject: [NSNumber numberWithInt: 0] forKey: DRDataFormKey];\r
- [p setObject: [NSNumber numberWithInt: 0] forKey: DRBlockTypeKey];\r
- [p setObject: [NSNumber numberWithInt: 0] forKey: DRTrackModeKey];\r
- [p setObject: [NSNumber numberWithInt: 0] forKey: DRSessionFormatKey];\r
- [track setProperties: p];\r
- [p release];\r
- }\r
-\r
- [tracks addObject: track];\r
-\r
- [track release];\r
- [producer release];\r
- }\r
- }\r
-\r
- String burn (AudioCDBurner::BurnProgressListener* listener,\r
- bool shouldEject, bool peformFakeBurnForTesting, int burnSpeed)\r
- {\r
- DRBurn* burn = [DRBurn burnForDevice: device];\r
-\r
- if (! [device acquireExclusiveAccess])\r
- return "Couldn't open or write to the CD device";\r
-\r
- [device acquireMediaReservation];\r
-\r
- NSMutableDictionary* d = [[burn properties] mutableCopy];\r
- [d autorelease];\r
- [d setObject: [NSNumber numberWithBool: peformFakeBurnForTesting] forKey: DRBurnTestingKey];\r
- [d setObject: [NSNumber numberWithBool: false] forKey: DRBurnVerifyDiscKey];\r
- [d setObject: (shouldEject ? DRBurnCompletionActionEject : DRBurnCompletionActionMount) forKey: DRBurnCompletionActionKey];\r
-\r
- if (burnSpeed > 0)\r
- [d setObject: [NSNumber numberWithFloat: burnSpeed * kilobytesPerSecond1x] forKey: DRBurnRequestedSpeedKey];\r
-\r
- if (! underrunProtection)\r
- [d setObject: [NSNumber numberWithBool: false] forKey: DRBurnUnderrunProtectionKey];\r
-\r
- [burn setProperties: d];\r
-\r
- [burn writeLayout: tracks];\r
-\r
- for (;;)\r
- {\r
- Thread::sleep (300);\r
- float progress = [[[burn status] objectForKey: DRStatusPercentCompleteKey] floatValue];\r
-\r
- if (listener != nullptr && listener->audioCDBurnProgress (progress))\r
- {\r
- [burn abort];\r
- return "User cancelled the write operation";\r
- }\r
-\r
- if ([[[burn status] objectForKey: DRStatusStateKey] isEqualTo: DRStatusStateFailed])\r
- return "Write operation failed";\r
-\r
- if ([[[burn status] objectForKey: DRStatusStateKey] isEqualTo: DRStatusStateDone])\r
- break;\r
-\r
- NSString* err = (NSString*) [[[burn status] objectForKey: DRErrorStatusKey]\r
- objectForKey: DRErrorStatusErrorStringKey];\r
- if ([err length] > 0)\r
- return nsStringToJuce (err);\r
- }\r
-\r
- [device releaseMediaReservation];\r
- [device releaseExclusiveAccess];\r
- return String();\r
- }\r
-\r
- DRDevice* device;\r
- NSMutableArray* tracks;\r
- bool underrunProtection;\r
-};\r
-\r
-//==============================================================================\r
-class AudioCDBurner::Pimpl : public Timer\r
-{\r
-public:\r
- Pimpl (AudioCDBurner& b, int deviceIndex) : owner (b)\r
- {\r
- if (DRDevice* dev = [[DRDevice devices] objectAtIndex: deviceIndex])\r
- {\r
- device = new OpenDiskDevice (dev);\r
- lastState = getDiskState();\r
- startTimer (1000);\r
- }\r
- }\r
-\r
- ~Pimpl()\r
- {\r
- stopTimer();\r
- }\r
-\r
- void timerCallback() override\r
- {\r
- const DiskState state = getDiskState();\r
-\r
- if (state != lastState)\r
- {\r
- lastState = state;\r
- owner.sendChangeMessage();\r
- }\r
- }\r
-\r
- DiskState getDiskState() const\r
- {\r
- if ([device->device isValid])\r
- {\r
- NSDictionary* status = [device->device status];\r
- NSString* state = [status objectForKey: DRDeviceMediaStateKey];\r
-\r
- if ([state isEqualTo: DRDeviceMediaStateNone])\r
- {\r
- if ([[status objectForKey: DRDeviceIsTrayOpenKey] boolValue])\r
- return trayOpen;\r
-\r
- return noDisc;\r
- }\r
-\r
- if ([state isEqualTo: DRDeviceMediaStateMediaPresent])\r
- {\r
- if ([[[status objectForKey: DRDeviceMediaInfoKey] objectForKey: DRDeviceMediaBlocksFreeKey] intValue] > 0)\r
- return writableDiskPresent;\r
-\r
- return readOnlyDiskPresent;\r
- }\r
- }\r
-\r
- return unknown;\r
- }\r
-\r
- bool openTray() { return [device->device isValid] && [device->device ejectMedia]; }\r
-\r
- Array<int> getAvailableWriteSpeeds() const\r
- {\r
- Array<int> results;\r
-\r
- if ([device->device isValid])\r
- for (id kbPerSec in [[[device->device status] objectForKey: DRDeviceMediaInfoKey] objectForKey: DRDeviceBurnSpeedsKey])\r
- results.add ([kbPerSec intValue] / kilobytesPerSecond1x);\r
-\r
- return results;\r
- }\r
-\r
- bool setBufferUnderrunProtection (const bool shouldBeEnabled)\r
- {\r
- if ([device->device isValid])\r
- {\r
- device->underrunProtection = shouldBeEnabled;\r
- return shouldBeEnabled && [[[device->device status] objectForKey: DRDeviceCanUnderrunProtectCDKey] boolValue];\r
- }\r
-\r
- return false;\r
- }\r
-\r
- int getNumAvailableAudioBlocks() const\r
- {\r
- return [[[[device->device status] objectForKey: DRDeviceMediaInfoKey]\r
- objectForKey: DRDeviceMediaBlocksFreeKey] intValue];\r
- }\r
-\r
- ScopedPointer<OpenDiskDevice> device;\r
-\r
-private:\r
- DiskState lastState;\r
- AudioCDBurner& owner;\r
-};\r
-\r
-//==============================================================================\r
-AudioCDBurner::AudioCDBurner (const int deviceIndex)\r
-{\r
- pimpl = new Pimpl (*this, deviceIndex);\r
-}\r
-\r
-AudioCDBurner::~AudioCDBurner()\r
-{\r
-}\r
-\r
-AudioCDBurner* AudioCDBurner::openDevice (const int deviceIndex)\r
-{\r
- ScopedPointer<AudioCDBurner> b (new AudioCDBurner (deviceIndex));\r
-\r
- if (b->pimpl->device == nil)\r
- b = nullptr;\r
-\r
- return b.release();\r
-}\r
-\r
-StringArray AudioCDBurner::findAvailableDevices()\r
-{\r
- StringArray s;\r
-\r
- for (NSDictionary* dic in [DRDevice devices])\r
- if (NSString* name = [dic valueForKey: DRDeviceProductNameKey])\r
- s.add (nsStringToJuce (name));\r
-\r
- return s;\r
-}\r
-\r
-AudioCDBurner::DiskState AudioCDBurner::getDiskState() const\r
-{\r
- return pimpl->getDiskState();\r
-}\r
-\r
-bool AudioCDBurner::isDiskPresent() const\r
-{\r
- return getDiskState() == writableDiskPresent;\r
-}\r
-\r
-bool AudioCDBurner::openTray()\r
-{\r
- return pimpl->openTray();\r
-}\r
-\r
-AudioCDBurner::DiskState AudioCDBurner::waitUntilStateChange (int timeOutMilliseconds)\r
-{\r
- const int64 timeout = Time::currentTimeMillis() + timeOutMilliseconds;\r
- DiskState oldState = getDiskState();\r
- DiskState newState = oldState;\r
-\r
- while (newState == oldState && Time::currentTimeMillis() < timeout)\r
- {\r
- newState = getDiskState();\r
- Thread::sleep (100);\r
- }\r
-\r
- return newState;\r
-}\r
-\r
-Array<int> AudioCDBurner::getAvailableWriteSpeeds() const\r
-{\r
- return pimpl->getAvailableWriteSpeeds();\r
-}\r
-\r
-bool AudioCDBurner::setBufferUnderrunProtection (const bool shouldBeEnabled)\r
-{\r
- return pimpl->setBufferUnderrunProtection (shouldBeEnabled);\r
-}\r
-\r
-int AudioCDBurner::getNumAvailableAudioBlocks() const\r
-{\r
- return pimpl->getNumAvailableAudioBlocks();\r
-}\r
-\r
-bool AudioCDBurner::addAudioTrack (AudioSource* source, int numSamps)\r
-{\r
- if ([pimpl->device->device isValid])\r
- {\r
- pimpl->device->addSourceTrack (source, numSamps);\r
- return true;\r
- }\r
-\r
- return false;\r
-}\r
-\r
-String AudioCDBurner::burn (AudioCDBurner::BurnProgressListener* listener,\r
- bool ejectDiscAfterwards,\r
- bool performFakeBurnForTesting,\r
- int writeSpeed)\r
-{\r
- if ([pimpl->device->device isValid])\r
- return pimpl->device->burn (listener, ejectDiscAfterwards, performFakeBurnForTesting, writeSpeed);\r
-\r
- return "Couldn't open or write to the CD device";\r
-}\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-namespace CDReaderHelpers\r
-{\r
- inline const XmlElement* getElementForKey (const XmlElement& xml, const String& key)\r
- {\r
- forEachXmlChildElementWithTagName (xml, child, "key")\r
- if (child->getAllSubText().trim() == key)\r
- return child->getNextElement();\r
-\r
- return nullptr;\r
- }\r
-\r
- static int getIntValueForKey (const XmlElement& xml, const String& key, int defaultValue = -1)\r
- {\r
- const XmlElement* const block = getElementForKey (xml, key);\r
- return block != nullptr ? block->getAllSubText().trim().getIntValue() : defaultValue;\r
- }\r
-\r
- // Get the track offsets for a CD given an XmlElement representing its TOC.Plist.\r
- // Returns NULL on success, otherwise a const char* representing an error.\r
- static const char* getTrackOffsets (XmlDocument& xmlDocument, Array<int>& offsets)\r
- {\r
- const ScopedPointer<XmlElement> xml (xmlDocument.getDocumentElement());\r
- if (xml == nullptr)\r
- return "Couldn't parse XML in file";\r
-\r
- const XmlElement* const dict = xml->getChildByName ("dict");\r
- if (dict == nullptr)\r
- return "Couldn't get top level dictionary";\r
-\r
- const XmlElement* const sessions = getElementForKey (*dict, "Sessions");\r
- if (sessions == nullptr)\r
- return "Couldn't find sessions key";\r
-\r
- const XmlElement* const session = sessions->getFirstChildElement();\r
- if (session == nullptr)\r
- return "Couldn't find first session";\r
-\r
- const int leadOut = getIntValueForKey (*session, "Leadout Block");\r
- if (leadOut < 0)\r
- return "Couldn't find Leadout Block";\r
-\r
- const XmlElement* const trackArray = getElementForKey (*session, "Track Array");\r
- if (trackArray == nullptr)\r
- return "Couldn't find Track Array";\r
-\r
- forEachXmlChildElement (*trackArray, track)\r
- {\r
- const int trackValue = getIntValueForKey (*track, "Start Block");\r
- if (trackValue < 0)\r
- return "Couldn't find Start Block in the track";\r
-\r
- offsets.add (trackValue * AudioCDReader::samplesPerFrame - 88200);\r
- }\r
-\r
- offsets.add (leadOut * AudioCDReader::samplesPerFrame - 88200);\r
- return nullptr;\r
- }\r
-\r
- static void findDevices (Array<File>& cds)\r
- {\r
- File volumes ("/Volumes");\r
- volumes.findChildFiles (cds, File::findDirectories, false);\r
-\r
- for (int i = cds.size(); --i >= 0;)\r
- if (! cds.getReference(i).getChildFile (".TOC.plist").exists())\r
- cds.remove (i);\r
- }\r
-\r
- struct TrackSorter\r
- {\r
- static int getCDTrackNumber (const File& file)\r
- {\r
- return file.getFileName().initialSectionContainingOnly ("0123456789").getIntValue();\r
- }\r
-\r
- static int compareElements (const File& first, const File& second)\r
- {\r
- const int firstTrack = getCDTrackNumber (first);\r
- const int secondTrack = getCDTrackNumber (second);\r
-\r
- jassert (firstTrack > 0 && secondTrack > 0);\r
-\r
- return firstTrack - secondTrack;\r
- }\r
- };\r
-}\r
-\r
-//==============================================================================\r
-StringArray AudioCDReader::getAvailableCDNames()\r
-{\r
- Array<File> cds;\r
- CDReaderHelpers::findDevices (cds);\r
-\r
- StringArray names;\r
-\r
- for (int i = 0; i < cds.size(); ++i)\r
- names.add (cds.getReference(i).getFileName());\r
-\r
- return names;\r
-}\r
-\r
-AudioCDReader* AudioCDReader::createReaderForCD (const int index)\r
-{\r
- Array<File> cds;\r
- CDReaderHelpers::findDevices (cds);\r
-\r
- if (cds[index].exists())\r
- return new AudioCDReader (cds[index]);\r
-\r
- return nullptr;\r
-}\r
-\r
-AudioCDReader::AudioCDReader (const File& volume)\r
- : AudioFormatReader (0, "CD Audio"),\r
- volumeDir (volume),\r
- currentReaderTrack (-1)\r
-{\r
- sampleRate = 44100.0;\r
- bitsPerSample = 16;\r
- numChannels = 2;\r
- usesFloatingPointData = false;\r
-\r
- refreshTrackLengths();\r
-}\r
-\r
-AudioCDReader::~AudioCDReader()\r
-{\r
-}\r
-\r
-void AudioCDReader::refreshTrackLengths()\r
-{\r
- tracks.clear();\r
- trackStartSamples.clear();\r
- lengthInSamples = 0;\r
-\r
- volumeDir.findChildFiles (tracks, File::findFiles | File::ignoreHiddenFiles, false, "*.aiff");\r
-\r
- CDReaderHelpers::TrackSorter sorter;\r
- tracks.sort (sorter);\r
-\r
- const File toc (volumeDir.getChildFile (".TOC.plist"));\r
-\r
- if (toc.exists())\r
- {\r
- XmlDocument doc (toc);\r
- const char* error = CDReaderHelpers::getTrackOffsets (doc, trackStartSamples);\r
- ignoreUnused (error); // could be logged..\r
-\r
- lengthInSamples = trackStartSamples.getLast() - trackStartSamples.getFirst();\r
- }\r
-}\r
-\r
-bool AudioCDReader::readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,\r
- int64 startSampleInFile, int numSamples)\r
-{\r
- while (numSamples > 0)\r
- {\r
- int track = -1;\r
-\r
- for (int i = 0; i < trackStartSamples.size() - 1; ++i)\r
- {\r
- if (startSampleInFile < trackStartSamples.getUnchecked (i + 1))\r
- {\r
- track = i;\r
- break;\r
- }\r
- }\r
-\r
- if (track < 0)\r
- return false;\r
-\r
- if (track != currentReaderTrack)\r
- {\r
- reader = nullptr;\r
-\r
- if (FileInputStream* const in = tracks [track].createInputStream())\r
- {\r
- BufferedInputStream* const bin = new BufferedInputStream (in, 65536, true);\r
-\r
- AiffAudioFormat format;\r
- reader = format.createReaderFor (bin, true);\r
-\r
- if (reader == nullptr)\r
- currentReaderTrack = -1;\r
- else\r
- currentReaderTrack = track;\r
- }\r
- }\r
-\r
- if (reader == nullptr)\r
- return false;\r
-\r
- const int startPos = (int) (startSampleInFile - trackStartSamples.getUnchecked (track));\r
- const int numAvailable = (int) jmin ((int64) numSamples, reader->lengthInSamples - startPos);\r
-\r
- reader->readSamples (destSamples, numDestChannels, startOffsetInDestBuffer, startPos, numAvailable);\r
-\r
- numSamples -= numAvailable;\r
- startSampleInFile += numAvailable;\r
- }\r
-\r
- return true;\r
-}\r
-\r
-bool AudioCDReader::isCDStillPresent() const\r
-{\r
- return volumeDir.exists();\r
-}\r
-\r
-void AudioCDReader::ejectDisk()\r
-{\r
- JUCE_AUTORELEASEPOOL\r
- {\r
- [[NSWorkspace sharedWorkspace] unmountAndEjectDeviceAtPath: juceStringToNS (volumeDir.getFullPathName())];\r
- }\r
-}\r
-\r
-bool AudioCDReader::isTrackAudio (int trackNum) const\r
-{\r
- return tracks [trackNum].hasFileExtension (".aiff");\r
-}\r
-\r
-void AudioCDReader::enableIndexScanning (bool)\r
-{\r
- // any way to do this on a Mac??\r
-}\r
-\r
-int AudioCDReader::getLastIndex() const\r
-{\r
- return 0;\r
-}\r
-\r
-Array<int> AudioCDReader::findIndexesInTrack (const int /*trackNumber*/)\r
-{\r
- return Array<int>();\r
-}\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-namespace CDBurnerHelpers\r
-{\r
- IDiscRecorder* enumCDBurners (StringArray* list, int indexToOpen, IDiscMaster** master)\r
- {\r
- CoInitialize (0);\r
-\r
- IDiscMaster* dm;\r
- IDiscRecorder* result = nullptr;\r
-\r
- if (SUCCEEDED (CoCreateInstance (CLSID_MSDiscMasterObj, 0,\r
- CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,\r
- IID_IDiscMaster,\r
- (void**) &dm)))\r
- {\r
- if (SUCCEEDED (dm->Open()))\r
- {\r
- IEnumDiscRecorders* drEnum = nullptr;\r
-\r
- if (SUCCEEDED (dm->EnumDiscRecorders (&drEnum)))\r
- {\r
- IDiscRecorder* dr = nullptr;\r
- DWORD dummy;\r
- int index = 0;\r
-\r
- while (drEnum->Next (1, &dr, &dummy) == S_OK)\r
- {\r
- if (indexToOpen == index)\r
- {\r
- result = dr;\r
- break;\r
- }\r
- else if (list != nullptr)\r
- {\r
- BSTR path;\r
-\r
- if (SUCCEEDED (dr->GetPath (&path)))\r
- list->add ((const WCHAR*) path);\r
- }\r
-\r
- ++index;\r
- dr->Release();\r
- }\r
-\r
- drEnum->Release();\r
- }\r
-\r
- if (master == 0)\r
- dm->Close();\r
- }\r
-\r
- if (master != nullptr)\r
- *master = dm;\r
- else\r
- dm->Release();\r
- }\r
-\r
- return result;\r
- }\r
-}\r
-\r
-//==============================================================================\r
-class AudioCDBurner::Pimpl : public ComBaseClassHelper <IDiscMasterProgressEvents>,\r
- public Timer\r
-{\r
-public:\r
- Pimpl (AudioCDBurner& owner_, IDiscMaster* discMaster_, IDiscRecorder* discRecorder_)\r
- : owner (owner_), discMaster (discMaster_), discRecorder (discRecorder_), redbook (0),\r
- listener (0), progress (0), shouldCancel (false)\r
- {\r
- HRESULT hr = discMaster->SetActiveDiscMasterFormat (IID_IRedbookDiscMaster, (void**) &redbook);\r
- jassert (SUCCEEDED (hr));\r
- hr = discMaster->SetActiveDiscRecorder (discRecorder);\r
- //jassert (SUCCEEDED (hr));\r
-\r
- lastState = getDiskState();\r
- startTimer (2000);\r
- }\r
-\r
- ~Pimpl() {}\r
-\r
- void releaseObjects()\r
- {\r
- discRecorder->Close();\r
- if (redbook != nullptr)\r
- redbook->Release();\r
- discRecorder->Release();\r
- discMaster->Release();\r
- Release();\r
- }\r
-\r
- JUCE_COMRESULT QueryCancel (boolean* pbCancel)\r
- {\r
- if (listener != nullptr && ! shouldCancel)\r
- shouldCancel = listener->audioCDBurnProgress (progress);\r
-\r
- *pbCancel = shouldCancel;\r
-\r
- return S_OK;\r
- }\r
-\r
- JUCE_COMRESULT NotifyBlockProgress (long nCompleted, long nTotal)\r
- {\r
- progress = nCompleted / (float) nTotal;\r
- shouldCancel = listener != nullptr && listener->audioCDBurnProgress (progress);\r
-\r
- return E_NOTIMPL;\r
- }\r
-\r
- JUCE_COMRESULT NotifyPnPActivity (void) { return E_NOTIMPL; }\r
- JUCE_COMRESULT NotifyAddProgress (long /*nCompletedSteps*/, long /*nTotalSteps*/) { return E_NOTIMPL; }\r
- JUCE_COMRESULT NotifyTrackProgress (long /*nCurrentTrack*/, long /*nTotalTracks*/) { return E_NOTIMPL; }\r
- JUCE_COMRESULT NotifyPreparingBurn (long /*nEstimatedSeconds*/) { return E_NOTIMPL; }\r
- JUCE_COMRESULT NotifyClosingDisc (long /*nEstimatedSeconds*/) { return E_NOTIMPL; }\r
- JUCE_COMRESULT NotifyBurnComplete (HRESULT /*status*/) { return E_NOTIMPL; }\r
- JUCE_COMRESULT NotifyEraseComplete (HRESULT /*status*/) { return E_NOTIMPL; }\r
-\r
- class ScopedDiscOpener\r
- {\r
- public:\r
- ScopedDiscOpener (Pimpl& p) : pimpl (p) { pimpl.discRecorder->OpenExclusive(); }\r
- ~ScopedDiscOpener() { pimpl.discRecorder->Close(); }\r
-\r
- private:\r
- Pimpl& pimpl;\r
-\r
- JUCE_DECLARE_NON_COPYABLE (ScopedDiscOpener)\r
- };\r
-\r
- DiskState getDiskState()\r
- {\r
- const ScopedDiscOpener opener (*this);\r
-\r
- long type, flags;\r
- HRESULT hr = discRecorder->QueryMediaType (&type, &flags);\r
-\r
- if (FAILED (hr))\r
- return unknown;\r
-\r
- if (type != 0 && (flags & MEDIA_WRITABLE) != 0)\r
- return writableDiskPresent;\r
-\r
- if (type == 0)\r
- return noDisc;\r
-\r
- return readOnlyDiskPresent;\r
- }\r
-\r
- int getIntProperty (const LPOLESTR name, const int defaultReturn) const\r
- {\r
- ComSmartPtr<IPropertyStorage> prop;\r
- if (FAILED (discRecorder->GetRecorderProperties (prop.resetAndGetPointerAddress())))\r
- return defaultReturn;\r
-\r
- PROPSPEC iPropSpec;\r
- iPropSpec.ulKind = PRSPEC_LPWSTR;\r
- iPropSpec.lpwstr = name;\r
-\r
- PROPVARIANT iPropVariant;\r
- return FAILED (prop->ReadMultiple (1, &iPropSpec, &iPropVariant))\r
- ? defaultReturn : (int) iPropVariant.lVal;\r
- }\r
-\r
- bool setIntProperty (const LPOLESTR name, const int value) const\r
- {\r
- ComSmartPtr<IPropertyStorage> prop;\r
- if (FAILED (discRecorder->GetRecorderProperties (prop.resetAndGetPointerAddress())))\r
- return false;\r
-\r
- PROPSPEC iPropSpec;\r
- iPropSpec.ulKind = PRSPEC_LPWSTR;\r
- iPropSpec.lpwstr = name;\r
-\r
- PROPVARIANT iPropVariant;\r
- if (FAILED (prop->ReadMultiple (1, &iPropSpec, &iPropVariant)))\r
- return false;\r
-\r
- iPropVariant.lVal = (long) value;\r
- return SUCCEEDED (prop->WriteMultiple (1, &iPropSpec, &iPropVariant, iPropVariant.vt))\r
- && SUCCEEDED (discRecorder->SetRecorderProperties (prop));\r
- }\r
-\r
- void timerCallback() override\r
- {\r
- const DiskState state = getDiskState();\r
-\r
- if (state != lastState)\r
- {\r
- lastState = state;\r
- owner.sendChangeMessage();\r
- }\r
- }\r
-\r
- AudioCDBurner& owner;\r
- DiskState lastState;\r
- IDiscMaster* discMaster;\r
- IDiscRecorder* discRecorder;\r
- IRedbookDiscMaster* redbook;\r
- AudioCDBurner::BurnProgressListener* listener;\r
- float progress;\r
- bool shouldCancel;\r
-};\r
-\r
-//==============================================================================\r
-AudioCDBurner::AudioCDBurner (const int deviceIndex)\r
-{\r
- IDiscMaster* discMaster = nullptr;\r
- IDiscRecorder* discRecorder = CDBurnerHelpers::enumCDBurners (0, deviceIndex, &discMaster);\r
-\r
- if (discRecorder != nullptr)\r
- pimpl = new Pimpl (*this, discMaster, discRecorder);\r
-}\r
-\r
-AudioCDBurner::~AudioCDBurner()\r
-{\r
- if (pimpl != nullptr)\r
- pimpl.release()->releaseObjects();\r
-}\r
-\r
-StringArray AudioCDBurner::findAvailableDevices()\r
-{\r
- StringArray devs;\r
- CDBurnerHelpers::enumCDBurners (&devs, -1, 0);\r
- return devs;\r
-}\r
-\r
-AudioCDBurner* AudioCDBurner::openDevice (const int deviceIndex)\r
-{\r
- ScopedPointer<AudioCDBurner> b (new AudioCDBurner (deviceIndex));\r
-\r
- if (b->pimpl == 0)\r
- b = nullptr;\r
-\r
- return b.release();\r
-}\r
-\r
-AudioCDBurner::DiskState AudioCDBurner::getDiskState() const\r
-{\r
- return pimpl->getDiskState();\r
-}\r
-\r
-bool AudioCDBurner::isDiskPresent() const\r
-{\r
- return getDiskState() == writableDiskPresent;\r
-}\r
-\r
-bool AudioCDBurner::openTray()\r
-{\r
- const Pimpl::ScopedDiscOpener opener (*pimpl);\r
- return SUCCEEDED (pimpl->discRecorder->Eject());\r
-}\r
-\r
-AudioCDBurner::DiskState AudioCDBurner::waitUntilStateChange (int timeOutMilliseconds)\r
-{\r
- const int64 timeout = Time::currentTimeMillis() + timeOutMilliseconds;\r
- DiskState oldState = getDiskState();\r
- DiskState newState = oldState;\r
-\r
- while (newState == oldState && Time::currentTimeMillis() < timeout)\r
- {\r
- newState = getDiskState();\r
- Thread::sleep (jmin (250, (int) (timeout - Time::currentTimeMillis())));\r
- }\r
-\r
- return newState;\r
-}\r
-\r
-Array<int> AudioCDBurner::getAvailableWriteSpeeds() const\r
-{\r
- Array<int> results;\r
- const int maxSpeed = pimpl->getIntProperty (L"MaxWriteSpeed", 1);\r
- const int speeds[] = { 1, 2, 4, 8, 12, 16, 20, 24, 32, 40, 64, 80 };\r
-\r
- for (int i = 0; i < numElementsInArray (speeds); ++i)\r
- if (speeds[i] <= maxSpeed)\r
- results.add (speeds[i]);\r
-\r
- results.addIfNotAlreadyThere (maxSpeed);\r
- return results;\r
-}\r
-\r
-bool AudioCDBurner::setBufferUnderrunProtection (const bool shouldBeEnabled)\r
-{\r
- if (pimpl->getIntProperty (L"BufferUnderrunFreeCapable", 0) == 0)\r
- return false;\r
-\r
- pimpl->setIntProperty (L"EnableBufferUnderrunFree", shouldBeEnabled ? -1 : 0);\r
- return pimpl->getIntProperty (L"EnableBufferUnderrunFree", 0) != 0;\r
-}\r
-\r
-int AudioCDBurner::getNumAvailableAudioBlocks() const\r
-{\r
- long blocksFree = 0;\r
- pimpl->redbook->GetAvailableAudioTrackBlocks (&blocksFree);\r
- return blocksFree;\r
-}\r
-\r
-String AudioCDBurner::burn (AudioCDBurner::BurnProgressListener* listener, bool ejectDiscAfterwards,\r
- bool performFakeBurnForTesting, int writeSpeed)\r
-{\r
- pimpl->setIntProperty (L"WriteSpeed", writeSpeed > 0 ? writeSpeed : -1);\r
-\r
- pimpl->listener = listener;\r
- pimpl->progress = 0;\r
- pimpl->shouldCancel = false;\r
-\r
- UINT_PTR cookie;\r
- HRESULT hr = pimpl->discMaster->ProgressAdvise ((AudioCDBurner::Pimpl*) pimpl, &cookie);\r
-\r
- hr = pimpl->discMaster->RecordDisc (performFakeBurnForTesting,\r
- ejectDiscAfterwards);\r
-\r
- String error;\r
- if (hr != S_OK)\r
- {\r
- const char* e = "Couldn't open or write to the CD device";\r
-\r
- if (hr == IMAPI_E_USERABORT)\r
- e = "User cancelled the write operation";\r
- else if (hr == IMAPI_E_MEDIUM_NOTPRESENT || hr == IMAPI_E_TRACKOPEN)\r
- e = "No Disk present";\r
-\r
- error = e;\r
- }\r
-\r
- pimpl->discMaster->ProgressUnadvise (cookie);\r
- pimpl->listener = 0;\r
-\r
- return error;\r
-}\r
-\r
-bool AudioCDBurner::addAudioTrack (AudioSource* audioSource, int numSamples)\r
-{\r
- if (audioSource == 0)\r
- return false;\r
-\r
- ScopedPointer<AudioSource> source (audioSource);\r
-\r
- long bytesPerBlock;\r
- HRESULT hr = pimpl->redbook->GetAudioBlockSize (&bytesPerBlock);\r
-\r
- const int samplesPerBlock = bytesPerBlock / 4;\r
- bool ok = true;\r
-\r
- hr = pimpl->redbook->CreateAudioTrack ((long) numSamples / (bytesPerBlock * 4));\r
-\r
- HeapBlock<byte> buffer (bytesPerBlock);\r
- AudioSampleBuffer sourceBuffer (2, samplesPerBlock);\r
- int samplesDone = 0;\r
-\r
- source->prepareToPlay (samplesPerBlock, 44100.0);\r
-\r
- while (ok)\r
- {\r
- {\r
- AudioSourceChannelInfo info (&sourceBuffer, 0, samplesPerBlock);\r
- sourceBuffer.clear();\r
-\r
- source->getNextAudioBlock (info);\r
- }\r
-\r
- buffer.clear (bytesPerBlock);\r
-\r
- typedef AudioData::Pointer <AudioData::Int16, AudioData::LittleEndian,\r
- AudioData::Interleaved, AudioData::NonConst> CDSampleFormat;\r
-\r
- typedef AudioData::Pointer <AudioData::Float32, AudioData::NativeEndian,\r
- AudioData::NonInterleaved, AudioData::Const> SourceSampleFormat;\r
-\r
- CDSampleFormat left (buffer, 2);\r
- left.convertSamples (SourceSampleFormat (sourceBuffer.getReadPointer (0)), samplesPerBlock);\r
- CDSampleFormat right (buffer + 2, 2);\r
- right.convertSamples (SourceSampleFormat (sourceBuffer.getReadPointer (1)), samplesPerBlock);\r
-\r
- hr = pimpl->redbook->AddAudioTrackBlocks (buffer, bytesPerBlock);\r
-\r
- if (FAILED (hr))\r
- ok = false;\r
-\r
- samplesDone += samplesPerBlock;\r
-\r
- if (samplesDone >= numSamples)\r
- break;\r
- }\r
-\r
- hr = pimpl->redbook->CloseAudioTrack();\r
- return ok && hr == S_OK;\r
-}\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-namespace CDReaderHelpers\r
-{\r
-\r
-#define FILE_ANY_ACCESS 0\r
-#ifndef FILE_READ_ACCESS\r
- #define FILE_READ_ACCESS 1\r
-#endif\r
-#ifndef FILE_WRITE_ACCESS\r
- #define FILE_WRITE_ACCESS 2\r
-#endif\r
-\r
-#define METHOD_BUFFERED 0\r
-#define IOCTL_SCSI_BASE 4\r
-#define SCSI_IOCTL_DATA_OUT 0\r
-#define SCSI_IOCTL_DATA_IN 1\r
-#define SCSI_IOCTL_DATA_UNSPECIFIED 2\r
-\r
-#define CTL_CODE2(DevType, Function, Method, Access) (((DevType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))\r
-#define IOCTL_SCSI_PASS_THROUGH_DIRECT CTL_CODE2( IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS )\r
-#define IOCTL_SCSI_GET_ADDRESS CTL_CODE2( IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS )\r
-\r
-#define SENSE_LEN 14\r
-#define SRB_ENABLE_RESIDUAL_COUNT 0x04\r
-#define SRB_DIR_IN 0x08\r
-#define SRB_DIR_OUT 0x10\r
-#define SRB_EVENT_NOTIFY 0x40\r
-#define SC_HA_INQUIRY 0x00\r
-#define SC_GET_DEV_TYPE 0x01\r
-#define SC_EXEC_SCSI_CMD 0x02\r
-#define SS_PENDING 0x00\r
-#define SS_COMP 0x01\r
-#define SS_ERR 0x04\r
-\r
-enum\r
-{\r
- READTYPE_ANY = 0,\r
- READTYPE_ATAPI1 = 1,\r
- READTYPE_ATAPI2 = 2,\r
- READTYPE_READ6 = 3,\r
- READTYPE_READ10 = 4,\r
- READTYPE_READ_D8 = 5,\r
- READTYPE_READ_D4 = 6,\r
- READTYPE_READ_D4_1 = 7,\r
- READTYPE_READ10_2 = 8\r
-};\r
-\r
-struct SCSI_PASS_THROUGH\r
-{\r
- USHORT Length;\r
- UCHAR ScsiStatus;\r
- UCHAR PathId;\r
- UCHAR TargetId;\r
- UCHAR Lun;\r
- UCHAR CdbLength;\r
- UCHAR SenseInfoLength;\r
- UCHAR DataIn;\r
- ULONG DataTransferLength;\r
- ULONG TimeOutValue;\r
- ULONG DataBufferOffset;\r
- ULONG SenseInfoOffset;\r
- UCHAR Cdb[16];\r
-};\r
-\r
-struct SCSI_PASS_THROUGH_DIRECT\r
-{\r
- USHORT Length;\r
- UCHAR ScsiStatus;\r
- UCHAR PathId;\r
- UCHAR TargetId;\r
- UCHAR Lun;\r
- UCHAR CdbLength;\r
- UCHAR SenseInfoLength;\r
- UCHAR DataIn;\r
- ULONG DataTransferLength;\r
- ULONG TimeOutValue;\r
- PVOID DataBuffer;\r
- ULONG SenseInfoOffset;\r
- UCHAR Cdb[16];\r
-};\r
-\r
-struct SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER\r
-{\r
- SCSI_PASS_THROUGH_DIRECT spt;\r
- ULONG Filler;\r
- UCHAR ucSenseBuf[32];\r
-};\r
-\r
-struct SCSI_ADDRESS\r
-{\r
- ULONG Length;\r
- UCHAR PortNumber;\r
- UCHAR PathId;\r
- UCHAR TargetId;\r
- UCHAR Lun;\r
-};\r
-\r
-#pragma pack(1)\r
-\r
-struct SRB_GDEVBlock\r
-{\r
- BYTE SRB_Cmd;\r
- BYTE SRB_Status;\r
- BYTE SRB_HaID;\r
- BYTE SRB_Flags;\r
- DWORD SRB_Hdr_Rsvd;\r
- BYTE SRB_Target;\r
- BYTE SRB_Lun;\r
- BYTE SRB_DeviceType;\r
- BYTE SRB_Rsvd1;\r
- BYTE pad[68];\r
-};\r
-\r
-\r
-struct SRB_ExecSCSICmd\r
-{\r
- BYTE SRB_Cmd;\r
- BYTE SRB_Status;\r
- BYTE SRB_HaID;\r
- BYTE SRB_Flags;\r
- DWORD SRB_Hdr_Rsvd;\r
- BYTE SRB_Target;\r
- BYTE SRB_Lun;\r
- WORD SRB_Rsvd1;\r
- DWORD SRB_BufLen;\r
- BYTE *SRB_BufPointer;\r
- BYTE SRB_SenseLen;\r
- BYTE SRB_CDBLen;\r
- BYTE SRB_HaStat;\r
- BYTE SRB_TargStat;\r
- VOID *SRB_PostProc;\r
- BYTE SRB_Rsvd2[20];\r
- BYTE CDBByte[16];\r
- BYTE SenseArea[SENSE_LEN + 2];\r
-};\r
-\r
-struct SRB\r
-{\r
- BYTE SRB_Cmd;\r
- BYTE SRB_Status;\r
- BYTE SRB_HaId;\r
- BYTE SRB_Flags;\r
- DWORD SRB_Hdr_Rsvd;\r
-};\r
-\r
-struct TOCTRACK\r
-{\r
- BYTE rsvd;\r
- BYTE ADR;\r
- BYTE trackNumber;\r
- BYTE rsvd2;\r
- BYTE addr[4];\r
-};\r
-\r
-struct TOC\r
-{\r
- WORD tocLen;\r
- BYTE firstTrack;\r
- BYTE lastTrack;\r
- TOCTRACK tracks[100];\r
-};\r
-\r
-#pragma pack()\r
-\r
-//==============================================================================\r
-struct CDDeviceDescription\r
-{\r
- CDDeviceDescription() : ha (0), tgt (0), lun (0), scsiDriveLetter (0)\r
- {\r
- }\r
-\r
- void createDescription (const char* data)\r
- {\r
- description << String (data + 8, 8).trim() // vendor\r
- << ' ' << String (data + 16, 16).trim() // product id\r
- << ' ' << String (data + 32, 4).trim(); // rev\r
- }\r
-\r
- String description;\r
- BYTE ha, tgt, lun;\r
- char scsiDriveLetter; // will be 0 if not using scsi\r
-};\r
-\r
-//==============================================================================\r
-class CDReadBuffer\r
-{\r
-public:\r
- CDReadBuffer (const int numberOfFrames)\r
- : startFrame (0), numFrames (0), dataStartOffset (0),\r
- dataLength (0), bufferSize (2352 * numberOfFrames), index (0),\r
- buffer (bufferSize), wantsIndex (false)\r
- {\r
- }\r
-\r
- bool isZero() const noexcept\r
- {\r
- for (int i = 0; i < dataLength; ++i)\r
- if (buffer [dataStartOffset + i] != 0)\r
- return false;\r
-\r
- return true;\r
- }\r
-\r
- int startFrame, numFrames, dataStartOffset;\r
- int dataLength, bufferSize, index;\r
- HeapBlock<BYTE> buffer;\r
- bool wantsIndex;\r
-};\r
-\r
-class CDDeviceHandle;\r
-\r
-//==============================================================================\r
-class CDController\r
-{\r
-public:\r
- CDController() : initialised (false) {}\r
- virtual ~CDController() {}\r
-\r
- virtual bool read (CDReadBuffer&) = 0;\r
- virtual void shutDown() {}\r
-\r
- bool readAudio (CDReadBuffer& rb, CDReadBuffer* overlapBuffer = 0);\r
- int getLastIndex();\r
-\r
-public:\r
- CDDeviceHandle* deviceInfo;\r
- int framesToCheck, framesOverlap;\r
- bool initialised;\r
-\r
- void prepare (SRB_ExecSCSICmd& s);\r
- void perform (SRB_ExecSCSICmd& s);\r
- void setPaused (bool paused);\r
-};\r
-\r
-\r
-//==============================================================================\r
-class CDDeviceHandle\r
-{\r
-public:\r
- CDDeviceHandle (const CDDeviceDescription& device, HANDLE scsiHandle_)\r
- : info (device), scsiHandle (scsiHandle_), readType (READTYPE_ANY)\r
- {\r
- }\r
-\r
- ~CDDeviceHandle()\r
- {\r
- if (controller != nullptr)\r
- {\r
- controller->shutDown();\r
- controller = 0;\r
- }\r
-\r
- if (scsiHandle != 0)\r
- CloseHandle (scsiHandle);\r
- }\r
-\r
- bool readTOC (TOC* lpToc);\r
- bool readAudio (CDReadBuffer& buffer, CDReadBuffer* overlapBuffer = 0);\r
- void openDrawer (bool shouldBeOpen);\r
- void performScsiCommand (HANDLE event, SRB_ExecSCSICmd& s);\r
-\r
- CDDeviceDescription info;\r
- HANDLE scsiHandle;\r
- BYTE readType;\r
-\r
-private:\r
- ScopedPointer<CDController> controller;\r
-\r
- bool testController (int readType, CDController* newController, CDReadBuffer& bufferToUse);\r
-};\r
-\r
-//==============================================================================\r
-HANDLE createSCSIDeviceHandle (const char driveLetter)\r
-{\r
- TCHAR devicePath[] = { '\\', '\\', '.', '\\', driveLetter, ':', 0, 0 };\r
- DWORD flags = GENERIC_READ | GENERIC_WRITE;\r
- HANDLE h = CreateFile (devicePath, flags, FILE_SHARE_WRITE | FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);\r
-\r
- if (h == INVALID_HANDLE_VALUE)\r
- {\r
- flags ^= GENERIC_WRITE;\r
- h = CreateFile (devicePath, flags, FILE_SHARE_WRITE | FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);\r
- }\r
-\r
- return h;\r
-}\r
-\r
-void findCDDevices (Array<CDDeviceDescription>& list)\r
-{\r
- for (char driveLetter = 'b'; driveLetter <= 'z'; ++driveLetter)\r
- {\r
- TCHAR drivePath[] = { driveLetter, ':', '\\', 0, 0 };\r
-\r
- if (GetDriveType (drivePath) == DRIVE_CDROM)\r
- {\r
- HANDLE h = createSCSIDeviceHandle (driveLetter);\r
-\r
- if (h != INVALID_HANDLE_VALUE)\r
- {\r
- char buffer[100] = { 0 };\r
-\r
- SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER p = { 0 };\r
- p.spt.Length = sizeof (SCSI_PASS_THROUGH);\r
- p.spt.CdbLength = 6;\r
- p.spt.SenseInfoLength = 24;\r
- p.spt.DataIn = SCSI_IOCTL_DATA_IN;\r
- p.spt.DataTransferLength = sizeof (buffer);\r
- p.spt.TimeOutValue = 2;\r
- p.spt.DataBuffer = buffer;\r
- p.spt.SenseInfoOffset = offsetof (SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER, ucSenseBuf);\r
- p.spt.Cdb[0] = 0x12;\r
- p.spt.Cdb[4] = 100;\r
-\r
- DWORD bytesReturned = 0;\r
-\r
- if (DeviceIoControl (h, IOCTL_SCSI_PASS_THROUGH_DIRECT,\r
- &p, sizeof (p), &p, sizeof (p),\r
- &bytesReturned, 0) != 0)\r
- {\r
- CDDeviceDescription dev;\r
- dev.scsiDriveLetter = driveLetter;\r
- dev.createDescription (buffer);\r
-\r
- SCSI_ADDRESS scsiAddr = { 0 };\r
- scsiAddr.Length = sizeof (scsiAddr);\r
-\r
- if (DeviceIoControl (h, IOCTL_SCSI_GET_ADDRESS,\r
- 0, 0, &scsiAddr, sizeof (scsiAddr),\r
- &bytesReturned, 0) != 0)\r
- {\r
- dev.ha = scsiAddr.PortNumber;\r
- dev.tgt = scsiAddr.TargetId;\r
- dev.lun = scsiAddr.Lun;\r
- list.add (dev);\r
- }\r
- }\r
-\r
- CloseHandle (h);\r
- }\r
- }\r
- }\r
-}\r
-\r
-DWORD performScsiPassThroughCommand (SRB_ExecSCSICmd* const srb, const char driveLetter,\r
- HANDLE& deviceHandle, const bool retryOnFailure)\r
-{\r
- SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER s = { 0 };\r
- s.spt.Length = sizeof (SCSI_PASS_THROUGH);\r
- s.spt.CdbLength = srb->SRB_CDBLen;\r
-\r
- s.spt.DataIn = (BYTE) ((srb->SRB_Flags & SRB_DIR_IN)\r
- ? SCSI_IOCTL_DATA_IN\r
- : ((srb->SRB_Flags & SRB_DIR_OUT)\r
- ? SCSI_IOCTL_DATA_OUT\r
- : SCSI_IOCTL_DATA_UNSPECIFIED));\r
-\r
- s.spt.DataTransferLength = srb->SRB_BufLen;\r
- s.spt.TimeOutValue = 5;\r
- s.spt.DataBuffer = srb->SRB_BufPointer;\r
- s.spt.SenseInfoOffset = offsetof (SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER, ucSenseBuf);\r
-\r
- memcpy (s.spt.Cdb, srb->CDBByte, srb->SRB_CDBLen);\r
-\r
- srb->SRB_Status = SS_ERR;\r
- srb->SRB_TargStat = 0x0004;\r
-\r
- DWORD bytesReturned = 0;\r
-\r
- if (DeviceIoControl (deviceHandle, IOCTL_SCSI_PASS_THROUGH_DIRECT,\r
- &s, sizeof (s), &s, sizeof (s), &bytesReturned, 0) != 0)\r
- {\r
- srb->SRB_Status = SS_COMP;\r
- }\r
- else if (retryOnFailure)\r
- {\r
- const DWORD error = GetLastError();\r
-\r
- if ((error == ERROR_MEDIA_CHANGED) || (error == ERROR_INVALID_HANDLE))\r
- {\r
- if (error != ERROR_INVALID_HANDLE)\r
- CloseHandle (deviceHandle);\r
-\r
- deviceHandle = createSCSIDeviceHandle (driveLetter);\r
-\r
- return performScsiPassThroughCommand (srb, driveLetter, deviceHandle, false);\r
- }\r
- }\r
-\r
- return srb->SRB_Status;\r
-}\r
-\r
-\r
-//==============================================================================\r
-// Controller types..\r
-\r
-class ControllerType1 : public CDController\r
-{\r
-public:\r
- ControllerType1() {}\r
-\r
- bool read (CDReadBuffer& rb)\r
- {\r
- if (rb.numFrames * 2352 > rb.bufferSize)\r
- return false;\r
-\r
- SRB_ExecSCSICmd s;\r
- prepare (s);\r
- s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = rb.bufferSize;\r
- s.SRB_BufPointer = rb.buffer;\r
- s.SRB_CDBLen = 12;\r
- s.CDBByte[0] = 0xBE;\r
- s.CDBByte[3] = (BYTE) ((rb.startFrame >> 16) & 0xFF);\r
- s.CDBByte[4] = (BYTE) ((rb.startFrame >> 8) & 0xFF);\r
- s.CDBByte[5] = (BYTE) (rb.startFrame & 0xFF);\r
- s.CDBByte[8] = (BYTE) (rb.numFrames & 0xFF);\r
- s.CDBByte[9] = (BYTE) (deviceInfo->readType == READTYPE_ATAPI1 ? 0x10 : 0xF0);\r
- perform (s);\r
-\r
- if (s.SRB_Status != SS_COMP)\r
- return false;\r
-\r
- rb.dataLength = rb.numFrames * 2352;\r
- rb.dataStartOffset = 0;\r
- return true;\r
- }\r
-};\r
-\r
-//==============================================================================\r
-class ControllerType2 : public CDController\r
-{\r
-public:\r
- ControllerType2() {}\r
-\r
- void shutDown()\r
- {\r
- if (initialised)\r
- {\r
- BYTE bufPointer[] = { 0, 0, 0, 8, 83, 0, 0, 0, 0, 0, 8, 0 };\r
-\r
- SRB_ExecSCSICmd s;\r
- prepare (s);\r
- s.SRB_Flags = SRB_EVENT_NOTIFY | SRB_ENABLE_RESIDUAL_COUNT;\r
- s.SRB_BufLen = 0x0C;\r
- s.SRB_BufPointer = bufPointer;\r
- s.SRB_CDBLen = 6;\r
- s.CDBByte[0] = 0x15;\r
- s.CDBByte[4] = 0x0C;\r
- perform (s);\r
- }\r
- }\r
-\r
- bool init()\r
- {\r
- SRB_ExecSCSICmd s;\r
- s.SRB_Status = SS_ERR;\r
-\r
- if (deviceInfo->readType == READTYPE_READ10_2)\r
- {\r
- BYTE bufPointer1[] = { 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 48, 35, 6, 0, 0, 0, 0, 0, 128 };\r
- BYTE bufPointer2[] = { 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 48, 1, 6, 32, 7, 0, 0, 0, 0 };\r
-\r
- for (int i = 0; i < 2; ++i)\r
- {\r
- prepare (s);\r
- s.SRB_Flags = SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = 0x14;\r
- s.SRB_BufPointer = (i == 0) ? bufPointer1 : bufPointer2;\r
- s.SRB_CDBLen = 6;\r
- s.CDBByte[0] = 0x15;\r
- s.CDBByte[1] = 0x10;\r
- s.CDBByte[4] = 0x14;\r
- perform (s);\r
-\r
- if (s.SRB_Status != SS_COMP)\r
- return false;\r
- }\r
- }\r
- else\r
- {\r
- BYTE bufPointer[] = { 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 48 };\r
-\r
- prepare (s);\r
- s.SRB_Flags = SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = 0x0C;\r
- s.SRB_BufPointer = bufPointer;\r
- s.SRB_CDBLen = 6;\r
- s.CDBByte[0] = 0x15;\r
- s.CDBByte[4] = 0x0C;\r
- perform (s);\r
- }\r
-\r
- return s.SRB_Status == SS_COMP;\r
- }\r
-\r
- bool read (CDReadBuffer& rb)\r
- {\r
- if (rb.numFrames * 2352 > rb.bufferSize)\r
- return false;\r
-\r
- if (! initialised)\r
- {\r
- initialised = init();\r
-\r
- if (! initialised)\r
- return false;\r
- }\r
-\r
- SRB_ExecSCSICmd s;\r
- prepare (s);\r
- s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = rb.bufferSize;\r
- s.SRB_BufPointer = rb.buffer;\r
- s.SRB_CDBLen = 10;\r
- s.CDBByte[0] = 0x28;\r
- s.CDBByte[1] = (BYTE) (deviceInfo->info.lun << 5);\r
- s.CDBByte[3] = (BYTE) ((rb.startFrame >> 16) & 0xFF);\r
- s.CDBByte[4] = (BYTE) ((rb.startFrame >> 8) & 0xFF);\r
- s.CDBByte[5] = (BYTE) (rb.startFrame & 0xFF);\r
- s.CDBByte[8] = (BYTE) (rb.numFrames & 0xFF);\r
- perform (s);\r
-\r
- if (s.SRB_Status != SS_COMP)\r
- return false;\r
-\r
- rb.dataLength = rb.numFrames * 2352;\r
- rb.dataStartOffset = 0;\r
- return true;\r
- }\r
-};\r
-\r
-//==============================================================================\r
-class ControllerType3 : public CDController\r
-{\r
-public:\r
- ControllerType3() {}\r
-\r
- bool read (CDReadBuffer& rb)\r
- {\r
- if (rb.numFrames * 2352 > rb.bufferSize)\r
- return false;\r
-\r
- if (! initialised)\r
- {\r
- setPaused (false);\r
- initialised = true;\r
- }\r
-\r
- SRB_ExecSCSICmd s;\r
- prepare (s);\r
- s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = rb.numFrames * 2352;\r
- s.SRB_BufPointer = rb.buffer;\r
- s.SRB_CDBLen = 12;\r
- s.CDBByte[0] = 0xD8;\r
- s.CDBByte[3] = (BYTE) ((rb.startFrame >> 16) & 0xFF);\r
- s.CDBByte[4] = (BYTE) ((rb.startFrame >> 8) & 0xFF);\r
- s.CDBByte[5] = (BYTE) (rb.startFrame & 0xFF);\r
- s.CDBByte[9] = (BYTE) (rb.numFrames & 0xFF);\r
- perform (s);\r
-\r
- if (s.SRB_Status != SS_COMP)\r
- return false;\r
-\r
- rb.dataLength = rb.numFrames * 2352;\r
- rb.dataStartOffset = 0;\r
- return true;\r
- }\r
-};\r
-\r
-//==============================================================================\r
-class ControllerType4 : public CDController\r
-{\r
-public:\r
- ControllerType4() {}\r
-\r
- bool selectD4Mode()\r
- {\r
- BYTE bufPointer[12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 48 };\r
-\r
- SRB_ExecSCSICmd s;\r
- prepare (s);\r
- s.SRB_Flags = SRB_EVENT_NOTIFY;\r
- s.SRB_CDBLen = 6;\r
- s.SRB_BufLen = 12;\r
- s.SRB_BufPointer = bufPointer;\r
- s.CDBByte[0] = 0x15;\r
- s.CDBByte[1] = 0x10;\r
- s.CDBByte[4] = 0x08;\r
- perform (s);\r
-\r
- return s.SRB_Status == SS_COMP;\r
- }\r
-\r
- bool read (CDReadBuffer& rb)\r
- {\r
- if (rb.numFrames * 2352 > rb.bufferSize)\r
- return false;\r
-\r
- if (! initialised)\r
- {\r
- setPaused (true);\r
-\r
- if (deviceInfo->readType == READTYPE_READ_D4_1)\r
- selectD4Mode();\r
-\r
- initialised = true;\r
- }\r
-\r
- SRB_ExecSCSICmd s;\r
- prepare (s);\r
- s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = rb.bufferSize;\r
- s.SRB_BufPointer = rb.buffer;\r
- s.SRB_CDBLen = 10;\r
- s.CDBByte[0] = 0xD4;\r
- s.CDBByte[3] = (BYTE) ((rb.startFrame >> 16) & 0xFF);\r
- s.CDBByte[4] = (BYTE) ((rb.startFrame >> 8) & 0xFF);\r
- s.CDBByte[5] = (BYTE) (rb.startFrame & 0xFF);\r
- s.CDBByte[8] = (BYTE) (rb.numFrames & 0xFF);\r
- perform (s);\r
-\r
- if (s.SRB_Status != SS_COMP)\r
- return false;\r
-\r
- rb.dataLength = rb.numFrames * 2352;\r
- rb.dataStartOffset = 0;\r
- return true;\r
- }\r
-};\r
-\r
-\r
-//==============================================================================\r
-void CDController::prepare (SRB_ExecSCSICmd& s)\r
-{\r
- zerostruct (s);\r
- s.SRB_Cmd = SC_EXEC_SCSI_CMD;\r
- s.SRB_HaID = deviceInfo->info.ha;\r
- s.SRB_Target = deviceInfo->info.tgt;\r
- s.SRB_Lun = deviceInfo->info.lun;\r
- s.SRB_SenseLen = SENSE_LEN;\r
-}\r
-\r
-void CDController::perform (SRB_ExecSCSICmd& s)\r
-{\r
- s.SRB_PostProc = CreateEvent (0, TRUE, FALSE, 0);\r
-\r
- deviceInfo->performScsiCommand (s.SRB_PostProc, s);\r
-}\r
-\r
-void CDController::setPaused (bool paused)\r
-{\r
- SRB_ExecSCSICmd s;\r
- prepare (s);\r
- s.SRB_Flags = SRB_EVENT_NOTIFY;\r
- s.SRB_CDBLen = 10;\r
- s.CDBByte[0] = 0x4B;\r
- s.CDBByte[8] = (BYTE) (paused ? 0 : 1);\r
- perform (s);\r
-}\r
-\r
-bool CDController::readAudio (CDReadBuffer& rb, CDReadBuffer* overlapBuffer)\r
-{\r
- if (overlapBuffer != nullptr)\r
- {\r
- const bool canDoJitter = (overlapBuffer->bufferSize >= 2352 * framesToCheck);\r
- const bool doJitter = canDoJitter && ! overlapBuffer->isZero();\r
-\r
- if (doJitter\r
- && overlapBuffer->startFrame > 0\r
- && overlapBuffer->numFrames > 0\r
- && overlapBuffer->dataLength > 0)\r
- {\r
- const int numFrames = rb.numFrames;\r
-\r
- if (overlapBuffer->startFrame == (rb.startFrame - framesToCheck))\r
- {\r
- rb.startFrame -= framesOverlap;\r
-\r
- if (framesToCheck < framesOverlap\r
- && numFrames + framesOverlap <= rb.bufferSize / 2352)\r
- rb.numFrames += framesOverlap;\r
- }\r
- else\r
- {\r
- overlapBuffer->dataLength = 0;\r
- overlapBuffer->startFrame = 0;\r
- overlapBuffer->numFrames = 0;\r
- }\r
- }\r
-\r
- if (! read (rb))\r
- return false;\r
-\r
- if (doJitter)\r
- {\r
- const int checkLen = framesToCheck * 2352;\r
- const int maxToCheck = rb.dataLength - checkLen;\r
-\r
- if (overlapBuffer->dataLength == 0 || overlapBuffer->isZero())\r
- return true;\r
-\r
- BYTE* const p = overlapBuffer->buffer + overlapBuffer->dataStartOffset;\r
- bool found = false;\r
-\r
- for (int i = 0; i < maxToCheck; ++i)\r
- {\r
- if (memcmp (p, rb.buffer + i, checkLen) == 0)\r
- {\r
- i += checkLen;\r
- rb.dataStartOffset = i;\r
- rb.dataLength -= i;\r
- rb.startFrame = overlapBuffer->startFrame + framesToCheck;\r
- found = true;\r
- break;\r
- }\r
- }\r
-\r
- rb.numFrames = rb.dataLength / 2352;\r
- rb.dataLength = 2352 * rb.numFrames;\r
-\r
- if (! found)\r
- return false;\r
- }\r
-\r
- if (canDoJitter)\r
- {\r
- memcpy (overlapBuffer->buffer,\r
- rb.buffer + rb.dataStartOffset + 2352 * (rb.numFrames - framesToCheck),\r
- 2352 * framesToCheck);\r
-\r
- overlapBuffer->startFrame = rb.startFrame + rb.numFrames - framesToCheck;\r
- overlapBuffer->numFrames = framesToCheck;\r
- overlapBuffer->dataLength = 2352 * framesToCheck;\r
- overlapBuffer->dataStartOffset = 0;\r
- }\r
- else\r
- {\r
- overlapBuffer->startFrame = 0;\r
- overlapBuffer->numFrames = 0;\r
- overlapBuffer->dataLength = 0;\r
- }\r
-\r
- return true;\r
- }\r
-\r
- return read (rb);\r
-}\r
-\r
-int CDController::getLastIndex()\r
-{\r
- char qdata[100];\r
-\r
- SRB_ExecSCSICmd s;\r
- prepare (s);\r
- s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = sizeof (qdata);\r
- s.SRB_BufPointer = (BYTE*) qdata;\r
- s.SRB_CDBLen = 12;\r
- s.CDBByte[0] = 0x42;\r
- s.CDBByte[1] = (BYTE) (deviceInfo->info.lun << 5);\r
- s.CDBByte[2] = 64;\r
- s.CDBByte[3] = 1; // get current position\r
- s.CDBByte[7] = 0;\r
- s.CDBByte[8] = (BYTE) sizeof (qdata);\r
- perform (s);\r
-\r
- return s.SRB_Status == SS_COMP ? qdata[7] : 0;\r
-}\r
-\r
-//==============================================================================\r
-bool CDDeviceHandle::readTOC (TOC* lpToc)\r
-{\r
- SRB_ExecSCSICmd s = { 0 };\r
- s.SRB_Cmd = SC_EXEC_SCSI_CMD;\r
- s.SRB_HaID = info.ha;\r
- s.SRB_Target = info.tgt;\r
- s.SRB_Lun = info.lun;\r
- s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = 0x324;\r
- s.SRB_BufPointer = (BYTE*) lpToc;\r
- s.SRB_SenseLen = 0x0E;\r
- s.SRB_CDBLen = 0x0A;\r
- s.SRB_PostProc = CreateEvent (0, TRUE, FALSE, 0);\r
- s.CDBByte[0] = 0x43;\r
- s.CDBByte[1] = 0x00;\r
- s.CDBByte[7] = 0x03;\r
- s.CDBByte[8] = 0x24;\r
-\r
- performScsiCommand (s.SRB_PostProc, s);\r
- return (s.SRB_Status == SS_COMP);\r
-}\r
-\r
-void CDDeviceHandle::performScsiCommand (HANDLE event, SRB_ExecSCSICmd& s)\r
-{\r
- ResetEvent (event);\r
- DWORD status = performScsiPassThroughCommand ((SRB_ExecSCSICmd*) &s, info.scsiDriveLetter, scsiHandle, true);\r
-\r
- if (status == SS_PENDING)\r
- WaitForSingleObject (event, 4000);\r
-\r
- CloseHandle (event);\r
-}\r
-\r
-bool CDDeviceHandle::readAudio (CDReadBuffer& buffer, CDReadBuffer* overlapBuffer)\r
-{\r
- if (controller == 0)\r
- {\r
- testController (READTYPE_ATAPI2, new ControllerType1(), buffer)\r
- || testController (READTYPE_ATAPI1, new ControllerType1(), buffer)\r
- || testController (READTYPE_READ10_2, new ControllerType2(), buffer)\r
- || testController (READTYPE_READ10, new ControllerType2(), buffer)\r
- || testController (READTYPE_READ_D8, new ControllerType3(), buffer)\r
- || testController (READTYPE_READ_D4, new ControllerType4(), buffer)\r
- || testController (READTYPE_READ_D4_1, new ControllerType4(), buffer);\r
- }\r
-\r
- buffer.index = 0;\r
-\r
- if (controller != nullptr && controller->readAudio (buffer, overlapBuffer))\r
- {\r
- if (buffer.wantsIndex)\r
- buffer.index = controller->getLastIndex();\r
-\r
- return true;\r
- }\r
-\r
- return false;\r
-}\r
-\r
-void CDDeviceHandle::openDrawer (bool shouldBeOpen)\r
-{\r
- if (shouldBeOpen)\r
- {\r
- if (controller != nullptr)\r
- {\r
- controller->shutDown();\r
- controller = nullptr;\r
- }\r
-\r
- if (scsiHandle != 0)\r
- {\r
- CloseHandle (scsiHandle);\r
- scsiHandle = 0;\r
- }\r
- }\r
-\r
- SRB_ExecSCSICmd s = { 0 };\r
- s.SRB_Cmd = SC_EXEC_SCSI_CMD;\r
- s.SRB_HaID = info.ha;\r
- s.SRB_Target = info.tgt;\r
- s.SRB_Lun = info.lun;\r
- s.SRB_SenseLen = SENSE_LEN;\r
- s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
- s.SRB_BufLen = 0;\r
- s.SRB_BufPointer = 0;\r
- s.SRB_CDBLen = 12;\r
- s.CDBByte[0] = 0x1b;\r
- s.CDBByte[1] = (BYTE) (info.lun << 5);\r
- s.CDBByte[4] = (BYTE) (shouldBeOpen ? 2 : 3);\r
- s.SRB_PostProc = CreateEvent (0, TRUE, FALSE, 0);\r
-\r
- performScsiCommand (s.SRB_PostProc, s);\r
-}\r
-\r
-bool CDDeviceHandle::testController (const int type, CDController* const newController, CDReadBuffer& rb)\r
-{\r
- controller = newController;\r
- readType = (BYTE) type;\r
-\r
- controller->deviceInfo = this;\r
- controller->framesToCheck = 1;\r
- controller->framesOverlap = 3;\r
-\r
- bool passed = false;\r
- memset (rb.buffer, 0xcd, rb.bufferSize);\r
-\r
- if (controller->read (rb))\r
- {\r
- passed = true;\r
- int* p = (int*) (rb.buffer + rb.dataStartOffset);\r
- int wrong = 0;\r
-\r
- for (int i = rb.dataLength / 4; --i >= 0;)\r
- {\r
- if (*p++ == (int) 0xcdcdcdcd)\r
- {\r
- if (++wrong == 4)\r
- {\r
- passed = false;\r
- break;\r
- }\r
- }\r
- else\r
- {\r
- wrong = 0;\r
- }\r
- }\r
- }\r
-\r
- if (! passed)\r
- {\r
- controller->shutDown();\r
- controller = nullptr;\r
- }\r
-\r
- return passed;\r
-}\r
-\r
-\r
-//==============================================================================\r
-struct CDDeviceWrapper\r
-{\r
- CDDeviceWrapper (const CDDeviceDescription& device, HANDLE scsiHandle)\r
- : deviceHandle (device, scsiHandle), overlapBuffer (3), jitter (false)\r
- {\r
- // xxx jitter never seemed to actually be enabled (??)\r
- }\r
-\r
- CDDeviceHandle deviceHandle;\r
- CDReadBuffer overlapBuffer;\r
- bool jitter;\r
-};\r
-\r
-//==============================================================================\r
-int getAddressOfTrack (const TOCTRACK& t) noexcept\r
-{\r
- return (((DWORD) t.addr[0]) << 24) + (((DWORD) t.addr[1]) << 16)\r
- + (((DWORD) t.addr[2]) << 8) + ((DWORD) t.addr[3]);\r
-}\r
-\r
-const int samplesPerFrame = 44100 / 75;\r
-const int bytesPerFrame = samplesPerFrame * 4;\r
-const int framesPerIndexRead = 4;\r
-\r
-}\r
-\r
-//==============================================================================\r
-StringArray AudioCDReader::getAvailableCDNames()\r
-{\r
- using namespace CDReaderHelpers;\r
- StringArray results;\r
-\r
- Array<CDDeviceDescription> list;\r
- findCDDevices (list);\r
-\r
- for (int i = 0; i < list.size(); ++i)\r
- {\r
- String s;\r
- if (list[i].scsiDriveLetter > 0)\r
- s << String::charToString (list[i].scsiDriveLetter).toUpperCase() << ": ";\r
-\r
- s << list[i].description;\r
- results.add (s);\r
- }\r
-\r
- return results;\r
-}\r
-\r
-AudioCDReader* AudioCDReader::createReaderForCD (const int deviceIndex)\r
-{\r
- using namespace CDReaderHelpers;\r
-\r
- Array<CDDeviceDescription> list;\r
- findCDDevices (list);\r
-\r
- if (isPositiveAndBelow (deviceIndex, list.size()))\r
- {\r
- HANDLE h = createSCSIDeviceHandle (list [deviceIndex].scsiDriveLetter);\r
-\r
- if (h != INVALID_HANDLE_VALUE)\r
- {\r
- ScopedPointer<AudioCDReader> cd (new AudioCDReader (new CDDeviceWrapper (list [deviceIndex], h)));\r
-\r
- if (cd->lengthInSamples > 0)\r
- return cd.release();\r
- }\r
- }\r
-\r
- return nullptr;\r
-}\r
-\r
-AudioCDReader::AudioCDReader (void* handle_)\r
- : AudioFormatReader (0, "CD Audio"),\r
- handle (handle_),\r
- indexingEnabled (false),\r
- lastIndex (0),\r
- firstFrameInBuffer (0),\r
- samplesInBuffer (0)\r
-{\r
- using namespace CDReaderHelpers;\r
- jassert (handle_ != nullptr);\r
-\r
- refreshTrackLengths();\r
-\r
- sampleRate = 44100.0;\r
- bitsPerSample = 16;\r
- numChannels = 2;\r
- usesFloatingPointData = false;\r
-\r
- buffer.setSize (4 * bytesPerFrame, true);\r
-}\r
-\r
-AudioCDReader::~AudioCDReader()\r
-{\r
- using namespace CDReaderHelpers;\r
- CDDeviceWrapper* const device = static_cast<CDDeviceWrapper*> (handle);\r
- delete device;\r
-}\r
-\r
-bool AudioCDReader::readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,\r
- int64 startSampleInFile, int numSamples)\r
-{\r
- using namespace CDReaderHelpers;\r
- CDDeviceWrapper* const device = static_cast<CDDeviceWrapper*> (handle);\r
-\r
- bool ok = true;\r
-\r
- while (numSamples > 0)\r
- {\r
- const int bufferStartSample = firstFrameInBuffer * samplesPerFrame;\r
- const int bufferEndSample = bufferStartSample + samplesInBuffer;\r
-\r
- if (startSampleInFile >= bufferStartSample\r
- && startSampleInFile < bufferEndSample)\r
- {\r
- const int toDo = (int) jmin ((int64) numSamples, bufferEndSample - startSampleInFile);\r
-\r
- int* const l = destSamples[0] + startOffsetInDestBuffer;\r
- int* const r = numDestChannels > 1 ? (destSamples[1] + startOffsetInDestBuffer) : nullptr;\r
- const short* src = (const short*) buffer.getData();\r
- src += 2 * (startSampleInFile - bufferStartSample);\r
-\r
- for (int i = 0; i < toDo; ++i)\r
- {\r
- l[i] = src [i << 1] << 16;\r
-\r
- if (r != nullptr)\r
- r[i] = src [(i << 1) + 1] << 16;\r
- }\r
-\r
- startOffsetInDestBuffer += toDo;\r
- startSampleInFile += toDo;\r
- numSamples -= toDo;\r
- }\r
- else\r
- {\r
- const int framesInBuffer = (int) (buffer.getSize() / bytesPerFrame);\r
- const int frameNeeded = (int) (startSampleInFile / samplesPerFrame);\r
-\r
- if (firstFrameInBuffer + framesInBuffer != frameNeeded)\r
- {\r
- device->overlapBuffer.dataLength = 0;\r
- device->overlapBuffer.startFrame = 0;\r
- device->overlapBuffer.numFrames = 0;\r
- device->jitter = false;\r
- }\r
-\r
- firstFrameInBuffer = frameNeeded;\r
- lastIndex = 0;\r
-\r
- CDReadBuffer readBuffer (framesInBuffer + 4);\r
- readBuffer.wantsIndex = indexingEnabled;\r
-\r
- int i;\r
- for (i = 5; --i >= 0;)\r
- {\r
- readBuffer.startFrame = frameNeeded;\r
- readBuffer.numFrames = framesInBuffer;\r
-\r
- if (device->deviceHandle.readAudio (readBuffer, device->jitter ? &device->overlapBuffer : 0))\r
- break;\r
- else\r
- device->overlapBuffer.dataLength = 0;\r
- }\r
-\r
- if (i >= 0)\r
- {\r
- buffer.copyFrom (readBuffer.buffer + readBuffer.dataStartOffset, 0, readBuffer.dataLength);\r
- samplesInBuffer = readBuffer.dataLength >> 2;\r
- lastIndex = readBuffer.index;\r
- }\r
- else\r
- {\r
- int* l = destSamples[0] + startOffsetInDestBuffer;\r
- int* r = numDestChannels > 1 ? (destSamples[1] + startOffsetInDestBuffer) : nullptr;\r
-\r
- while (--numSamples >= 0)\r
- {\r
- *l++ = 0;\r
-\r
- if (r != nullptr)\r
- *r++ = 0;\r
- }\r
-\r
- // sometimes the read fails for just the very last couple of blocks, so\r
- // we'll ignore and errors in the last half-second of the disk..\r
- ok = startSampleInFile > (trackStartSamples [getNumTracks()] - 20000);\r
- break;\r
- }\r
- }\r
- }\r
-\r
- return ok;\r
-}\r
-\r
-bool AudioCDReader::isCDStillPresent() const\r
-{\r
- using namespace CDReaderHelpers;\r
- TOC toc = { 0 };\r
- return static_cast<CDDeviceWrapper*> (handle)->deviceHandle.readTOC (&toc);\r
-}\r
-\r
-void AudioCDReader::refreshTrackLengths()\r
-{\r
- using namespace CDReaderHelpers;\r
- trackStartSamples.clear();\r
- zeromem (audioTracks, sizeof (audioTracks));\r
-\r
- TOC toc = { 0 };\r
-\r
- if (static_cast<CDDeviceWrapper*> (handle)->deviceHandle.readTOC (&toc))\r
- {\r
- int numTracks = 1 + toc.lastTrack - toc.firstTrack;\r
-\r
- for (int i = 0; i <= numTracks; ++i)\r
- {\r
- trackStartSamples.add (samplesPerFrame * getAddressOfTrack (toc.tracks [i]));\r
- audioTracks [i] = ((toc.tracks[i].ADR & 4) == 0);\r
- }\r
- }\r
-\r
- lengthInSamples = getPositionOfTrackStart (getNumTracks());\r
-}\r
-\r
-bool AudioCDReader::isTrackAudio (int trackNum) const\r
-{\r
- return trackNum >= 0 && trackNum < getNumTracks() && audioTracks [trackNum];\r
-}\r
-\r
-void AudioCDReader::enableIndexScanning (bool b)\r
-{\r
- indexingEnabled = b;\r
-}\r
-\r
-int AudioCDReader::getLastIndex() const\r
-{\r
- return lastIndex;\r
-}\r
-\r
-int AudioCDReader::getIndexAt (int samplePos)\r
-{\r
- using namespace CDReaderHelpers;\r
- CDDeviceWrapper* const device = static_cast<CDDeviceWrapper*> (handle);\r
-\r
- const int frameNeeded = samplePos / samplesPerFrame;\r
-\r
- device->overlapBuffer.dataLength = 0;\r
- device->overlapBuffer.startFrame = 0;\r
- device->overlapBuffer.numFrames = 0;\r
- device->jitter = false;\r
-\r
- firstFrameInBuffer = 0;\r
- lastIndex = 0;\r
-\r
- CDReadBuffer readBuffer (4 + framesPerIndexRead);\r
- readBuffer.wantsIndex = true;\r
-\r
- int i;\r
- for (i = 5; --i >= 0;)\r
- {\r
- readBuffer.startFrame = frameNeeded;\r
- readBuffer.numFrames = framesPerIndexRead;\r
-\r
- if (device->deviceHandle.readAudio (readBuffer))\r
- break;\r
- }\r
-\r
- if (i >= 0)\r
- return readBuffer.index;\r
-\r
- return -1;\r
-}\r
-\r
-Array<int> AudioCDReader::findIndexesInTrack (const int trackNumber)\r
-{\r
- using namespace CDReaderHelpers;\r
- Array <int> indexes;\r
-\r
- const int trackStart = getPositionOfTrackStart (trackNumber);\r
- const int trackEnd = getPositionOfTrackStart (trackNumber + 1);\r
-\r
- bool needToScan = true;\r
-\r
- if (trackEnd - trackStart > 20 * 44100)\r
- {\r
- // check the end of the track for indexes before scanning the whole thing\r
- needToScan = false;\r
- int pos = jmax (trackStart, trackEnd - 44100 * 5);\r
- bool seenAnIndex = false;\r
-\r
- while (pos <= trackEnd - samplesPerFrame)\r
- {\r
- const int index = getIndexAt (pos);\r
-\r
- if (index == 0)\r
- {\r
- // lead-out, so skip back a bit if we've not found any indexes yet..\r
- if (seenAnIndex)\r
- break;\r
-\r
- pos -= 44100 * 5;\r
-\r
- if (pos < trackStart)\r
- break;\r
- }\r
- else\r
- {\r
- if (index > 0)\r
- seenAnIndex = true;\r
-\r
- if (index > 1)\r
- {\r
- needToScan = true;\r
- break;\r
- }\r
-\r
- pos += samplesPerFrame * framesPerIndexRead;\r
- }\r
- }\r
- }\r
-\r
- if (needToScan)\r
- {\r
- CDDeviceWrapper* const device = static_cast<CDDeviceWrapper*> (handle);\r
-\r
- int pos = trackStart;\r
- int last = -1;\r
-\r
- while (pos < trackEnd - samplesPerFrame * 10)\r
- {\r
- const int frameNeeded = pos / samplesPerFrame;\r
-\r
- device->overlapBuffer.dataLength = 0;\r
- device->overlapBuffer.startFrame = 0;\r
- device->overlapBuffer.numFrames = 0;\r
- device->jitter = false;\r
-\r
- firstFrameInBuffer = 0;\r
-\r
- CDReadBuffer readBuffer (4);\r
- readBuffer.wantsIndex = true;\r
-\r
- int i;\r
- for (i = 5; --i >= 0;)\r
- {\r
- readBuffer.startFrame = frameNeeded;\r
- readBuffer.numFrames = framesPerIndexRead;\r
-\r
- if (device->deviceHandle.readAudio (readBuffer))\r
- break;\r
- }\r
-\r
- if (i < 0)\r
- break;\r
-\r
- if (readBuffer.index > last && readBuffer.index > 1)\r
- {\r
- last = readBuffer.index;\r
- indexes.add (pos);\r
- }\r
-\r
- pos += samplesPerFrame * framesPerIndexRead;\r
- }\r
-\r
- indexes.removeFirstMatchingValue (trackStart);\r
- }\r
-\r
- return indexes;\r
-}\r
-\r
-void AudioCDReader::ejectDisk()\r
-{\r
- using namespace CDReaderHelpers;\r
- static_cast<CDDeviceWrapper*> (handle)->deviceHandle.openDrawer (true);\r
-}\r
#define __STDC_LIMIT_MACROS 1\r
#define flac_max jmax\r
#define flac_min jmin\r
+ #undef DEBUG // (some flac code dumps debug trace if the app defines this macro)\r
#include "flac/all.h"\r
#include "flac/libFLAC/bitmath.c"\r
#include "flac/libFLAC/bitreader.c"\r
{\r
public:\r
FlacWriter (OutputStream* const out, double rate, uint32 numChans, uint32 bits, int qualityOptionIndex)\r
- : AudioFormatWriter (out, flacFormatName, rate, numChans, bits)\r
+ : AudioFormatWriter (out, flacFormatName, rate, numChans, bits),\r
+ streamStartPos (output != nullptr ? jmax (output->getPosition(), 0ll) : 0ll)\r
{\r
using namespace FlacNamespace;\r
encoder = FLAC__stream_encoder_new();\r
packUint32 ((FLAC__uint32) info.total_samples, buffer + 14, 4);\r
memcpy (buffer + 18, info.md5sum, 16);\r
\r
- const bool seekOk = output->setPosition (4);\r
+ const bool seekOk = output->setPosition (streamStartPos + 4);\r
ignoreUnused (seekOk);\r
\r
// if this fails, you've given it an output stream that can't seek! It needs\r
\r
private:\r
FlacNamespace::FLAC__StreamEncoder* encoder;\r
+ int64 streamStartPos;\r
\r
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FlacWriter)\r
};\r
\r
ID: juce_audio_formats\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE audio file format codecs\r
description: Classes for reading and writing various audio file formats.\r
website: http://www.juce.com/juce\r
struct ModifierKeyReceiver\r
{\r
virtual ~ModifierKeyReceiver() {}\r
- virtual void setModifierKeyProvider (ModifierKeyProvider* provider) = 0;\r
- virtual void removeModifierKeyProvider () = 0;\r
+ virtual void setModifierKeyProvider (ModifierKeyProvider*) = 0;\r
+ virtual void removeModifierKeyProvider() = 0;\r
};\r
\r
#endif\r
#include "../utility/juce_IncludeSystemHeaders.h"\r
#include "../utility/juce_IncludeModuleHeaders.h"\r
#include "../utility/juce_WindowsHooks.h"\r
-#include "../utility/juce_PluginBusUtilities.h"\r
\r
#ifdef __clang__\r
#pragma clang diagnostic push\r
const int maxAAXChannels = 8;\r
\r
//==============================================================================\r
-struct AAXClasses\r
+namespace AAXClasses\r
{\r
static int32 getAAXParamHash (AAX_CParamID paramID) noexcept\r
{\r
AudioChannelSet::ChannelType speakerOrder[8];\r
};\r
\r
- static AAXChannelStreamOrder aaxChannelOrder[];\r
- static AAX_EStemFormat aaxFormats[AAX_eStemFormatNum];\r
+ static AAXChannelStreamOrder aaxChannelOrder[] =\r
+ {\r
+ {AAX_eStemFormat_Mono, {AudioChannelSet::centre, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_Stereo, {AudioChannelSet::left, AudioChannelSet::right, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_LCR, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_LCRS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::centreSurround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_Quad, {AudioChannelSet::left, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_5_0, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_5_1, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::LFE, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_6_0, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::centreSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_6_1, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::centreSurround, AudioChannelSet::rightSurround, AudioChannelSet::LFE, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_7_0_SDDS, {AudioChannelSet::left, AudioChannelSet::leftCentre, AudioChannelSet::centre, AudioChannelSet::rightCentre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_7_0_DTS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurroundSide, AudioChannelSet::rightSurroundSide, AudioChannelSet::leftSurroundRear, AudioChannelSet::rightSurroundRear, AudioChannelSet::unknown}},\r
+ {AAX_eStemFormat_7_1_SDDS, {AudioChannelSet::left, AudioChannelSet::leftCentre, AudioChannelSet::centre, AudioChannelSet::rightCentre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::LFE}},\r
+ {AAX_eStemFormat_7_1_DTS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurroundSide, AudioChannelSet::rightSurroundSide, AudioChannelSet::leftSurroundRear, AudioChannelSet::rightSurroundRear, AudioChannelSet::LFE}},\r
+ {AAX_eStemFormat_None, {AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
+ };\r
+\r
+ static AAX_EStemFormat aaxFormats[AAX_eStemFormatNum] =\r
+ {\r
+ AAX_eStemFormat_Mono,\r
+ AAX_eStemFormat_Stereo,\r
+ AAX_eStemFormat_LCR,\r
+ AAX_eStemFormat_LCRS,\r
+ AAX_eStemFormat_Quad,\r
+ AAX_eStemFormat_5_0,\r
+ AAX_eStemFormat_5_1,\r
+ AAX_eStemFormat_6_0,\r
+ AAX_eStemFormat_6_1,\r
+ AAX_eStemFormat_7_0_SDDS,\r
+ AAX_eStemFormat_7_1_SDDS,\r
+ AAX_eStemFormat_7_0_DTS,\r
+ AAX_eStemFormat_7_1_DTS\r
+ };\r
\r
static AAX_EStemFormat getFormatForAudioChannelSet (const AudioChannelSet& set, bool ignoreLayout) noexcept\r
{\r
if (set == AudioChannelSet::create6point1()) return AAX_eStemFormat_6_1;\r
if (set == AudioChannelSet::create7point0()) return AAX_eStemFormat_7_0_DTS;\r
if (set == AudioChannelSet::create7point1()) return AAX_eStemFormat_7_1_DTS;\r
- if (set == AudioChannelSet::createFront7point0()) return AAX_eStemFormat_7_0_SDDS;\r
- if (set == AudioChannelSet::createFront7point1()) return AAX_eStemFormat_7_1_SDDS;\r
+ if (set == AudioChannelSet::create7point0SDDS()) return AAX_eStemFormat_7_0_SDDS;\r
+ if (set == AudioChannelSet::create7point1SDDS()) return AAX_eStemFormat_7_1_SDDS;\r
\r
return AAX_eStemFormat_INT32_MAX;\r
}\r
case AAX_eStemFormat_5_1: return AudioChannelSet::create5point1();\r
case AAX_eStemFormat_6_0: return AudioChannelSet::create6point0();\r
case AAX_eStemFormat_6_1: return AudioChannelSet::create6point1();\r
- case AAX_eStemFormat_7_0_SDDS: return AudioChannelSet::createFront7point0();\r
+ case AAX_eStemFormat_7_0_SDDS: return AudioChannelSet::create7point0SDDS();\r
case AAX_eStemFormat_7_0_DTS: return AudioChannelSet::create7point0();\r
- case AAX_eStemFormat_7_1_SDDS: return AudioChannelSet::createFront7point1();\r
+ case AAX_eStemFormat_7_1_SDDS: return AudioChannelSet::create7point1SDDS();\r
case AAX_eStemFormat_7_1_DTS: return AudioChannelSet::create7point1();\r
default:\r
break;\r
return AudioChannelSet::discreteChannels (jmax (0, static_cast<int> (AAX_STEM_FORMAT_CHANNEL_COUNT (format))));\r
}\r
\r
- static const char* getSpeakerArrangementString (AAX_EStemFormat format) noexcept\r
- {\r
- switch (format)\r
- {\r
- case AAX_eStemFormat_Mono: return "M";\r
- case AAX_eStemFormat_Stereo: return "L R";\r
- case AAX_eStemFormat_LCR: return "L C R";\r
- case AAX_eStemFormat_LCRS: return "L C R S";\r
- case AAX_eStemFormat_Quad: return "L R Ls Rs";\r
- case AAX_eStemFormat_5_0: return "L C R Ls Rs";\r
- case AAX_eStemFormat_5_1: return "L C R Ls Rs LFE";\r
- case AAX_eStemFormat_6_0: return "L C R Ls Cs Rs";\r
- case AAX_eStemFormat_6_1: return "L C R Ls Cs Rs LFE";\r
- case AAX_eStemFormat_7_0_SDDS: return "L Lc C Rc R Ls Rs";\r
- case AAX_eStemFormat_7_1_SDDS: return "L Lc C Rc R Ls Rs LFE";\r
- case AAX_eStemFormat_7_0_DTS: return "L C R Lss Rss Lsr Rsr";\r
- case AAX_eStemFormat_7_1_DTS: return "L C R Lss Rss Lsr Rsr LFE";\r
- default: break;\r
- }\r
-\r
- return nullptr;\r
- }\r
-\r
static Colour getColourFromHighlightEnum (AAX_EHighlightColor colour) noexcept\r
{\r
switch (colour)\r
#endif\r
\r
//==============================================================================\r
+ class JuceAAX_Processor;\r
+\r
class JuceAAX_GUI : public AAX_CEffectGUI, public ModifierKeyProvider\r
{\r
public:\r
\r
static AAX_IEffectGUI* AAX_CALLBACK Create() { return new JuceAAX_GUI(); }\r
\r
- void CreateViewContents() override\r
- {\r
- if (component == nullptr)\r
- {\r
- if (JuceAAX_Processor* params = dynamic_cast<JuceAAX_Processor*> (GetEffectParameters()))\r
- component = new ContentWrapperComponent (*this, params->getPluginInstance());\r
- else\r
- jassertfalse;\r
- }\r
- }\r
+ void CreateViewContents() override;\r
\r
void CreateViewContainer() override\r
{\r
\r
private:\r
//==============================================================================\r
- inline int getParamIndexFromID (AAX_CParamID paramID) const noexcept\r
- {\r
- if (const JuceAAX_Processor* params = dynamic_cast<const JuceAAX_Processor*> (GetEffectParameters()))\r
- return params->getParamIndexFromID (paramID);\r
-\r
- return -1;\r
- }\r
-\r
- inline AAX_CParamID getAAXParamIDFromJuceIndex (int index) const noexcept\r
- {\r
- if (const JuceAAX_Processor* params = dynamic_cast<const JuceAAX_Processor*> (GetEffectParameters()))\r
- return params->getAAXParamIDFromJuceIndex (index);\r
-\r
- return nullptr;\r
- }\r
+ int getParamIndexFromID (AAX_CParamID paramID) const noexcept;\r
+ AAX_CParamID getAAXParamIDFromJuceIndex (int index) const noexcept;\r
\r
//==============================================================================\r
struct ContentWrapperComponent : public Component\r
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (JuceAAX_GUI)\r
};\r
\r
+ static void AAX_CALLBACK algorithmProcessCallback (JUCEAlgorithmContext* const instancesBegin[], const void* const instancesEnd);\r
+\r
//==============================================================================\r
class JuceAAX_Processor : public AAX_CEffectParameters,\r
public juce::AudioPlayHead,\r
public AudioProcessorListener\r
{\r
public:\r
- JuceAAX_Processor() : pluginInstance (createPluginFilterOfType (AudioProcessor::wrapperType_AAX)),\r
- isPrepared (false), busUtils (*pluginInstance, false, maxAAXChannels),\r
- sampleRate (0), lastBufferSize (1024), maxBufferSize (1024),\r
- hasSidechain (false)\r
+ JuceAAX_Processor()\r
+ : pluginInstance (createPluginFilterOfType (AudioProcessor::wrapperType_AAX)),\r
+ isPrepared (false),\r
+ sampleRate (0), lastBufferSize (1024), maxBufferSize (1024)\r
{\r
pluginInstance->setPlayHead (this);\r
pluginInstance->addListener (this);\r
\r
- busUtils.init();\r
+ rebuildChannelMapArrays();\r
\r
AAX_CEffectParameters::GetNumberOfChunks (&juceChunkIndex);\r
}\r
AAX_Result EffectInit() override\r
{\r
AAX_Result err;\r
-\r
check (Controller()->GetSampleRate (&sampleRate));\r
\r
if ((err = preparePlugin()) != AAX_SUCCESS)\r
juce::MemoryBlock& tempFilterData = getTemporaryChunkMemory();\r
\r
if (tempFilterData.getSize() == 0)\r
- return 20700 /*AAX_ERROR_PLUGIN_API_INVALID_THREAD*/;\r
+ return 20700; // AAX_ERROR_PLUGIN_API_INVALID_THREAD\r
\r
oChunk->fSize = (int32_t) tempFilterData.getSize();\r
tempFilterData.copyTo (oChunk->fData, 0, tempFilterData.getSize());\r
}\r
else\r
{\r
- const int mainNumIns = numIns > 0 ? pluginInstance->busArrangement.inputBuses.getReference (0).channels.size() : 0;\r
- const int sidechain = busUtils.getNumEnabledBuses (true) >= 2 ? sideChainBufferIdx : -1;\r
+ const int mainNumIns = pluginInstance->getMainBusNumInputChannels();\r
+ const int sidechain = (pluginInstance->getChannelCountOfBus (true, 1) > 0 ? sideChainBufferIdx : -1);\r
const int numChans = jmax (numIns, numOuts);\r
\r
if (numChans == 0) return;\r
for (int i = 0; i < numIns; ++i)\r
memcpy (channels[i], getAudioBufferForInput (inputs, sidechain, mainNumIns, i), (size_t) bufferSize * sizeof (float));\r
\r
+ for (int i = numIns; i < numOuts; ++i)\r
+ zeromem (channels[i], (size_t) bufferSize * sizeof (float));\r
+\r
process (channels, numOuts, bufferSize, bypass, midiNodeIn, midiNodesOut);\r
}\r
else\r
}\r
}\r
\r
- bool supportsSidechain() const noexcept { return hasSidechain; };\r
+ //==============================================================================\r
+ // In aax, the format of the aux and sidechain buses need to be fully determined\r
+ // by the format on the main buses. This function tried to provide such a mapping.\r
+ // Returns false if the in/out main layout is not supported\r
+ static bool fullBusesLayoutFromMainLayout (AudioProcessor& p,\r
+ const AudioChannelSet& mainInput, const AudioChannelSet& mainOutput,\r
+ AudioProcessor::BusesLayout& fullLayout)\r
+ {\r
+ bool success = p.setBusesLayout (getDefaultLayout (p, true));\r
+ jassert (success);\r
+ ignoreUnused (success);\r
+\r
+ const int numInputBuses = p.getBusCount (true);\r
+ const int numOutputBuses = p.getBusCount (false);\r
+\r
+ if (AudioProcessor::Bus* bus = p.getBus (true, 0))\r
+ if (! bus->setCurrentLayout (mainInput))\r
+ return false;\r
+\r
+ if (AudioProcessor::Bus* bus = p.getBus (false, 0))\r
+ if (! bus->setCurrentLayout (mainOutput))\r
+ return false;\r
+\r
+ // did this change the input again\r
+ if (numInputBuses > 0 && p.getChannelLayoutOfBus (true, 0) != mainInput)\r
+ return false;\r
+\r
+ #ifdef JucePlugin_PreferredChannelConfigurations\r
+ short configs[][2] = {JucePlugin_PreferredChannelConfigurations};\r
+ if (! AudioProcessor::containsLayout (p.getBusesLayout(), configs))\r
+ return false;\r
+ #endif\r
+\r
+ bool foundValid = false;\r
+ {\r
+ AudioProcessor::BusesLayout onlyMains = p.getBusesLayout();\r
+\r
+ for (int i = 1; i < numInputBuses; ++i)\r
+ onlyMains.inputBuses.getReference (i) = AudioChannelSet::disabled();\r
+\r
+ for (int i = 1; i < numOutputBuses; ++i)\r
+ onlyMains.outputBuses.getReference (i) = AudioChannelSet::disabled();\r
+\r
+ if (p.checkBusesLayoutSupported (onlyMains))\r
+ {\r
+ foundValid = true;\r
+ fullLayout = onlyMains;\r
+ }\r
+ }\r
+\r
+ if (numInputBuses > 1)\r
+ {\r
+ // can the first bus be a sidechain or disabled, if not then we can't use this layout combination\r
+ if (AudioProcessor::Bus* bus = p.getBus (true, 1))\r
+ if (! bus->setCurrentLayout (AudioChannelSet::mono()) && ! bus->setCurrentLayout (AudioChannelSet::disabled()))\r
+ return foundValid;\r
+\r
+ // can all the other inputs be disabled, if not then we can't use this layout combination\r
+ for (int i = 2; i < numInputBuses; ++i)\r
+ if (AudioProcessor::Bus* bus = p.getBus (true, i))\r
+ if (! bus->setCurrentLayout (AudioChannelSet::disabled()))\r
+ return foundValid;\r
+\r
+ if (AudioProcessor::Bus* bus = p.getBus (true, 0))\r
+ if (! bus->setCurrentLayout (mainInput))\r
+ return foundValid;\r
+\r
+ if (AudioProcessor::Bus* bus = p.getBus (false, 0))\r
+ if (! bus->setCurrentLayout (mainOutput))\r
+ return foundValid;\r
+\r
+ // recheck if the format is correct\r
+ if ((numInputBuses > 0 && p.getChannelLayoutOfBus (true, 0) != mainInput)\r
+ || (numOutputBuses > 0 && p.getChannelLayoutOfBus (false, 0) != mainOutput))\r
+ return foundValid;\r
+\r
+ const AudioChannelSet& sidechainBus = p.getChannelLayoutOfBus (true, 1);\r
+ if (sidechainBus != AudioChannelSet::mono() && sidechainBus != AudioChannelSet::disabled())\r
+ return foundValid;\r
+\r
+ for (int i = 2; i < numInputBuses; ++i)\r
+ if (p.getChannelLayoutOfBus (true, i) != AudioChannelSet::disabled())\r
+ return foundValid;\r
+ }\r
+\r
+ const bool hasSidechain = (numInputBuses > 1 && p.getChannelLayoutOfBus (true, 1) == AudioChannelSet::mono());\r
+\r
+ if (hasSidechain)\r
+ {\r
+ AudioProcessor::BusesLayout onlyMainsAndSidechain = p.getBusesLayout();\r
+\r
+ for (int i = 1; i < numOutputBuses; ++i)\r
+ onlyMainsAndSidechain.outputBuses.getReference (i) = AudioChannelSet::disabled();\r
+\r
+ if (p.checkBusesLayoutSupported (onlyMainsAndSidechain))\r
+ {\r
+ foundValid = true;\r
+ fullLayout = onlyMainsAndSidechain;\r
+ }\r
+ }\r
+\r
+ if (numOutputBuses > 1)\r
+ {\r
+ AudioProcessor::BusesLayout copy = p.getBusesLayout();\r
+\r
+ int maxAuxBuses = jmin (16, numOutputBuses);\r
+ for (int i = 1; i < maxAuxBuses; ++i)\r
+ copy.outputBuses.getReference (i) = mainOutput;\r
+\r
+ for (int i = maxAuxBuses; i < numOutputBuses; ++i)\r
+ copy.outputBuses.getReference (i) = AudioChannelSet::disabled();\r
+\r
+ if (p.checkBusesLayoutSupported (copy))\r
+ {\r
+ fullLayout = copy;\r
+ foundValid = true;\r
+ }\r
+ else\r
+ {\r
+ for (int i = 1; i < maxAuxBuses; ++i)\r
+ if (p.getChannelLayoutOfBus (false, i).isDisabled())\r
+ return foundValid;\r
+\r
+ for (int i = maxAuxBuses; i < numOutputBuses; ++i)\r
+ if (AudioProcessor::Bus* bus = p.getBus (false, i))\r
+ if (! bus->setCurrentLayout (AudioChannelSet::disabled()))\r
+ return foundValid;\r
+\r
+ if (AudioProcessor::Bus* bus = p.getBus (true, 0))\r
+ if (! bus->setCurrentLayout (mainInput))\r
+ return foundValid;\r
+\r
+ if (AudioProcessor::Bus* bus = p.getBus (false, 0))\r
+ if (! bus->setCurrentLayout (mainOutput))\r
+ return foundValid;\r
+\r
+ if ((numInputBuses > 0 && p.getChannelLayoutOfBus (true, 0) != mainInput)\r
+ || (numOutputBuses > 0 && p.getChannelLayoutOfBus (false, 0) != mainOutput))\r
+ return foundValid;\r
+\r
+ if (numInputBuses > 1 )\r
+ {\r
+ const AudioChannelSet& sidechainBus = p.getChannelLayoutOfBus (true, 1);\r
+ if (sidechainBus != AudioChannelSet::mono() && sidechainBus != AudioChannelSet::disabled())\r
+ return foundValid;\r
+ }\r
+\r
+ for (int i = maxAuxBuses; i < numOutputBuses; ++i)\r
+ if (! p.getChannelLayoutOfBus (false, i).isDisabled())\r
+ return foundValid;\r
+\r
+ fullLayout = p.getBusesLayout();\r
+ foundValid = true;\r
+ }\r
+ }\r
+\r
+ return foundValid;\r
+ }\r
\r
private:\r
friend class JuceAAX_GUI;\r
+ friend void AAX_CALLBACK AAXClasses::algorithmProcessCallback (JUCEAlgorithmContext* const instancesBegin[], const void* const instancesEnd);\r
\r
void process (float* const* channels, const int numChans, const int bufferSize,\r
const bool bypass, AAX_IMIDINode* midiNodeIn, AAX_IMIDINode* midiNodesOut)\r
// value during initialisation.\r
pluginInstance->prepareToPlay (sampleRate, bufferSize);\r
maxBufferSize = bufferSize;\r
- sideChainBuffer.realloc (static_cast<size_t> (maxBufferSize));\r
+ sideChainBuffer.calloc (static_cast<size_t> (maxBufferSize));\r
}\r
}\r
\r
}\r
}\r
\r
- AAX_Result preparePlugin()\r
+ bool getMainBusFormats (AudioChannelSet& inputSet, AudioChannelSet& outputSet)\r
{\r
AudioProcessor& audioProcessor = getPluginInstance();\r
- bool hasSomethingChanged = false;\r
+ #if ! JucePlugin_IsMidiEffect\r
+ const int inputBuses = audioProcessor.getBusCount (true);\r
+ const int outputBuses = audioProcessor.getBusCount (false);\r
+ #endif\r
\r
#if JucePlugin_IsMidiEffect\r
// MIDI effect plug-ins do not support any audio channels\r
- jassert (audioProcessor.busArrangement.getTotalNumInputChannels() == 0\r
- && audioProcessor.busArrangement.getTotalNumOutputChannels() == 0);\r
+ jassert (audioProcessor.getTotalNumInputChannels() == 0\r
+ && audioProcessor.getTotalNumOutputChannels() == 0);\r
+\r
+ inputSet = outputSet = AudioChannelSet();\r
+\r
+ return true;\r
#else\r
AAX_EStemFormat inputStemFormat = AAX_eStemFormat_None;\r
check (Controller()->GetInputStemFormat (&inputStemFormat));\r
AAX_EStemFormat outputStemFormat = AAX_eStemFormat_None;\r
check (Controller()->GetOutputStemFormat (&outputStemFormat));\r
\r
- const AudioChannelSet inputSet = channelSetFromStemFormat (inputStemFormat, busUtils.busIgnoresLayout (true, 0));\r
- const AudioChannelSet outputSet = channelSetFromStemFormat (outputStemFormat, busUtils.busIgnoresLayout (false, 0));\r
+ #if JucePlugin_IsSynth\r
+ if (inputBuses == 0) inputStemFormat = AAX_eStemFormat_None;\r
+ #endif\r
+\r
+ inputSet = (inputBuses > 0 ? channelSetFromStemFormat (inputStemFormat, false) : AudioChannelSet());\r
+ outputSet = (outputBuses > 0 ? channelSetFromStemFormat (outputStemFormat, false) : AudioChannelSet());\r
\r
if ( (inputSet == AudioChannelSet::disabled() && inputStemFormat != AAX_eStemFormat_None)\r
- || (outputSet == AudioChannelSet::disabled() && outputStemFormat != AAX_eStemFormat_None))\r
+ || (outputSet == AudioChannelSet::disabled() && outputStemFormat != AAX_eStemFormat_None)\r
+ || (inputSet != AudioChannelSet::disabled() && inputBuses == 0)\r
+ || (outputSet != AudioChannelSet::disabled() && outputBuses == 0))\r
+ return false;\r
+\r
+ return true;\r
+ #endif\r
+ }\r
+\r
+ AAX_Result preparePlugin()\r
+ {\r
+ AudioProcessor& audioProcessor = getPluginInstance();\r
+ AudioProcessor::BusesLayout oldLayout = audioProcessor.getBusesLayout();\r
+\r
+ AudioChannelSet inputSet, outputSet;\r
+ if (! getMainBusFormats (inputSet, outputSet))\r
{\r
if (isPrepared)\r
{\r
return AAX_ERROR_UNIMPLEMENTED;\r
}\r
\r
-\r
- bool success = true;\r
-\r
- if (busUtils.getBusCount (true) > 0)\r
- success = setPreferredBusArrangement (busUtils, true, 0, inputSet, hasSomethingChanged);\r
-\r
- if (success && busUtils.getBusCount (false) > 0)\r
- success = setPreferredBusArrangement (busUtils, false, 0, outputSet, hasSomethingChanged);\r
-\r
- // This should never happen as the plugin reported that this layout is supported\r
- jassert (success);\r
-\r
- hasSidechain = enableAuxBusesForCurrentFormat (busUtils, inputSet, outputSet, hasSomethingChanged);\r
- if (hasSidechain && hasSomethingChanged)\r
- sideChainBuffer.realloc (static_cast<size_t> (maxBufferSize));\r
-\r
- // recheck the format\r
- if ( (busUtils.getBusCount (true) > 0 && busUtils.getChannelSet (true, 0) != inputSet)\r
- || (busUtils.getBusCount (false) > 0 && busUtils.getChannelSet (false, 0) != outputSet)\r
- || (hasSidechain && busUtils.getNumChannels(true, 1) != 1))\r
+ AudioProcessor::BusesLayout newLayout;\r
+ if (! fullBusesLayoutFromMainLayout (audioProcessor, inputSet, outputSet, newLayout))\r
{\r
if (isPrepared)\r
{\r
return AAX_ERROR_UNIMPLEMENTED;\r
}\r
\r
- if (hasSomethingChanged)\r
+ const bool layoutChanged = (oldLayout != newLayout);\r
+\r
+ if (layoutChanged)\r
{\r
- rebuildChannelMapArrays (true);\r
- rebuildChannelMapArrays (false);\r
- }\r
- #endif\r
+ if (! audioProcessor.setBusesLayout (newLayout))\r
+ {\r
+ if (isPrepared)\r
+ {\r
+ isPrepared = false;\r
+ audioProcessor.releaseResources();\r
+ }\r
\r
- hasSomethingChanged = (sampleRate != audioProcessor.getSampleRate()\r
- || maxBufferSize != lastBufferSize\r
- || hasSomethingChanged);\r
+ return AAX_ERROR_UNIMPLEMENTED;\r
+ }\r
\r
- if (hasSomethingChanged || (! isPrepared))\r
+ rebuildChannelMapArrays();\r
+ }\r
+\r
+ if (layoutChanged || (! isPrepared))\r
{\r
if (isPrepared)\r
{\r
audioProcessor.setRateAndBufferSizeDetails (sampleRate, lastBufferSize);\r
audioProcessor.prepareToPlay (sampleRate, lastBufferSize);\r
maxBufferSize = lastBufferSize;\r
+ hasSidechain = audioProcessor.getChannelLayoutOfBus (true, 1) == AudioChannelSet::mono();\r
+\r
+ if (hasSidechain)\r
+ sideChainBuffer.calloc (static_cast<size_t> (maxBufferSize));\r
}\r
\r
check (Controller()->SetSignalLatency (audioProcessor.getLatencySamples()));\r
return AAX_SUCCESS;\r
}\r
\r
- void rebuildChannelMapArrays (bool isInput)\r
+ void rebuildChannelMapArrays()\r
{\r
- Array<int>& layoutMap = isInput ? inputLayoutMap : outputLayoutMap;\r
- layoutMap.clear();\r
-\r
- const int n = isInput ? jmin (busUtils.getBusCount (true), 1) : busUtils.getBusCount (false);\r
+ AudioProcessor& audioProcessor = getPluginInstance();\r
\r
- int chOffset = 0;\r
- for (int busIdx = 0; busIdx < n; ++busIdx)\r
+ for (int dir = 0; dir < 2; ++dir)\r
{\r
- const AudioChannelSet channelFormat = busUtils.getChannelSet (isInput, busIdx);\r
+ const bool isInput = (dir == 0);\r
+ Array<int>& layoutMap = isInput ? inputLayoutMap : outputLayoutMap;\r
+ layoutMap.clear();\r
+\r
+ const int n = audioProcessor.getBusCount (isInput);\r
\r
- if (channelFormat != AudioChannelSet::disabled())\r
+ int chOffset = 0;\r
+ for (int busIdx = 0; busIdx < n; ++busIdx)\r
{\r
- const int numChannels = channelFormat.size();\r
+ const AudioChannelSet channelFormat = audioProcessor.getChannelLayoutOfBus (isInput, busIdx);\r
+\r
+ if (channelFormat != AudioChannelSet::disabled())\r
+ {\r
+ const int numChannels = channelFormat.size();\r
\r
- for (int ch = 0; ch < numChannels; ++ch)\r
- layoutMap.add (juceChannelIndexToAax (ch, channelFormat) + chOffset);\r
+ for (int ch = 0; ch < numChannels; ++ch)\r
+ layoutMap.add (juceChannelIndexToAax (ch, channelFormat) + chOffset);\r
\r
- chOffset += numChannels;\r
+ chOffset += numChannels;\r
+ }\r
}\r
}\r
}\r
\r
+ static void algorithmCallback (JUCEAlgorithmContext* const instancesBegin[], const void* const instancesEnd)\r
+ {\r
+\r
+ for (JUCEAlgorithmContext* const* iter = instancesBegin; iter < instancesEnd; ++iter)\r
+ {\r
+ const JUCEAlgorithmContext& i = **iter;\r
+\r
+ int sideChainBufferIdx = i.pluginInstance->parameters.hasSidechain && i.sideChainBuffers != nullptr\r
+ ? static_cast<int> (*i.sideChainBuffers) : -1;\r
+\r
+ // sidechain index of zero is an invalid index\r
+ if (sideChainBufferIdx <= 0)\r
+ sideChainBufferIdx = -1;\r
+\r
+ i.pluginInstance->parameters.process (i.inputChannels, i.outputChannels, sideChainBufferIdx,\r
+ *(i.bufferSize), *(i.bypass) != 0,\r
+ getMidiNodeIn(i), getMidiNodeOut(i));\r
+ }\r
+ }\r
+\r
//==============================================================================\r
inline int getParamIndexFromID (AAX_CParamID paramID) const noexcept\r
{\r
return aaxParamIDs.getReference (index).getCharPointer();\r
}\r
\r
+ //==============================================================================\r
+ static AudioProcessor::BusesLayout getDefaultLayout (AudioProcessor& p, bool enableAll)\r
+ {\r
+ AudioProcessor::BusesLayout defaultLayout;\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const int n = p.getBusCount (isInput);\r
+ Array<AudioChannelSet>& layouts = (isInput ? defaultLayout.inputBuses : defaultLayout.outputBuses);\r
+\r
+ for (int i = 0; i < n; ++i)\r
+ if (AudioProcessor::Bus* bus = p.getBus (isInput, i))\r
+ layouts.add (enableAll || bus->isEnabledByDefault() ? bus->getDefaultLayout() : AudioChannelSet());\r
+ }\r
+\r
+ return defaultLayout;\r
+ }\r
+\r
+ static AudioProcessor::BusesLayout getDefaultLayout (AudioProcessor& p)\r
+ {\r
+ AudioProcessor::BusesLayout defaultLayout;\r
+\r
+ defaultLayout = getDefaultLayout (p, true);\r
+\r
+ if (! p.checkBusesLayoutSupported (defaultLayout))\r
+ defaultLayout = getDefaultLayout (p, false);\r
+\r
+ // Your processor must support the default layout\r
+ jassert (p.checkBusesLayoutSupported (defaultLayout));\r
+ return defaultLayout;\r
+ }\r
+\r
//==============================================================================\r
ScopedJuceInitialiser_GUI libraryInitialiser;\r
\r
ScopedPointer<AudioProcessor> pluginInstance;\r
+\r
bool isPrepared;\r
- PluginBusUtilities busUtils;\r
MidiBuffer midiBuffer;\r
Array<float*> channelList;\r
int32_t juceChunkIndex;\r
JUCE_DECLARE_NON_COPYABLE (JuceAAX_Processor)\r
};\r
\r
+ //==============================================================================\r
+ void JuceAAX_GUI::CreateViewContents()\r
+ {\r
+ if (component == nullptr)\r
+ {\r
+ if (JuceAAX_Processor* params = dynamic_cast<JuceAAX_Processor*> (GetEffectParameters()))\r
+ component = new ContentWrapperComponent (*this, params->getPluginInstance());\r
+ else\r
+ jassertfalse;\r
+ }\r
+ }\r
+\r
+ int JuceAAX_GUI::getParamIndexFromID (AAX_CParamID paramID) const noexcept\r
+ {\r
+ if (const JuceAAX_Processor* params = dynamic_cast<const JuceAAX_Processor*> (GetEffectParameters()))\r
+ return params->getParamIndexFromID (paramID);\r
+\r
+ return -1;\r
+ }\r
+\r
+ AAX_CParamID JuceAAX_GUI::getAAXParamIDFromJuceIndex (int index) const noexcept\r
+ {\r
+ if (const JuceAAX_Processor* params = dynamic_cast<const JuceAAX_Processor*> (GetEffectParameters()))\r
+ return params->getAAXParamIDFromJuceIndex (index);\r
+\r
+ return nullptr;\r
+ }\r
+\r
//==============================================================================\r
struct AAXFormatConfiguration\r
{\r
};\r
\r
//==============================================================================\r
- static void AAX_CALLBACK algorithmProcessCallback (JUCEAlgorithmContext* const instancesBegin[],\r
- const void* const instancesEnd)\r
- {\r
- for (JUCEAlgorithmContext* const* iter = instancesBegin; iter < instancesEnd; ++iter)\r
- {\r
- const JUCEAlgorithmContext& i = **iter;\r
-\r
- int sideChainBufferIdx = i.pluginInstance->parameters.supportsSidechain() && i.sideChainBuffers != nullptr\r
- ? static_cast<int> (*i.sideChainBuffers)\r
- : -1;\r
-\r
- // sidechain index of zero is an invalid index\r
- if (sideChainBufferIdx <= 0)\r
- sideChainBufferIdx = -1;\r
-\r
- i.pluginInstance->parameters.process (i.inputChannels, i.outputChannels, sideChainBufferIdx,\r
- *(i.bufferSize), *(i.bypass) != 0,\r
- getMidiNodeIn(i), getMidiNodeOut(i));\r
- }\r
- }\r
-\r
- static bool enableAuxBusesForCurrentFormat (PluginBusUtilities& busUtils, const AudioChannelSet& inputLayout,\r
- const AudioChannelSet& outputLayout,\r
- bool& hasSomethingChanged)\r
+ static void createDescriptor (AAX_IComponentDescriptor& desc, int configIndex, const AudioProcessor::BusesLayout& fullLayout, AudioProcessor& processor)\r
{\r
- const int numOutBuses = busUtils.getBusCount (false);\r
- const int numInputBuses = busUtils.getBusCount(true);\r
-\r
- if (numOutBuses > 1)\r
- {\r
- PluginBusUtilities::ScopedBusRestorer layoutRestorer (busUtils);\r
-\r
- // enable all possible output buses\r
- for (int busIdx = 1; busIdx < busUtils.getBusCount (false); ++busIdx)\r
- {\r
- AudioChannelSet layout = busUtils.getChannelSet (false, busIdx);\r
-\r
- // bus disabled by default? try to enable it with the default layout\r
- if (layout == AudioChannelSet::disabled())\r
- {\r
- layout = busUtils.getDefaultLayoutForBus (false, busIdx);\r
- setPreferredBusArrangement (busUtils, false, busIdx, layout, hasSomethingChanged);\r
- }\r
- }\r
-\r
- // changing output buses may have changed main bus layout\r
- bool success = true;\r
-\r
- if (numInputBuses > 0)\r
- success = setPreferredBusArrangement (busUtils, true, 0, inputLayout, hasSomethingChanged);\r
-\r
- if (success)\r
- success = setPreferredBusArrangement (busUtils, false, 0, outputLayout, hasSomethingChanged);\r
-\r
- // was the above successful\r
- if (success && (numInputBuses == 0 || busUtils.getChannelSet (true, 0) == inputLayout)\r
- && busUtils.getChannelSet (false, 0) == outputLayout)\r
- layoutRestorer.release();\r
- else\r
- hasSomethingChanged = true;\r
- }\r
-\r
- // does the plug-in have side-chain support? Check the following:\r
- // 1) does it have an input bus with index = 1 which supports mono\r
- // 2) can all other input buses be disabled\r
- // 3) does the format of the main buses not change when enabling the first bus\r
- if (numInputBuses > 1)\r
- {\r
- bool success = true;\r
- bool hasSidechain = false;\r
-\r
- const AudioChannelSet set = busUtils.getDefaultLayoutForChannelNumAndBus (true, 1, 1);\r
- if (! set.isDisabled())\r
- hasSidechain = setPreferredBusArrangement (busUtils, true, 1, set, hasSomethingChanged);\r
-\r
- if (! hasSidechain)\r
- success = setPreferredBusArrangement (busUtils, true, 1,\r
- AudioChannelSet::disabled(),\r
- hasSomethingChanged);\r
-\r
- // AAX requires your processor's first sidechain to be either mono or that\r
- // it can be disabled\r
- jassert(success);\r
-\r
- // disable all other input buses\r
- for (int busIdx = 2; busIdx < numInputBuses; ++busIdx)\r
- {\r
- success = setPreferredBusArrangement (busUtils, true, busIdx,\r
- AudioChannelSet::disabled(),\r
- hasSomethingChanged);\r
-\r
- // AAX can only have a single side-chain input. Therefore, your processor must either\r
- // only have a single side-chain input or allow disabling all other side-chains\r
- jassert (success);\r
- }\r
-\r
- if (hasSidechain)\r
- {\r
- if (busUtils.getBusCount (false) == 0 || busUtils.getBusCount (true) == 0 ||\r
- (busUtils.getChannelSet (true, 0) == inputLayout && busUtils.getChannelSet (false, 0) == outputLayout))\r
- return true;\r
-\r
- // restore the old layout\r
- if (busUtils.getBusCount(true) > 0)\r
- setPreferredBusArrangement (busUtils, true, 0, inputLayout, hasSomethingChanged);\r
-\r
- if (busUtils.getBusCount (false) > 0)\r
- setPreferredBusArrangement (busUtils, false, 0, outputLayout, hasSomethingChanged);\r
- }\r
- }\r
-\r
- return false;\r
- }\r
+ AAX_EStemFormat aaxInputFormat = getFormatForAudioChannelSet (fullLayout.getMainInputChannelSet(), false);\r
+ AAX_EStemFormat aaxOutputFormat = getFormatForAudioChannelSet (fullLayout.getMainOutputChannelSet(), false);\r
\r
- // wrap setPreferredBusArrangement calls with this to prevent excessive calls to the plug-in\r
- static bool setPreferredBusArrangement (PluginBusUtilities& busUtils, bool isInput, int busIdx,\r
- const AudioChannelSet& layout,\r
- bool& didChangePlugin)\r
- {\r
- // no need to do anything\r
- if (busUtils.getChannelSet (isInput, busIdx) == layout)\r
- return true;\r
+ #if JucePlugin_IsSynth\r
+ if (aaxInputFormat == AAX_eStemFormat_None)\r
+ aaxInputFormat = aaxOutputFormat;\r
+ #endif\r
\r
- didChangePlugin = true;\r
- return busUtils.processor.setPreferredBusArrangement (isInput, busIdx, layout);\r
- }\r
+ #if JucePlugin_IsMidiEffect\r
+ aaxInputFormat = aaxOutputFormat = AAX_eStemFormat_Mono;\r
+ #endif\r
\r
- //==============================================================================\r
- static void createDescriptor (AAX_IComponentDescriptor& desc, int configIndex, PluginBusUtilities& busUtils,\r
- const AudioChannelSet& inputLayout, const AudioChannelSet& outputLayout,\r
- const AAX_EStemFormat aaxInputFormat, const AAX_EStemFormat aaxOutputFormat)\r
- {\r
check (desc.AddAudioIn (JUCEAlgorithmIDs::inputChannels));\r
check (desc.AddAudioOut (JUCEAlgorithmIDs::outputChannels));\r
\r
properties->AddProperty (AAX_eProperty_SupportsSaveRestore, false);\r
#endif\r
\r
- bool ignore;\r
- if (enableAuxBusesForCurrentFormat (busUtils, inputLayout, outputLayout, ignore))\r
+ if (fullLayout.getChannelSet (true, 1) == AudioChannelSet::mono())\r
{\r
check (desc.AddSideChainIn (JUCEAlgorithmIDs::sideChainBuffers));\r
properties->AddProperty (AAX_eProperty_SupportsSideChainInput, true);\r
}\r
\r
+ const int maxAuxBuses = jmax (0, jmin (15, fullLayout.outputBuses.size() - 1));\r
+\r
+\r
// add the output buses\r
// This is incrdibly dumb: the output bus format must be well defined\r
// for every main bus in/out format pair. This means that there cannot\r
// be two configurations with different aux formats but\r
// identical main bus in/out formats.\r
- for (int busIdx = 1; busIdx < busUtils.getBusCount (false); ++busIdx)\r
+ for (int busIdx = 1; busIdx < maxAuxBuses + 1; ++busIdx)\r
{\r
- AudioChannelSet outBusLayout = busUtils.getChannelSet (false, busIdx);\r
+ const AudioChannelSet& set = fullLayout.getChannelSet (false, busIdx);\r
+ if (set.isDisabled()) break;\r
\r
- if (outBusLayout != AudioChannelSet::disabled())\r
+ AAX_EStemFormat auxFormat = getFormatForAudioChannelSet (set, true);\r
+ if (auxFormat != AAX_eStemFormat_INT32_MAX && auxFormat != AAX_eStemFormat_None)\r
{\r
- AAX_EStemFormat auxFormat = getFormatForAudioChannelSet (outBusLayout, busUtils.busIgnoresLayout (false, busIdx));\r
- if (auxFormat != AAX_eStemFormat_INT32_MAX && auxFormat != AAX_eStemFormat_None)\r
- {\r
- const String& name = busUtils.processor.busArrangement.outputBuses.getReference (busIdx).name;\r
- check (desc.AddAuxOutputStem (0, static_cast<int32_t> (auxFormat), name.toRawUTF8()));\r
- }\r
+ const String& name = processor.getBus (false, busIdx)->getName();\r
+ check (desc.AddAuxOutputStem (0, static_cast<int32_t> (auxFormat), name.toRawUTF8()));\r
}\r
}\r
\r
- // this assertion should be covered by the assertions above\r
- // if not please report a bug\r
- jassert (busUtils.getNumEnabledBuses (true) <= 2);\r
-\r
check (desc.AddProcessProc_Native (algorithmProcessCallback, properties));\r
}\r
\r
static void getPlugInDescription (AAX_IEffectDescriptor& descriptor)\r
{\r
PluginHostType::jucePlugInClientCurrentWrapperType = AudioProcessor::wrapperType_AAX;\r
-\r
ScopedPointer<AudioProcessor> plugin = createPluginFilterOfType (AudioProcessor::wrapperType_AAX);\r
- PluginBusUtilities busUtils (*plugin, false, maxAAXChannels);\r
-\r
- busUtils.init();\r
-\r
- // AAX requires your default layout to be non-discrete!\r
- // For example, your default layout must be mono, stereo, quadrophonic\r
- // and not AudioChannelSet::discreteChannels (2) etc.\r
- jassert (busUtils.checkBusFormatsAreNotDiscrete());\r
+ const int numInputBuses = plugin->getBusCount (true);\r
+ const int numOutputBuses = plugin->getBusCount (false);\r
\r
descriptor.AddName (JucePlugin_Desc);\r
descriptor.AddName (JucePlugin_Name);\r
\r
#if JucePlugin_IsMidiEffect\r
// MIDI effect plug-ins do not support any audio channels\r
- jassert (busUtils.getBusCount (true) == 0 && busUtils.getBusCount (false) == 0);\r
+ jassert (numInputBuses == 0 && numOutputBuses == 0);\r
\r
if (AAX_IComponentDescriptor* const desc = descriptor.NewComponentDescriptor())\r
{\r
- createDescriptor (*desc, 0, busUtils,\r
- AudioChannelSet::disabled(), AudioChannelSet::disabled(),\r
- AAX_eStemFormat_Mono, AAX_eStemFormat_Mono);\r
+ createDescriptor (*desc, 0, plugin->getBusesLayout(), *plugin);\r
check (descriptor.AddComponent (desc));\r
}\r
\r
#else\r
int configIndex = 0;\r
\r
- const int numIns = busUtils.getBusCount (true) > 0 ? AAX_eStemFormatNum : 0;\r
- const int numOuts = busUtils.getBusCount (false) > 0 ? AAX_eStemFormatNum : 0;\r
+ const int numIns = numInputBuses > 0 ? AAX_eStemFormatNum : 0;\r
+ const int numOuts = numOutputBuses > 0 ? AAX_eStemFormatNum : 0;\r
\r
for (int inIdx = 0; inIdx < jmax (numIns, 1); ++inIdx)\r
{\r
AAX_EStemFormat aaxOutFormat = numOuts > 0 ? aaxFormats[outIdx] : AAX_eStemFormat_None;\r
AudioChannelSet outLayout = channelSetFromStemFormat (aaxOutFormat, false);\r
\r
- bool success = true;\r
-\r
- if (numIns > 0)\r
- success = busUtils.processor.setPreferredBusArrangement (true, 0, inLayout);\r
-\r
- if (numOuts > 0 && success)\r
- success = busUtils.processor.setPreferredBusArrangement (false, 0, outLayout);\r
-\r
- if (! success)\r
- continue;\r
-\r
- // if we can't set both in AND out formats simultaneously then ignore this format!\r
- if (numIns > 0 && numOuts > 0 && (inLayout != busUtils.getChannelSet (true, 0) || (outLayout != busUtils.getChannelSet (false, 0))))\r
- continue;\r
-\r
- // AAX requires a single input if this plug-in is a synth\r
- #if JucePlugin_IsSynth\r
- if (numIns == 0)\r
- aaxInFormat = aaxOutFormat;\r
- #endif\r
-\r
- if (aaxInFormat == AAX_eStemFormat_None && aaxOutFormat == AAX_eStemFormat_None)\r
+ AudioProcessor::BusesLayout fullLayout;\r
+ if (! JuceAAX_Processor::fullBusesLayoutFromMainLayout (*plugin, inLayout, outLayout, fullLayout))\r
continue;\r
\r
if (AAX_IComponentDescriptor* const desc = descriptor.NewComponentDescriptor())\r
{\r
- createDescriptor (*desc, configIndex++, busUtils, inLayout, outLayout, aaxInFormat, aaxOutFormat);\r
+ createDescriptor (*desc, configIndex++, fullLayout, *plugin);\r
check (descriptor.AddComponent (desc));\r
}\r
}\r
jassert (configIndex > 0);\r
#endif\r
}\r
-};\r
+}\r
\r
-//==============================================================================\r
-AAX_EStemFormat AAXClasses::aaxFormats[] =\r
-{\r
- AAX_eStemFormat_Mono,\r
- AAX_eStemFormat_Stereo,\r
- AAX_eStemFormat_LCR,\r
- AAX_eStemFormat_LCRS,\r
- AAX_eStemFormat_Quad,\r
- AAX_eStemFormat_5_0,\r
- AAX_eStemFormat_5_1,\r
- AAX_eStemFormat_6_0,\r
- AAX_eStemFormat_6_1,\r
- AAX_eStemFormat_7_0_SDDS,\r
- AAX_eStemFormat_7_1_SDDS,\r
- AAX_eStemFormat_7_0_DTS,\r
- AAX_eStemFormat_7_1_DTS\r
-};\r
-\r
-AAXClasses::AAXChannelStreamOrder AAXClasses::aaxChannelOrder[] =\r
+void AAX_CALLBACK AAXClasses::algorithmProcessCallback (JUCEAlgorithmContext* const instancesBegin[], const void* const instancesEnd)\r
{\r
- {AAX_eStemFormat_Mono, {AudioChannelSet::centre, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_Stereo, {AudioChannelSet::left, AudioChannelSet::right, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_LCR, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_LCRS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::surround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_Quad, {AudioChannelSet::left, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_5_0, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_5_1, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::subbass, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_6_0, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::surround, AudioChannelSet::rightSurround, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_6_1, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::surround, AudioChannelSet::rightSurround, AudioChannelSet::subbass, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_7_0_SDDS, {AudioChannelSet::left, AudioChannelSet::leftCentre, AudioChannelSet::centre, AudioChannelSet::rightCentre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_7_0_DTS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftRearSurround, AudioChannelSet::rightRearSurround, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::unknown}},\r
- {AAX_eStemFormat_7_1_SDDS, {AudioChannelSet::left, AudioChannelSet::leftCentre, AudioChannelSet::centre, AudioChannelSet::rightCentre, AudioChannelSet::right, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::subbass}},\r
- {AAX_eStemFormat_7_1_DTS, {AudioChannelSet::left, AudioChannelSet::centre, AudioChannelSet::right, AudioChannelSet::leftRearSurround, AudioChannelSet::rightRearSurround, AudioChannelSet::leftSurround, AudioChannelSet::rightSurround, AudioChannelSet::subbass}},\r
- {AAX_eStemFormat_None, {AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown, AudioChannelSet::unknown}},\r
-};\r
+ AAXClasses::JuceAAX_Processor::algorithmCallback (instancesBegin, instancesEnd);\r
+}\r
\r
//==============================================================================\r
AAX_Result JUCE_CDECL GetEffectDescriptions (AAX_ICollection*);\r
--- /dev/null
+/*
+ File: AUResources.r
+ Abstract: AUResources.r
+ Version: 1.1
+
+ Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple
+ Inc. ("Apple") in consideration of your agreement to the following
+ terms, and your use, installation, modification or redistribution of
+ this Apple software constitutes acceptance of these terms. If you do
+ not agree with these terms, please do not use, install, modify or
+ redistribute this Apple software.
+
+ In consideration of your agreement to abide by the following terms, and
+ subject to these terms, Apple grants you a personal, non-exclusive
+ license, under Apple's copyrights in this original Apple software (the
+ "Apple Software"), to use, reproduce, modify and redistribute the Apple
+ Software, with or without modifications, in source and/or binary forms;
+ provided that if you redistribute the Apple Software in its entirety and
+ without modifications, you must retain this notice and the following
+ text and disclaimers in all such redistributions of the Apple Software.
+ Neither the name, trademarks, service marks or logos of Apple Inc. may
+ be used to endorse or promote products derived from the Apple Software
+ without specific prior written permission from Apple. Except as
+ expressly stated in this notice, no other rights or licenses, express or
+ implied, are granted by Apple herein, including but not limited to any
+ patent rights that may be infringed by your derivative works or by other
+ works in which the Apple Software may be incorporated.
+
+ The Apple Software is provided by Apple on an "AS IS" basis. APPLE
+ MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+ THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+ FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+ OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+
+ IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+ MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+ AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+ STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+ Copyright (C) 2014 Apple Inc. All Rights Reserved.
+
+*/
+/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// AUResources.r
+//
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
+
+/* sample macro definitions -- all of these symbols must be defined
+#define RES_ID kHALOutputResID
+#define COMP_TYPE kAudioUnitComponentType
+#define COMP_SUBTYPE kAudioUnitOutputSubType
+#define COMP_MANUF kAudioUnitAudioHardwareOutputSubSubType
+#define VERSION 0x00010000
+#define NAME "AudioHALOutput"
+#define DESCRIPTION "Audio hardware output AudioUnit"
+#define ENTRY_POINT "AUHALEntry"
+*/
+#define UseExtendedThingResource 1
+
+#include <CoreServices/CoreServices.r>
+
+// this is a define used to indicate that a component has no static data that would mean
+// that no more than one instance could be open at a time - never been true for AUs
+#ifndef cmpThreadSafeOnMac
+#define cmpThreadSafeOnMac 0x10000000
+#endif
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+resource 'STR ' (RES_ID, purgeable) {
+ NAME
+};
+
+resource 'STR ' (RES_ID + 1, purgeable) {
+ DESCRIPTION
+};
+
+resource 'dlle' (RES_ID) {
+ ENTRY_POINT
+};
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+resource 'thng' (RES_ID, NAME) {
+ COMP_TYPE,
+ COMP_SUBTYPE,
+ COMP_MANUF,
+ 0, 0, 0, 0, // no 68K
+ 'STR ', RES_ID,
+ 'STR ', RES_ID + 1,
+ 0, 0, /* icon */
+ VERSION,
+ componentHasMultiplePlatforms | componentDoAutoVersion,
+ 0,
+ {
+ #if defined(ppc_YES)
+ cmpThreadSafeOnMac,
+ 'dlle', RES_ID, platformPowerPCNativeEntryPoint
+ #define NeedLeadingComma 1
+ #endif
+ #if defined(ppc64_YES)
+ #if defined(NeedLeadingComma)
+ ,
+ #endif
+ cmpThreadSafeOnMac,
+ 'dlle', RES_ID, platformPowerPC64NativeEntryPoint
+ #define NeedLeadingComma 1
+ #endif
+ #if defined(i386_YES)
+ #if defined(NeedLeadingComma)
+ ,
+ #endif
+ cmpThreadSafeOnMac,
+ 'dlle', RES_ID, platformIA32NativeEntryPoint
+ #define NeedLeadingComma 1
+ #endif
+ #if defined(x86_64_YES)
+ #if defined(NeedLeadingComma)
+ ,
+ #endif
+ cmpThreadSafeOnMac,
+ 'dlle', RES_ID, 8
+ #define NeedLeadingComma 1
+ #endif
+ }
+};
+
+#undef RES_ID
+#undef COMP_TYPE
+#undef COMP_SUBTYPE
+#undef COMP_MANUF
+#undef VERSION
+#undef NAME
+#undef DESCRIPTION
+#undef ENTRY_POINT
+#undef NeedLeadingComma
#include "../utility/juce_IncludeModuleHeaders.h"\r
#include "../utility/juce_FakeMouseMoveGenerator.h"\r
#include "../utility/juce_WindowsHooks.h"\r
-#include "../utility/juce_PluginBusUtilities.h"\r
\r
#include <juce_audio_devices/juce_audio_devices.h>\r
#include <juce_gui_extra/juce_gui_extra.h>\r
StandaloneFilterApp()\r
{\r
PluginHostType::jucePlugInClientCurrentWrapperType = AudioProcessor::wrapperType_Standalone;\r
+\r
+ PropertiesFile::Options options;\r
+\r
+ options.applicationName = getApplicationName();\r
+ options.filenameSuffix = ".settings";\r
+ options.osxLibrarySubFolder = "Application Support";\r
+ #if JUCE_LINUX\r
+ options.folderName = "~/.config";\r
+ #else\r
+ options.folderName = "";\r
+ #endif\r
+\r
+ appProperties.setStorageParameters (options);\r
}\r
\r
const String getApplicationName() override { return JucePlugin_Name; }\r
\r
virtual StandaloneFilterWindow* createWindow()\r
{\r
- return new StandaloneFilterWindow (getApplicationName(), Colours::white, nullptr, true);\r
+ return new StandaloneFilterWindow (getApplicationName(), Colours::white, appProperties.getUserSettings(), false);\r
}\r
\r
//==============================================================================\r
void shutdown() override\r
{\r
mainWindow = nullptr;\r
+ appProperties.saveIfNeeded();\r
}\r
\r
//==============================================================================\r
}\r
\r
protected:\r
+ ApplicationProperties appProperties;\r
ScopedPointer<StandaloneFilterWindow> mainWindow;\r
};\r
\r
#endif\r
jassert (processor != nullptr); // Your createPluginFilter() function must return a valid object!\r
\r
- // try to disable sidechain and aux buses\r
- const int numInBuses = processor->busArrangement.inputBuses. size();\r
- const int numOutBuses = processor->busArrangement.outputBuses.size();\r
-\r
- for (int busIdx = 1; busIdx < numInBuses; ++busIdx)\r
- processor->setPreferredBusArrangement (true, busIdx, AudioChannelSet::disabled());\r
-\r
- for (int busIdx = 1; busIdx < numOutBuses; ++busIdx)\r
- processor->setPreferredBusArrangement (false, busIdx, AudioChannelSet::disabled());\r
-\r
+ processor->disableNonMainBuses();\r
processor->setRateAndBufferSizeDetails(44100, 512);\r
}\r
\r
#include "../utility/juce_IncludeModuleHeaders.h"\r
#include "../utility/juce_FakeMouseMoveGenerator.h"\r
#include "../utility/juce_WindowsHooks.h"\r
-#include "../utility/juce_PluginBusUtilities.h"\r
+\r
+#include "../../juce_audio_processors/format_types/juce_VSTCommon.h"\r
\r
#ifdef _MSC_VER\r
#pragma pack (pop)\r
sampleRate (44100.f),\r
blockSize (1024),\r
filter (af),\r
- busUtils (*filter, true, 64),\r
chunkMemoryTime (0),\r
isProcessing (false),\r
isBypassed (false),\r
#endif\r
hostWindow (0)\r
{\r
- busUtils.init();\r
-\r
// VST-2 does not support disabling buses: so always enable all of them\r
- if (busUtils.hasDynamicInBuses() || busUtils.hasDynamicOutBuses())\r
- busUtils.enableAllBuses();\r
+ filter->enableAllBuses();\r
\r
- {\r
- // Using the legacy Projucer field? Then keep the maximum number of channels\r
- // as the default plug-in layout. Otherwise, leave it up to the user\r
- // which default layout the prefer.\r
- #ifndef JucePlugin_PreferredChannelConfigurations\r
- PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils);\r
- #endif\r
-\r
- findMaxTotalChannels (maxNumInChannels, maxNumOutChannels);\r
- bool success = setBusArrangementFromTotalChannelNum (maxNumInChannels, maxNumOutChannels);\r
- ignoreUnused (success);\r
-\r
- // please file a bug if you hit this assertion!\r
- jassert (maxNumInChannels == busUtils.findTotalNumChannels (true) && success\r
- && maxNumOutChannels == busUtils.findTotalNumChannels (false));\r
- }\r
+ findMaxTotalChannels (maxNumInChannels, maxNumOutChannels);\r
+\r
+ // You must at least have some channels\r
+ jassert (filter->isMidiEffect() || (maxNumInChannels > 0 || maxNumOutChannels > 0));\r
+\r
+ if (filter->isMidiEffect())\r
+ maxNumInChannels = maxNumOutChannels = 2;\r
+\r
+ #ifdef JucePlugin_PreferredChannelConfigurations\r
+ filter->setPlayConfigDetails (maxNumInChannels, maxNumOutChannels, 44100.0, 1024);\r
+ #endif\r
\r
filter->setRateAndBufferSizeDetails (0, 0);\r
filter->setPlayHead (this);\r
vstEffect.latency = filter->getLatencySamples();\r
vstEffect.effectPointer = this;\r
vstEffect.plugInIdentifier = JucePlugin_VSTUniqueID;\r
+\r
+ #ifdef JucePlugin_VSTChunkStructureVersion\r
+ vstEffect.plugInVersion = convertHexVersionToDecimal (JucePlugin_VSTChunkStructureVersion);\r
+ #else\r
vstEffect.plugInVersion = convertHexVersionToDecimal (JucePlugin_VersionCode);\r
+ #endif\r
+\r
vstEffect.processAudioInplaceFunction = processReplacingCB;\r
vstEffect.processDoubleAudioInplaceFunction = processDoubleReplacingCB;\r
\r
void internalProcessReplacing (FloatType** inputs, FloatType** outputs,\r
int32 numSamples, VstTempBuffers<FloatType>& tmpBuffers)\r
{\r
+ const bool isMidiEffect = filter->isMidiEffect();\r
+\r
if (firstProcessCallback)\r
{\r
firstProcessCallback = false;\r
#endif\r
}\r
\r
- #if JUCE_DEBUG && ! JucePlugin_ProducesMidiOutput\r
+ #if JUCE_DEBUG && ! (JucePlugin_ProducesMidiOutput || JucePlugin_IsMidiEffect)\r
const int numMidiEventsComingIn = midiEvents.getNumEvents();\r
#endif\r
\r
\r
{\r
const int numChannels = jmax (numIn, numOut);\r
- AudioBuffer<FloatType> chans (tmpBuffers.channels, numChannels, numSamples);\r
+ AudioBuffer<FloatType> chans (tmpBuffers.channels, isMidiEffect ? 0 : numChannels, numSamples);\r
\r
if (isBypassed)\r
filter->processBlockBypassed (chans, midiEvents);\r
\r
if (! midiEvents.isEmpty())\r
{\r
- #if JucePlugin_ProducesMidiOutput\r
+ #if JucePlugin_ProducesMidiOutput || JucePlugin_IsMidiEffect\r
const int numEvents = midiEvents.getNumEvents();\r
\r
outgoingEvents.ensureSize (numEvents);\r
host that we want midi. In the SDK this method is marked as deprecated, but\r
some hosts rely on this behaviour.\r
*/\r
- if (vstEffect.flags & vstEffectFlagIsSynth || JucePlugin_WantsMidiInput)\r
+ if (vstEffect.flags & vstEffectFlagIsSynth || JucePlugin_WantsMidiInput || JucePlugin_IsMidiEffect)\r
{\r
if (hostCallback != nullptr)\r
hostCallback (&vstEffect, hostOpcodePlugInWantsMidi, 0, 1, 0, 0);\r
}\r
\r
- #if JucePlugin_ProducesMidiOutput\r
+ #if JucePlugin_ProducesMidiOutput || JucePlugin_IsMidiEffect\r
outgoingEvents.ensureSize (512);\r
#endif\r
}\r
\r
bool getPinProperties (VstPinInfo& properties, bool direction, int index) const\r
{\r
+ if (filter->isMidiEffect())\r
+ return false;\r
+\r
+ int channelIdx, busIdx;\r
+\r
// fill with default\r
- properties.flags = vstPinInfoFlagValid;\r
+ properties.flags = 0;\r
properties.text[0] = 0;\r
properties.shortText[0] = 0;\r
properties.configurationType = vstSpeakerConfigTypeEmpty;\r
\r
- // index refers to the absolute index when combining all channels of every bus\r
- if (index >= (direction ? vstEffect.numInputChannels : vstEffect.numOutputChannels))\r
- return false;\r
-\r
- const int n = busUtils.getBusCount(direction);\r
- int busIdx;\r
- for (busIdx = 0; busIdx < n; ++busIdx)\r
+ if ((channelIdx = filter->getOffsetInBusBufferForAbsoluteChannelIndex (direction, index, busIdx)) >= 0)\r
{\r
- const int numChans = busUtils.getNumChannels (direction, busIdx);\r
- if (index < numChans)\r
- break;\r
+ AudioProcessor::Bus& bus = *filter->getBus (direction, busIdx);\r
+ const AudioChannelSet& channelSet = bus.getCurrentLayout();\r
+ AudioChannelSet::ChannelType channelType = channelSet.getTypeOfChannel (channelIdx);\r
\r
- index -= numChans;\r
- }\r
-\r
- if (busIdx >= n)\r
- return true;\r
-\r
- const AudioProcessor::AudioProcessorBus& busInfo = busUtils.getFilterBus (direction).getReference (busIdx);\r
-\r
- String channelName = busInfo.name;\r
- #ifdef JucePlugin_PreferredChannelConfigurations\r
- channelName += String (" ") + String (index);\r
- #else\r
- if (busUtils.getNumChannels (direction, busIdx) > 1)\r
- channelName += String (" ") + AudioChannelSet::getAbbreviatedChannelTypeName (busInfo.channels.getTypeOfChannel (index));\r
- #endif\r
+ properties.flags = vstPinInfoFlagIsActive | vstPinInfoFlagValid;\r
+ properties.configurationType = SpeakerMappings::channelSetToVstArrangementType (channelSet);\r
+ String label = bus.getName();\r
\r
- channelName.copyToUTF8 (properties.text, (size_t) (vstMaxParameterOrPinLabelLength + 1));\r
- channelName.copyToUTF8 (properties.shortText, (size_t) (vstMaxParameterOrPinShortLabelLength + 1));\r
+ #ifdef JucePlugin_PreferredChannelConfigurations\r
+ label += String (" ") + String (channelIdx);\r
+ #else\r
+ if (channelSet.size() > 1)\r
+ label += String (" ") + AudioChannelSet::getAbbreviatedChannelTypeName (channelType);\r
+ #endif\r
\r
- properties.flags = vstPinInfoFlagValid | vstPinInfoFlagIsActive;\r
- properties.configurationType = SpeakerMappings::channelSetToVstArrangementType (busInfo.channels);\r
+ label.copyToUTF8 (properties.text, (size_t) (vstMaxParameterOrPinLabelLength + 1));\r
+ label.copyToUTF8 (properties.shortText, (size_t) (vstMaxParameterOrPinShortLabelLength + 1));\r
\r
- if (properties.configurationType == vstSpeakerConfigTypeEmpty)\r
- properties.flags &= vstPinInfoFlagIsActive;\r
+ if (channelType == AudioChannelSet::left\r
+ || channelType == AudioChannelSet::leftSurround\r
+ || channelType == AudioChannelSet::leftCentre\r
+ || channelType == AudioChannelSet::leftSurroundSide\r
+ || channelType == AudioChannelSet::topFrontLeft\r
+ || channelType == AudioChannelSet::topRearLeft\r
+ || channelType == AudioChannelSet::leftSurroundRear\r
+ || channelType == AudioChannelSet::wideLeft)\r
+ properties.flags |= vstPinInfoFlagIsStereo;\r
\r
- if (busInfo.channels.size() == 2)\r
- properties.flags |= vstPinInfoFlagIsStereo;\r
+ return true;\r
+ }\r
\r
- return true;\r
+ return false;\r
}\r
\r
//==============================================================================\r
\r
static AudioChannelSet vstArrangementTypeToChannelSet (const VstSpeakerConfiguration& arr)\r
{\r
+ if (arr.type == vstSpeakerConfigTypeEmpty) return AudioChannelSet::disabled();\r
+ else if (arr.type == vstSpeakerConfigTypeMono) return AudioChannelSet::mono();\r
+ else if (arr.type == vstSpeakerConfigTypeLR) return AudioChannelSet::stereo();\r
+ else if (arr.type == vstSpeakerConfigTypeLRC) return AudioChannelSet::createLCR();\r
+ else if (arr.type == vstSpeakerConfigTypeLRS) return AudioChannelSet::createLRS();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCS) return AudioChannelSet::createLCRS();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCLsRs) return AudioChannelSet::create5point0();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCLfeLsRs) return AudioChannelSet::create5point1();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCLsRsCs) return AudioChannelSet::create6point0();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCLfeLsRsCs) return AudioChannelSet::create6point1();\r
+ else if (arr.type == vstSpeakerConfigTypeLRLsRsSlSr) return AudioChannelSet::create6point0Music();\r
+ else if (arr.type == vstSpeakerConfigTypeLRLfeLsRsSlSr) return AudioChannelSet::create6point1Music();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCLsRsSlSr) return AudioChannelSet::create7point0();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCLsRsLcRc) return AudioChannelSet::create7point0SDDS();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCLfeLsRsSlSr) return AudioChannelSet::create7point1();\r
+ else if (arr.type == vstSpeakerConfigTypeLRCLfeLsRsLcRc) return AudioChannelSet::create7point1SDDS();\r
+ else if (arr.type == vstSpeakerConfigTypeLRLsRs) return AudioChannelSet::quadraphonic();\r
+\r
for (const Mapping* m = getMappings(); m->vst2 != vstSpeakerConfigTypeEmpty; ++m)\r
{\r
if (m->vst2 == arr.type)\r
\r
static int32 channelSetToVstArrangementType (AudioChannelSet channels)\r
{\r
+ if (channels == AudioChannelSet::disabled()) return vstSpeakerConfigTypeEmpty;\r
+ else if (channels == AudioChannelSet::mono()) return vstSpeakerConfigTypeMono;\r
+ else if (channels == AudioChannelSet::stereo()) return vstSpeakerConfigTypeLR;\r
+ else if (channels == AudioChannelSet::createLCR()) return vstSpeakerConfigTypeLRC;\r
+ else if (channels == AudioChannelSet::createLRS()) return vstSpeakerConfigTypeLRS;\r
+ else if (channels == AudioChannelSet::createLCRS()) return vstSpeakerConfigTypeLRCS;\r
+ else if (channels == AudioChannelSet::create5point0()) return vstSpeakerConfigTypeLRCLsRs;\r
+ else if (channels == AudioChannelSet::create5point1()) return vstSpeakerConfigTypeLRCLfeLsRs;\r
+ else if (channels == AudioChannelSet::create6point0()) return vstSpeakerConfigTypeLRCLsRsCs;\r
+ else if (channels == AudioChannelSet::create6point1()) return vstSpeakerConfigTypeLRCLfeLsRsCs;\r
+ else if (channels == AudioChannelSet::create6point0Music()) return vstSpeakerConfigTypeLRLsRsSlSr;\r
+ else if (channels == AudioChannelSet::create6point1Music()) return vstSpeakerConfigTypeLRLfeLsRsSlSr;\r
+ else if (channels == AudioChannelSet::create7point0()) return vstSpeakerConfigTypeLRCLsRsSlSr;\r
+ else if (channels == AudioChannelSet::create7point0SDDS()) return vstSpeakerConfigTypeLRCLsRsLcRc;\r
+ else if (channels == AudioChannelSet::create7point1()) return vstSpeakerConfigTypeLRCLfeLsRsSlSr;\r
+ else if (channels == AudioChannelSet::create7point1SDDS()) return vstSpeakerConfigTypeLRCLfeLsRsLcRc;\r
+ else if (channels == AudioChannelSet::quadraphonic()) return vstSpeakerConfigTypeLRLsRs;\r
+\r
Array<AudioChannelSet::ChannelType> chans (channels.getChannelTypes());\r
\r
if (channels == AudioChannelSet::disabled())\r
{ vstSpeakerConfigTypeLR, { left, right, unknown } },\r
{ vstSpeakerConfigTypeLsRs, { leftSurround, rightSurround, unknown } },\r
{ vstSpeakerConfigTypeLcRc, { leftCentre, rightCentre, unknown } },\r
- { vstSpeakerConfigTypeSlSr, { leftRearSurround, rightRearSurround, unknown } },\r
- { vstSpeakerConfigTypeCLfe, { centre, subbass, unknown } },\r
+ { vstSpeakerConfigTypeSlSr, { leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeCLfe, { centre, LFE, unknown } },\r
{ vstSpeakerConfigTypeLRC, { left, right, centre, unknown } },\r
{ vstSpeakerConfigTypeLRS, { left, right, surround, unknown } },\r
- { vstSpeakerConfigTypeLRCLfe, { left, right, centre, subbass, unknown } },\r
- { vstSpeakerConfigTypeLRLfeS, { left, right, subbass, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfe, { left, right, centre, LFE, unknown } },\r
+ { vstSpeakerConfigTypeLRLfeS, { left, right, LFE, surround, unknown } },\r
{ vstSpeakerConfigTypeLRCS, { left, right, centre, surround, unknown } },\r
{ vstSpeakerConfigTypeLRLsRs, { left, right, leftSurround, rightSurround, unknown } },\r
- { vstSpeakerConfigTypeLRCLfeS, { left, right, centre, subbass, surround, unknown } },\r
- { vstSpeakerConfigTypeLRLfeLsRs, { left, right, subbass, leftSurround, rightSurround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeS, { left, right, centre, LFE, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRLfeLsRs, { left, right, LFE, leftSurround, rightSurround, unknown } },\r
{ vstSpeakerConfigTypeLRCLsRs, { left, right, centre, leftSurround, rightSurround, unknown } },\r
- { vstSpeakerConfigTypeLRCLfeLsRs, { left, right, centre, subbass, leftSurround, rightSurround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRs, { left, right, centre, LFE, leftSurround, rightSurround, unknown } },\r
{ vstSpeakerConfigTypeLRCLsRsCs, { left, right, centre, leftSurround, rightSurround, surround, unknown } },\r
- { vstSpeakerConfigTypeLRLsRsSlSr, { left, right, leftSurround, rightSurround, leftRearSurround, rightRearSurround, unknown } },\r
- { vstSpeakerConfigTypeLRCLfeLsRsCs, { left, right, centre, subbass, leftSurround, rightSurround, surround, unknown } },\r
- { vstSpeakerConfigTypeLRLfeLsRsSlSr, { left, right, subbass, leftSurround, rightSurround, leftRearSurround, rightRearSurround, unknown } },\r
+ { vstSpeakerConfigTypeLRLsRsSlSr, { left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsCs, { left, right, centre, LFE, leftSurround, rightSurround, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRLfeLsRsSlSr, { left, right, LFE, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },\r
{ vstSpeakerConfigTypeLRCLsRsLcRc, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } },\r
- { vstSpeakerConfigTypeLRCLsRsSlSr, { left, right, centre, leftSurround, rightSurround, leftRearSurround, rightRearSurround, unknown } },\r
- { vstSpeakerConfigTypeLRCLfeLsRsLcRc, { left, right, centre, subbass, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } },\r
- { vstSpeakerConfigTypeLRCLfeLsRsSlSr, { left, right, centre, subbass, leftSurround, rightSurround, leftRearSurround, rightRearSurround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLsRsSlSr, { left, right, centre, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsLcRc, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsSlSr, { left, right, centre, LFE, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },\r
{ vstSpeakerConfigTypeLRCLsRsLcRcCs, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },\r
- { vstSpeakerConfigTypeLRCLsRsCsSlSr, { left, right, centre, leftSurround, rightSurround, surround, leftRearSurround, rightRearSurround, unknown } },\r
- { vstSpeakerConfigTypeLRCLfeLsRsLcRcCs, { left, right, centre, subbass, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },\r
- { vstSpeakerConfigTypeLRCLfeLsRsCsSlSr, { left, right, centre, subbass, leftSurround, rightSurround, surround, leftRearSurround, rightRearSurround, unknown } },\r
- { vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2, { left, right, centre, subbass, leftSurround, rightSurround, topFrontLeft, topFrontCentre, topFrontRight, topRearLeft, topRearRight, subbass2, unknown } },\r
+ { vstSpeakerConfigTypeLRCLsRsCsSlSr, { left, right, centre, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsLcRcCs, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsCsSlSr, { left, right, centre, LFE, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontCentre, topFrontRight, topRearLeft, topRearRight, LFE2, unknown } },\r
{ vstSpeakerConfigTypeEmpty, { unknown } }\r
};\r
\r
case AudioChannelSet::left: return vstIndividualSpeakerTypeLeft;\r
case AudioChannelSet::right: return vstIndividualSpeakerTypeRight;\r
case AudioChannelSet::centre: return vstIndividualSpeakerTypeCentre;\r
- case AudioChannelSet::subbass: return vstIndividualSpeakerTypeSubbass;\r
+ case AudioChannelSet::LFE: return vstIndividualSpeakerTypeLFE;\r
case AudioChannelSet::leftSurround: return vstIndividualSpeakerTypeLeftSurround;\r
case AudioChannelSet::rightSurround: return vstIndividualSpeakerTypeRightSurround;\r
case AudioChannelSet::leftCentre: return vstIndividualSpeakerTypeLeftCentre;\r
case AudioChannelSet::rightCentre: return vstIndividualSpeakerTypeRightCentre;\r
case AudioChannelSet::surround: return vstIndividualSpeakerTypeSurround;\r
- case AudioChannelSet::leftRearSurround: return vstIndividualSpeakerTypeLeftRearSurround;\r
- case AudioChannelSet::rightRearSurround: return vstIndividualSpeakerTypeRightRearSurround;\r
+ case AudioChannelSet::leftSurroundRear: return vstIndividualSpeakerTypeLeftRearSurround;\r
+ case AudioChannelSet::rightSurroundRear: return vstIndividualSpeakerTypeRightRearSurround;\r
case AudioChannelSet::topMiddle: return vstIndividualSpeakerTypeTopMiddle;\r
case AudioChannelSet::topFrontLeft: return vstIndividualSpeakerTypeTopFrontLeft;\r
case AudioChannelSet::topFrontCentre: return vstIndividualSpeakerTypeTopFrontCentre;\r
case AudioChannelSet::topRearLeft: return vstIndividualSpeakerTypeTopRearLeft;\r
case AudioChannelSet::topRearCentre: return vstIndividualSpeakerTypeTopRearCentre;\r
case AudioChannelSet::topRearRight: return vstIndividualSpeakerTypeTopRearRight;\r
- case AudioChannelSet::subbass2: return vstIndividualSpeakerTypeSubbass2;\r
+ case AudioChannelSet::LFE2: return vstIndividualSpeakerTypeLFE2;\r
default: break;\r
}\r
\r
case vstIndividualSpeakerTypeLeft: return AudioChannelSet::left;\r
case vstIndividualSpeakerTypeRight: return AudioChannelSet::right;\r
case vstIndividualSpeakerTypeCentre: return AudioChannelSet::centre;\r
- case vstIndividualSpeakerTypeSubbass: return AudioChannelSet::subbass;\r
+ case vstIndividualSpeakerTypeLFE: return AudioChannelSet::LFE;\r
case vstIndividualSpeakerTypeLeftSurround: return AudioChannelSet::leftSurround;\r
case vstIndividualSpeakerTypeRightSurround: return AudioChannelSet::rightSurround;\r
case vstIndividualSpeakerTypeLeftCentre: return AudioChannelSet::leftCentre;\r
case vstIndividualSpeakerTypeRightCentre: return AudioChannelSet::rightCentre;\r
case vstIndividualSpeakerTypeSurround: return AudioChannelSet::surround;\r
- case vstIndividualSpeakerTypeLeftRearSurround: return AudioChannelSet::leftRearSurround;\r
- case vstIndividualSpeakerTypeRightRearSurround: return AudioChannelSet::rightRearSurround;\r
+ case vstIndividualSpeakerTypeLeftRearSurround: return AudioChannelSet::leftSurroundRear;\r
+ case vstIndividualSpeakerTypeRightRearSurround: return AudioChannelSet::rightSurroundRear;\r
case vstIndividualSpeakerTypeTopMiddle: return AudioChannelSet::topMiddle;\r
case vstIndividualSpeakerTypeTopFrontLeft: return AudioChannelSet::topFrontLeft;\r
case vstIndividualSpeakerTypeTopFrontCentre: return AudioChannelSet::topFrontCentre;\r
case vstIndividualSpeakerTypeTopRearLeft: return AudioChannelSet::topRearLeft;\r
case vstIndividualSpeakerTypeTopRearCentre: return AudioChannelSet::topRearCentre;\r
case vstIndividualSpeakerTypeTopRearRight: return AudioChannelSet::topRearRight;\r
- case vstIndividualSpeakerTypeSubbass2: return AudioChannelSet::subbass2;\r
+ case vstIndividualSpeakerTypeLFE2: return AudioChannelSet::LFE2;\r
default: break;\r
}\r
\r
int32 blockSize;\r
VstEffectInterface vstEffect;\r
AudioProcessor* filter;\r
- PluginBusUtilities busUtils;\r
juce::MemoryBlock chunkMemory;\r
juce::uint32 chunkMemoryTime;\r
ScopedPointer<EditorCompWrapper> editorComp;\r
VstTempBuffers<double> doubleTempBuffers;\r
int maxNumInChannels, maxNumOutChannels;\r
\r
+ HeapBlock<VstSpeakerConfiguration> cachedInArrangement, cachedOutArrangement;\r
+\r
#if JUCE_MAC\r
void* hostWindow;\r
#elif JUCE_LINUX\r
//==============================================================================\r
void findMaxTotalChannels (int& maxTotalIns, int& maxTotalOuts)\r
{\r
- setMaxChannelsOnAllBuses (true);\r
- setMaxChannelsOnAllBuses (false);\r
-\r
- maxTotalIns = busUtils.findTotalNumChannels (true);\r
- maxTotalOuts = busUtils.findTotalNumChannels (false);\r
- }\r
-\r
- void setMaxChannelsOnAllBuses (bool isInput)\r
- {\r
- const int n = busUtils.getBusCount (isInput);\r
-\r
- for (int i = 0; i < n; ++i)\r
- {\r
- int ch = busUtils.findMaxNumberOfChannelsForBus (isInput, i);\r
-\r
- if (ch == -1)\r
- {\r
- // VST-2 requires a maximum number of channels. If you are hitting this assertion\r
- // then make sure that your setPreferredBusArrangement only accepts layouts\r
- // up to a maximum number of channels\r
- jassertfalse;\r
-\r
- // do something sensible if the above assertions was hit\r
- ch = busUtils.getDefaultLayoutForBus (isInput, i).size();\r
- }\r
-\r
- AudioChannelSet set =\r
- busUtils.getDefaultLayoutForChannelNumAndBus (isInput, i, ch);\r
-\r
- bool success = filter->setPreferredBusArrangement (isInput, i, set);\r
- ignoreUnused (success);\r
-\r
- // If you are hitting this assertsion then please file bug!\r
- jassert ((! set.isDisabled()) && success);\r
- }\r
- }\r
-\r
-\r
- //==============================================================================\r
- void resetAuxChannelsToDefaultLayout (bool isInput) const\r
- {\r
- // set side-chain and aux channels to their default layout\r
- for (int busIdx = 1; busIdx < busUtils.getBusCount (isInput); ++busIdx)\r
- {\r
- bool success = filter->setPreferredBusArrangement (isInput, busIdx, busUtils.getDefaultLayoutForBus (isInput, busIdx));\r
-\r
- // VST 2 only supports a static channel layout on aux/sidechain channels\r
- // You must at least support the default layout regardless of the layout of the main bus.\r
- // If this is a problem for your plug-in, then consider using VST-3.\r
- jassert (success);\r
- ignoreUnused (success);\r
- }\r
- }\r
-\r
- bool setBusArrangementFromTotalChannelNum (const int numInChannels, const int numOutChannels)\r
- {\r
- PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils);\r
- const int numIns = busUtils.getBusCount (true);\r
- const int numOuts = busUtils.getBusCount (false);\r
-\r
- const int n = numIns + numOuts;\r
- HeapBlock<int> config (static_cast<size_t> (n), true);\r
- HeapBlock<int> maxChans (static_cast<size_t> (n), true);\r
-\r
- for (int i = 0; i < numIns; ++i)\r
- maxChans[i] = busUtils.findMaxNumberOfChannelsForBus (true, i, numInChannels);\r
-\r
- for (int i = 0; i < numOuts; ++i)\r
- maxChans[i + numIns] = busUtils.findMaxNumberOfChannelsForBus (false, i, numOutChannels);\r
-\r
- const int* inConfig = config.getData();\r
- const int* outConfig = config.getData() + numIns;\r
-\r
- #if JUCE_DEBUG\r
- bool firstMatch = true;\r
- AudioProcessor::AudioBusArrangement saveFirstMatch;\r
- #endif\r
+ #if defined (JucePlugin_MaxNumInputChannels) && defined (JucePlugin_MaxNumOutputChannels)\r
+ maxTotalIns = JucePlugin_MaxNumInputChannels;\r
+ maxTotalOuts = JucePlugin_MaxNumOutputChannels;\r
+ #else\r
+ const int numInputBuses = filter->getBusCount (true);\r
+ const int numOutputBuses = filter->getBusCount (false);\r
\r
- for (int i = 0; i < n;)\r
+ if (numInputBuses > 1 || numOutputBuses > 1)\r
{\r
- if (sumOfConfig (inConfig, numIns) == numInChannels\r
- && sumOfConfig (outConfig, numOuts) == numOutChannels)\r
- {\r
- if (applyConfiguration (inConfig, outConfig))\r
- {\r
- #if JUCE_DEBUG\r
- if (! firstMatch)\r
- {\r
- // Unfortunately, VST-2 requires that there is a unique plug-in bus\r
- // arrangement for every x,y pair where x,y is the total number of\r
- // input, output channels respectively.\r
- jassertfalse;\r
+ maxTotalIns = maxTotalOuts = 0;\r
\r
- busUtils.restoreBusArrangement (saveFirstMatch);\r
- return true;\r
- }\r
+ for (int i = 0; i < numInputBuses; ++i)\r
+ maxTotalIns += filter->getChannelCountOfBus (true, i);\r
\r
- saveFirstMatch = filter->busArrangement;\r
- firstMatch = false;\r
- #else\r
- busRestorer.release();\r
- return true;\r
- #endif\r
- }\r
- }\r
-\r
- for (i = 0; i < n; ++i)\r
- if ((config[i] = maxChans[i] ? (config[i] + 1) % maxChans[i] : 0) > 0)\r
- break;\r
+ for (int i = 0; i < numOutputBuses; ++i)\r
+ maxTotalOuts += filter->getChannelCountOfBus (false, i);\r
}\r
-\r
- #if JUCE_DEBUG\r
- if (! firstMatch)\r
+ else\r
{\r
- busRestorer.release();\r
- busUtils.restoreBusArrangement (saveFirstMatch);\r
- return true;\r
+ maxTotalIns = numInputBuses > 0 ? filter->getBus (true, 0)->getMaxSupportedChannels() : 0;\r
+ maxTotalOuts = numOutputBuses > 0 ? filter->getBus (false, 0)->getMaxSupportedChannels() : 0;\r
}\r
#endif\r
-\r
- return false;\r
- }\r
-\r
- bool setBusConfiguration (bool isInput, const int config[], const int n)\r
- {\r
- Array<AudioProcessor::AudioProcessorBus>& busArray = isInput ? filter->busArrangement.inputBuses\r
- : filter->busArrangement.outputBuses;\r
-\r
- int idx;\r
- for (idx = 0; idx < n; ++idx)\r
- {\r
- if (busArray.getReference (idx).channels.size() == (config [idx] + 1))\r
- continue;\r
-\r
- AudioChannelSet set;\r
- if ((set = busUtils.getDefaultLayoutForChannelNumAndBus (isInput, idx, config [idx] + 1)).isDisabled())\r
- break;\r
-\r
- if (! filter->setPreferredBusArrangement (isInput, idx, set))\r
- break;\r
- }\r
-\r
- return (idx >= n);\r
- }\r
-\r
- bool configurationMatches (bool isInput, const int config[], const int n)\r
- {\r
- Array<AudioProcessor::AudioProcessorBus>& busArray = isInput ? filter->busArrangement.inputBuses\r
- : filter->busArrangement.outputBuses;\r
-\r
- int idx;\r
- for (idx = 0; idx < n; ++idx)\r
- if (busArray.getReference (idx).channels.size() != (config [idx] + 1))\r
- break;\r
-\r
- return (idx >= n);\r
- }\r
-\r
- bool applyConfiguration (const int inConfig[], const int outConfig[])\r
- {\r
- const int numIns = busUtils.getBusCount (true);\r
- const int numOuts = busUtils.getBusCount (false);\r
-\r
- if (! setBusConfiguration (true, inConfig, numIns))\r
- return false;\r
-\r
- if (! setBusConfiguration (false, outConfig, numOuts))\r
- return false;\r
-\r
- // re-check configuration\r
- if (configurationMatches (true, inConfig, numIns) && configurationMatches (false, outConfig, numOuts))\r
- return true;\r
-\r
- return false;\r
- }\r
-\r
- void allocateSpeakerArrangement (VstSpeakerConfiguration** arrangement, int32 nChannels)\r
- {\r
- if (*arrangement)\r
- delete [] (char*) *arrangement;\r
-\r
- // The last member of a full VstSpeakerConfiguration struct is an array of 8\r
- // VstIndividualSpeakerInfo. Here we only allocate space for channels we will\r
- // actually use.\r
- const size_t allocationSizeToSubtract = static_cast<size_t> (8 - nChannels) * sizeof (VstIndividualSpeakerInfo);\r
- const size_t allocationSize = sizeof (VstSpeakerConfiguration) - allocationSizeToSubtract;\r
- char* newAllocation = new char[allocationSize];\r
- memset (newAllocation, 0, allocationSize);\r
-\r
- *arrangement = (VstSpeakerConfiguration*) newAllocation;\r
- (*arrangement)->numberOfChannels = nChannels;\r
- }\r
-\r
- //==============================================================================\r
- bool pluginHasSidechainsOrAuxs() const\r
- {\r
- return (busUtils.getBusCount (true) > 1 || busUtils.getBusCount (false) > 1);\r
}\r
\r
- static int sumOfConfig (const int config[], int num) noexcept\r
- {\r
- int retval = 0;\r
- for (int i = 0; i < num; ++i)\r
- retval += (config [i] + 1);\r
-\r
- return retval;\r
- }\r
+ bool pluginHasSidechainsOrAuxs() const { return (filter->getBusCount (true) > 1 || filter->getBusCount (false) > 1); }\r
\r
//==============================================================================\r
/** Host to plug-in calls. */\r
\r
pointer_sized_int handlePreAudioProcessingEvents (VstOpCodeArguments args)\r
{\r
- #if JucePlugin_WantsMidiInput\r
+ #if JucePlugin_WantsMidiInput || JucePlugin_IsMidiEffect\r
VSTMidiEventList::addEventsToMidiBuffer ((VstEventBlock*) args.ptr, midiEvents);\r
return 1;\r
#else\r
\r
pointer_sized_int handleSetSpeakerConfiguration (VstOpCodeArguments args)\r
{\r
- VstSpeakerConfiguration* pluginInput = reinterpret_cast<VstSpeakerConfiguration*> (args.value);\r
- VstSpeakerConfiguration* pluginOutput = (VstSpeakerConfiguration*) args.ptr;\r
+ VstSpeakerConfiguration* pluginInput = reinterpret_cast<VstSpeakerConfiguration*> (args.value);\r
+ VstSpeakerConfiguration* pluginOutput = reinterpret_cast<VstSpeakerConfiguration*> (args.ptr);\r
\r
- const int numIns = busUtils.getBusCount (true);\r
- const int numOuts = busUtils.getBusCount (false);;\r
-\r
- if (pluginInput != nullptr && numIns == 0)\r
+ if (pluginHasSidechainsOrAuxs() || filter->isMidiEffect())\r
return 0;\r
\r
- if (pluginOutput != nullptr && numOuts == 0)\r
- return 0;\r
+ const int numIns = filter->getBusCount (true);\r
+ const int numOuts = filter->getBusCount (false);\r
\r
if (pluginInput != nullptr && pluginInput->type >= 0)\r
{\r
return 0;\r
}\r
\r
- if (numIns > 1 || numOuts > 1)\r
- {\r
- int newNumInChannels = (pluginInput != nullptr && pluginInput-> numberOfChannels >= 0)\r
- ? pluginInput-> numberOfChannels\r
- : busUtils.findTotalNumChannels (true);\r
- int newNumOutChannels = (pluginOutput != nullptr && pluginOutput->numberOfChannels >= 0)\r
- ? pluginOutput->numberOfChannels\r
- : busUtils.findTotalNumChannels (false);\r
+ if (pluginInput != nullptr && pluginInput->numberOfChannels > 0 && numIns == 0)\r
+ return 0;\r
\r
- newNumInChannels = jmin (newNumInChannels, maxNumInChannels);\r
- newNumOutChannels = jmin (newNumOutChannels, maxNumOutChannels);\r
+ if (pluginOutput != nullptr && pluginOutput->numberOfChannels > 0 && numOuts == 0)\r
+ return 0;\r
\r
- if (! setBusArrangementFromTotalChannelNum (newNumInChannels, newNumOutChannels))\r
+ if (pluginInput != nullptr && pluginInput->type >= 0)\r
+ {\r
+ // inconsistent request?\r
+ if (SpeakerMappings::vstArrangementTypeToChannelSet (*pluginInput).size() != pluginInput->numberOfChannels)\r
return 0;\r
}\r
- else\r
- {\r
- PluginBusUtilities::ScopedBusRestorer busRestorer (busUtils);\r
- AudioChannelSet inLayoutType;\r
\r
- if (pluginInput != nullptr && pluginInput-> numberOfChannels >= 0)\r
- {\r
- inLayoutType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginInput);\r
- if (busUtils.getChannelSet (true, 0) != inLayoutType)\r
- if (! filter->setPreferredBusArrangement (true, 0, inLayoutType))\r
- return 0;\r
- }\r
+ if (pluginOutput != nullptr && pluginOutput->type >= 0)\r
+ {\r
+ // inconsistent request?\r
+ if (SpeakerMappings::vstArrangementTypeToChannelSet (*pluginOutput).size() != pluginOutput->numberOfChannels)\r
+ return 0;\r
+ }\r
\r
- if (pluginOutput != nullptr && pluginOutput->numberOfChannels >= 0)\r
- {\r
- AudioChannelSet newType = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginOutput);\r
+ AudioProcessor::BusesLayout layouts = filter->getBusesLayout();\r
\r
- if (busUtils.getChannelSet (false, 0) != newType)\r
- if (! filter->setPreferredBusArrangement (false, 0, newType))\r
- return 0;\r
+ if (pluginInput != nullptr && pluginInput-> numberOfChannels >= 0 && numIns > 0)\r
+ layouts.getChannelSet (true, 0) = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginInput);\r
\r
- // re-check the input\r
- if ((! inLayoutType.isDisabled()) && busUtils.getChannelSet (true, 0) != inLayoutType)\r
- return 0;\r
+ if (pluginOutput != nullptr && pluginOutput->numberOfChannels >= 0 && numOuts > 0)\r
+ layouts.getChannelSet (false, 0) = SpeakerMappings::vstArrangementTypeToChannelSet (*pluginOutput);\r
\r
- busRestorer.release();\r
- }\r
- }\r
+ #ifdef JucePlugin_PreferredChannelConfigurations\r
+ short configs[][2] = {JucePlugin_PreferredChannelConfigurations};\r
+ if (! AudioProcessor::containsLayout (layouts, configs))\r
+ return 0;\r
+ #endif\r
\r
- filter->setRateAndBufferSizeDetails(0, 0);\r
- return 1;\r
+ return filter->setBusesLayout (layouts) ? 1 : 0;\r
}\r
\r
pointer_sized_int handleSetBypass (VstOpCodeArguments args)\r
|| strcmp (text, "receiveVstMidiEvent") == 0\r
|| strcmp (text, "receiveVstMidiEvents") == 0)\r
{\r
- #if JucePlugin_WantsMidiInput\r
+ #if JucePlugin_WantsMidiInput || JucePlugin_IsMidiEffect\r
return 1;\r
#else\r
return -1;\r
|| strcmp (text, "sendVstMidiEvent") == 0\r
|| strcmp (text, "sendVstMidiEvents") == 0)\r
{\r
- #if JucePlugin_ProducesMidiOutput\r
+ #if JucePlugin_ProducesMidiOutput || JucePlugin_IsMidiEffect\r
return 1;\r
#else\r
return -1;\r
\r
pointer_sized_int handleGetSpeakerConfiguration (VstOpCodeArguments args)\r
{\r
- VstSpeakerConfiguration** pluginInput = reinterpret_cast<VstSpeakerConfiguration**> (args.value);\r
- VstSpeakerConfiguration** pluginOutput = (VstSpeakerConfiguration**) args.ptr;\r
- *pluginInput = nullptr;\r
- *pluginOutput = nullptr;\r
+ VstSpeakerConfiguration** pluginInput = reinterpret_cast<VstSpeakerConfiguration**> (args.value);\r
+ VstSpeakerConfiguration** pluginOutput = reinterpret_cast<VstSpeakerConfiguration**> (args.ptr);\r
\r
- allocateSpeakerArrangement (pluginInput, busUtils.findTotalNumChannels (true));\r
- allocateSpeakerArrangement (pluginOutput, busUtils.findTotalNumChannels (false));\r
+ if (pluginHasSidechainsOrAuxs() || filter->isMidiEffect())\r
+ return false;\r
\r
- if (pluginHasSidechainsOrAuxs())\r
- {\r
- int numIns = busUtils.findTotalNumChannels (true);\r
- int numOuts = busUtils.findTotalNumChannels (false);\r
+ AudioChannelSet inputLayout = filter->getChannelLayoutOfBus (true, 0);\r
+ AudioChannelSet outputLayout = filter->getChannelLayoutOfBus (false, 0);\r
\r
- AudioChannelSet layout = AudioChannelSet::canonicalChannelSet (numIns);\r
- SpeakerMappings::channelSetToVstArrangement (layout, **pluginInput);\r
+ const std::size_t speakerBaseSize = sizeof (VstSpeakerConfiguration) - (sizeof (VstIndividualSpeakerInfo) * 8);\r
\r
- layout = AudioChannelSet::canonicalChannelSet (numOuts);\r
- SpeakerMappings::channelSetToVstArrangement (layout, **pluginOutput);\r
- }\r
- else\r
- {\r
- SpeakerMappings::channelSetToVstArrangement (busUtils.getChannelSet (true, 0), **pluginInput);\r
- SpeakerMappings::channelSetToVstArrangement (busUtils.getChannelSet (false, 0), **pluginOutput);\r
- }\r
+ cachedInArrangement .malloc (speakerBaseSize + (static_cast<std::size_t> (inputLayout. size()) * sizeof (VstSpeakerConfiguration)), 1);\r
+ cachedOutArrangement.malloc (speakerBaseSize + (static_cast<std::size_t> (outputLayout.size()) * sizeof (VstSpeakerConfiguration)), 1);\r
+\r
+ *pluginInput = cachedInArrangement. getData();\r
+ *pluginOutput = cachedOutArrangement.getData();\r
+\r
+ SpeakerMappings::channelSetToVstArrangement (filter->getChannelLayoutOfBus (true, 0), **pluginInput);\r
+ SpeakerMappings::channelSetToVstArrangement (filter->getChannelLayoutOfBus (false, 0), **pluginOutput);\r
\r
return 1;\r
}\r
\r
static bool shouldManuallyCloseHostWindow()\r
{\r
- return getHostType().isCubase7orLater() || getHostType().isRenoise();\r
+ return getHostType().isCubase7orLater() || getHostType().isRenoise() || ((SystemStats::getOperatingSystemType() & 0xff) >= 12);\r
}\r
#endif\r
\r
#include "../utility/juce_CheckSettingMacros.h"\r
#include "../utility/juce_IncludeModuleHeaders.h"\r
#include "../utility/juce_WindowsHooks.h"\r
-#include "../utility/juce_PluginBusUtilities.h"\r
#include "../utility/juce_FakeMouseMoveGenerator.h"\r
#include "../../juce_audio_processors/format_types/juce_VST3Common.h"\r
\r
setParamNormalized (paramPreset, static_cast<Vst::ParamValue> (pluginInstance->getCurrentProgram()) / static_cast<Vst::ParamValue> (numPrograms - 1));\r
}\r
\r
+ if (Vst::IComponentHandler* handler = getComponentHandler())\r
+ handler->restartComponent (Vst::kParamValuesChanged);\r
+\r
return Vst::EditController::setComponentState (stream);\r
}\r
\r
parameterToMidiControllerOffset = static_cast<Vst::ParamID> (usingManagedParameter ? paramMidiControllerOffset\r
: parameters.getParameterCount());\r
\r
- initialiseMidiControllerMappings ();\r
+ initialiseMidiControllerMappings();\r
#endif\r
\r
audioProcessorChanged (pluginInstance);\r
}\r
}\r
\r
- void initialiseMidiControllerMappings ()\r
+ void initialiseMidiControllerMappings()\r
{\r
for (int c = 0, p = 0; c < numMIDIChannels; ++c)\r
{\r
pluginInstance (createPluginFilterOfType (AudioProcessor::wrapperType_VST3)),\r
host (h),\r
isMidiInputBusEnabled (false),\r
- isMidiOutputBusEnabled (false),\r
- busUtils (*pluginInstance, false)\r
+ isMidiOutputBusEnabled (false)\r
{\r
#if JucePlugin_WantsMidiInput\r
isMidiInputBusEnabled = true;\r
isMidiOutputBusEnabled = true;\r
#endif\r
\r
- busUtils.init();\r
+ #ifdef JucePlugin_PreferredChannelConfigurations\r
+ short configs[][2] = {JucePlugin_PreferredChannelConfigurations};\r
+ const int numConfigs = sizeof (configs) / sizeof (short[2]);\r
+\r
+ jassert (numConfigs > 0 && (configs[0][0] > 0 || configs[0][1] > 0));\r
+\r
+ pluginInstance->setPlayConfigDetails (configs[0][0], configs[0][1], 44100.0, 1024);\r
+ #endif\r
\r
// VST-3 requires your default layout to be non-discrete!\r
// For example, your default layout must be mono, stereo, quadrophonic\r
// and not AudioChannelSet::discreteChannels (2) etc.\r
- jassert (busUtils.checkBusFormatsAreNotDiscrete());\r
-\r
- copyBusArrangements (currentBusState.inputBuses, pluginInstance->busArrangement.inputBuses, Vst::kInput);\r
- copyBusArrangements (currentBusState.outputBuses, pluginInstance->busArrangement.outputBuses, Vst::kOutput);\r
+ jassert (checkBusFormatsAreNotDiscrete());\r
\r
comPluginInstance = new JuceAudioProcessor (pluginInstance);\r
\r
Steinberg::int32 PLUGIN_API getBusCount (Vst::MediaType type, Vst::BusDirection dir) override\r
{\r
if (type == Vst::kAudio)\r
- return (dir == Vst::kInput ? pluginInstance->busArrangement.inputBuses\r
- : pluginInstance->busArrangement.outputBuses).size();\r
+ return pluginInstance->getBusCount (dir == Vst::kInput);\r
\r
if (type == Vst::kEvent)\r
{\r
return 0;\r
}\r
\r
- static const AudioProcessor::AudioProcessorBus* getAudioBus (AudioProcessor::AudioBusArrangement& busArrangement,\r
- Vst::BusDirection dir, Steinberg::int32 index) noexcept\r
- {\r
- const Array<AudioProcessor::AudioProcessorBus>& buses = dir == Vst::kInput ? busArrangement.inputBuses\r
- : busArrangement.outputBuses;\r
-\r
- return isPositiveAndBelow (index, static_cast<Steinberg::int32> (buses.size())) ? &buses.getReference (index) : nullptr;\r
- }\r
-\r
- const AudioProcessor::AudioProcessorBus* getAudioBus (Vst::BusDirection dir, Steinberg::int32 index) const noexcept\r
- {\r
- return getAudioBus (pluginInstance->busArrangement, dir, index);\r
- }\r
-\r
tresult PLUGIN_API getBusInfo (Vst::MediaType type, Vst::BusDirection dir,\r
Steinberg::int32 index, Vst::BusInfo& info) override\r
{\r
if (type == Vst::kAudio)\r
{\r
- if (const AudioProcessor::AudioProcessorBus* bus = getAudioBus (currentBusState, dir, index))\r
+ if (const AudioProcessor::Bus* bus = pluginInstance->getBus (dir == Vst::kInput, index))\r
{\r
info.mediaType = Vst::kAudio;\r
info.direction = dir;\r
- info.channelCount = bus->channels.size();\r
- toString128 (info.name, bus->name);\r
+ info.channelCount = bus->getLastEnabledLayout().size();\r
+ toString128 (info.name, bus->getName());\r
\r
#if JucePlugin_IsSynth\r
info.busType = (dir == Vst::kInput && index > 0 ? Vst::kAux : Vst::kMain);\r
info.busType = (index == 0 ? Vst::kMain : Vst::kAux);\r
#endif\r
\r
- info.flags = busUtils.isBusEnabledByDefault (dir == Vst::kInput, index) ? Vst::BusInfo::kDefaultActive : 0;\r
+ info.flags = (bus->isEnabledByDefault()) ? Vst::BusInfo::kDefaultActive : 0;\r
return kResultTrue;\r
}\r
}\r
}\r
\r
if (type == Vst::kAudio)\r
- {\r
- if (const AudioProcessor::AudioProcessorBus* bus = getAudioBus (dir, index))\r
- {\r
- if (state == (bus->channels.size() > 0))\r
- return kResultTrue;\r
-\r
- AudioChannelSet newChannels;\r
-\r
- if (state)\r
- if (const AudioProcessor::AudioProcessorBus* lastBusState = getAudioBus (currentBusState, dir, index))\r
- newChannels = lastBusState->channels;\r
-\r
- if (pluginInstance->setPreferredBusArrangement (dir == Vst::kInput, index, newChannels))\r
- return kResultTrue;\r
- }\r
- }\r
+ if (AudioProcessor::Bus* bus = pluginInstance->getBus (dir == Vst::kInput, index))\r
+ return (bus->enable (state != 0) ? kResultTrue : kResultFalse);\r
\r
return kResultFalse;\r
}\r
\r
- void copyBusArrangements (Array<AudioProcessor::AudioProcessorBus>& copies,\r
- const Array<AudioProcessor::AudioProcessorBus>& source,\r
- Vst::BusDirection dir)\r
+ bool checkBusFormatsAreNotDiscrete()\r
{\r
- for (int i = 0; i < source.size(); ++i)\r
- {\r
- AudioProcessor::AudioProcessorBus bus = source.getReference (i);\r
+ const int numInputBuses = pluginInstance->getBusCount (true);\r
+ const int numOutputBuses = pluginInstance->getBusCount (false);\r
\r
- if (bus.channels.size() == 0 && i < copies.size())\r
- bus = AudioProcessor::AudioProcessorBus (bus.name, copies.getReference (i).channels);\r
+ for (int i = 0; i < numInputBuses; ++i)\r
+ if (pluginInstance->getChannelLayoutOfBus (true, i).isDiscreteLayout())\r
+ return false;\r
\r
- if (bus.channels.size() == 0)\r
- bus = AudioProcessor::AudioProcessorBus (bus.name, busUtils.getDefaultLayoutForBus (dir == Vst::kInput, i));\r
+ for (int i = 0; i < numOutputBuses; ++i)\r
+ if (pluginInstance->getChannelLayoutOfBus (false, i).isDiscreteLayout())\r
+ return false;\r
\r
- copies.set (i, bus);\r
- }\r
+ return true;\r
}\r
\r
tresult PLUGIN_API setBusArrangements (Vst::SpeakerArrangement* inputs, Steinberg::int32 numIns,\r
Vst::SpeakerArrangement* outputs, Steinberg::int32 numOuts) override\r
{\r
- PluginBusUtilities::ScopedBusRestorer restorer (busUtils);\r
-\r
- Array<bool> inputsEnabled, outputsEnabled;\r
-\r
- // save enabled/disabled state of buses\r
- for (int i = 0; i < busUtils.getBusCount (true); ++i)\r
- inputsEnabled.add (busUtils.isBusEnabled (true, i));\r
+ const int numInputBuses = pluginInstance->getBusCount (true);\r
+ const int numOutputBuses = pluginInstance->getBusCount (false);\r
\r
- for (int i = 0; i < busUtils.getBusCount (false); ++i)\r
- outputsEnabled.add (busUtils.isBusEnabled (false, i));\r
-\r
- // set the buses\r
- for (int i = 0; i < numIns; ++i)\r
- if (! pluginInstance->setPreferredBusArrangement (true, i, getChannelSetForSpeakerArrangement (inputs[i])))\r
- return kInvalidArgument;\r
+ if (numIns > numInputBuses || numOuts > numOutputBuses)\r
+ return false;\r
\r
- for (int i = 0; i < numOuts; ++i)\r
- if (! pluginInstance->setPreferredBusArrangement (false, i, getChannelSetForSpeakerArrangement (outputs[i])))\r
- return kInvalidArgument;\r
+ AudioProcessor::BusesLayout requested = pluginInstance->getBusesLayout();\r
\r
- // re-check if the bus arrangement mateches the request\r
for (int i = 0; i < numIns; ++i)\r
- if (getChannelSetForSpeakerArrangement (inputs[i]) != busUtils.getChannelSet (true, i))\r
- return kInvalidArgument;\r
+ requested.getChannelSet (true, i) = getChannelSetForSpeakerArrangement (inputs[i]);\r
\r
for (int i = 0; i < numOuts; ++i)\r
- if (getChannelSetForSpeakerArrangement (outputs[i]) != busUtils.getChannelSet (false, i))\r
- return kInvalidArgument;\r
-\r
- // save the state of the plug-in layout\r
- copyBusArrangements (currentBusState.inputBuses, pluginInstance->busArrangement.inputBuses, Vst::kInput);\r
- copyBusArrangements (currentBusState.outputBuses, pluginInstance->busArrangement.outputBuses, Vst::kOutput);\r
-\r
- // re-enable/disable the buses\r
- for (int i = 0; i < busUtils.getBusCount (true); ++i)\r
- if (! inputsEnabled.getReference (i) && busUtils.isBusEnabled (true, i))\r
- if (! pluginInstance->setPreferredBusArrangement (true, i, AudioChannelSet()))\r
- return kInvalidArgument;\r
-\r
- for (int i = 0; i < busUtils.getBusCount (false); ++i)\r
- if (! outputsEnabled.getReference (i) && busUtils.isBusEnabled (false, i))\r
- if (! pluginInstance->setPreferredBusArrangement (false, i, AudioChannelSet()))\r
- return kInvalidArgument;\r
+ requested.getChannelSet (false, i) = getChannelSetForSpeakerArrangement (outputs[i]);\r
\r
- restorer.release();\r
-\r
- preparePlugin (getPluginInstance().getSampleRate(),\r
- getPluginInstance().getBlockSize());\r
+ #ifdef JucePlugin_PreferredChannelConfigurations\r
+ short configs[][2] = {JucePlugin_PreferredChannelConfigurations};\r
+ if (! AudioProcessor::containsLayout (requested, configs))\r
+ return kResultFalse;\r
+ #endif\r
\r
- return kResultTrue;\r
+ return (pluginInstance->setBusesLayoutWithoutEnabling (requested) ? kResultTrue : kResultFalse);\r
}\r
\r
tresult PLUGIN_API getBusArrangement (Vst::BusDirection dir, Steinberg::int32 index, Vst::SpeakerArrangement& arr) override\r
{\r
- if (const AudioProcessor::AudioProcessorBus* bus = getAudioBus (currentBusState, dir, index))\r
+ if (AudioProcessor::Bus* bus = pluginInstance->getBus (dir == Vst::kInput, index))\r
{\r
- arr = getSpeakerArrangement (bus->channels);\r
+ arr = getVst3SpeakerArrangement (bus->getLastEnabledLayout());\r
return kResultTrue;\r
}\r
\r
Array<float*> channelListFloat;\r
Array<double*> channelListDouble;\r
\r
- AudioProcessor::AudioBusArrangement currentBusState;\r
bool isMidiInputBusEnabled, isMidiOutputBusEnabled;\r
- PluginBusUtilities busUtils;\r
\r
ScopedJuceInitialiser_GUI libraryInitialiser;\r
\r
processParameterChanges (*data.inputParameterChanges);\r
\r
#if JUCE_DEBUG && ! JucePlugin_ProducesMidiOutput\r
- const int numMidiEventsComingIn = midiBuffer.getNumEvents ();\r
+ const int numMidiEventsComingIn = midiBuffer.getNumEvents();\r
#endif\r
\r
if (pluginInstance->isSuspended())\r
\r
// Consider yourself very unlucky if you hit this assertion. The hash code of your\r
// parameter ids are not unique.\r
- jassert (! vstParamIDs.contains (static_cast<uint32> (paramID)));\r
+ jassert (! vstParamIDs.contains (static_cast<Vst::ParamID> (paramID)));\r
+\r
\r
vstParamIDs.add (paramID);\r
paramMap.set (static_cast<int32> (paramID), i);\r
\r
ID: juce_audio_plugin_client\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE audio plugin wrapper classes\r
description: Classes for building VST, VST3, AudioUnit, AAX and RTAS plugins.\r
website: http://www.juce.com/juce\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-struct PluginBusUtilities\r
-{\r
- //==============================================================================\r
- typedef Array<AudioProcessor::AudioProcessorBus> AudioBusArray;\r
-\r
- //==============================================================================\r
- PluginBusUtilities (AudioProcessor& plugin, bool markDiscreteLayoutsAsSupported, int maxProbeChannels = kDefaultMaxChannels)\r
- : processor (plugin),\r
- dynamicInBuses (false),\r
- dynamicOutBuses (false),\r
- plugInFormatSupportsDiscreteLayouts (markDiscreteLayoutsAsSupported),\r
- maxChannelsToProbe (maxProbeChannels)\r
- {\r
- }\r
-\r
- // this will invoke setPreferredLayout many times\r
- void init() { populateLayoutDetails(); }\r
-\r
- //==============================================================================\r
- // Useful short-cuts\r
- AudioBusArray& getFilterBus (bool inputBus) noexcept { return inputBus ? processor.busArrangement.inputBuses : processor.busArrangement.outputBuses; }\r
- const AudioBusArray& getFilterBus (bool inputBus) const noexcept { return inputBus ? processor.busArrangement.inputBuses : processor.busArrangement.outputBuses; }\r
- int getBusCount (bool inputBus) const noexcept { return getFilterBus (inputBus).size(); }\r
- AudioChannelSet getChannelSet (bool inp, int bus) noexcept { return isPositiveAndBelow (bus, getBusCount (inp)) ? getFilterBus (inp).getReference (bus).channels : AudioChannelSet(); }\r
- int getNumChannels (bool inp, int bus) const noexcept { return isPositiveAndBelow (bus, getBusCount (inp)) ? getFilterBus (inp).getReference (bus).channels.size() : 0; }\r
- bool isBusEnabled (bool inputBus, int bus) const noexcept { return (getNumChannels (inputBus, bus) > 0); }\r
- bool hasInputs (int bus) const noexcept { return isBusEnabled (true, bus); }\r
- bool hasOutputs (int bus) const noexcept { return isBusEnabled (false, bus); }\r
- bool hasDynamicInBuses() const noexcept { return dynamicInBuses; }\r
- bool hasDynamicOutBuses() const noexcept { return dynamicOutBuses; }\r
-\r
- //==============================================================================\r
- // Channel Counters\r
- int getNumEnabledBuses (bool inputBus) const noexcept { int i; for (i = 0; i < getBusCount (inputBus); ++i) if (! isBusEnabled (inputBus, i)) break; return i; }\r
-\r
- int findTotalNumChannels (bool isInput, int busOffset = 0) const noexcept\r
- {\r
- int total = 0;\r
- const AudioBusArray& ioBuses = getFilterBus (isInput);\r
-\r
- for (int i = busOffset; i < ioBuses.size(); ++i)\r
- total += ioBuses.getReference (i).channels.size();\r
-\r
- return total;\r
- }\r
-\r
- int getBusIdxForChannelIdx (bool isInput, int channelIdx, int& totalChannels, int startBusIdx)\r
- {\r
- const int numBuses = getBusCount (isInput);\r
-\r
- for (int busIdx = startBusIdx; busIdx < numBuses; ++busIdx)\r
- {\r
- const int numChannels = getNumChannels (isInput, busIdx);\r
- if ((totalChannels + numChannels) > channelIdx)\r
- return busIdx;\r
-\r
- totalChannels += numChannels;\r
- }\r
-\r
- return -1;\r
- }\r
-\r
- int getBusIdxForChannelIdx (bool isInput, int channelIdx)\r
- {\r
- int totalChannels = 0;\r
- return getBusIdxForChannelIdx (isInput, channelIdx, totalChannels, 0);\r
- }\r
-\r
- //==============================================================================\r
- // Bus properties & defaults\r
- bool busIgnoresLayout (bool inp, int bus) const noexcept\r
- {\r
- return isPositiveAndBelow (bus, getLayoutDetails (inp).size()) ? getBusLayoutDetails (inp, bus).busIgnoresLayout : true;\r
- }\r
-\r
- bool busCanBeDisabled (bool inp, int bus) const noexcept\r
- {\r
- return isPositiveAndBelow (bus, getLayoutDetails (inp).size()) ? getBusLayoutDetails (inp, bus).canBeDisabled : false;\r
- }\r
-\r
- bool isBusEnabledByDefault (bool inp, int bus) const noexcept\r
- {\r
- return isPositiveAndBelow (bus, getLayoutDetails (inp).size()) ? getBusLayoutDetails (inp, bus).isEnabledByDefault : true;\r
- }\r
-\r
- bool checkBusFormatsAreNotDiscrete() const { return (checkBusFormatsAreNotDiscrete (true) && checkBusFormatsAreNotDiscrete (false)); }\r
-\r
- const AudioChannelSet& getDefaultLayoutForBus (bool isInput, int busIdx) const noexcept { return getBusLayoutDetails (isInput, busIdx).defaultLayout; }\r
-\r
- AudioChannelSet getDefaultLayoutForChannelNumAndBus (bool isInput, int busIdx, int channelNum) const noexcept\r
- {\r
- if (busIdx < 0 || busIdx >= getBusCount (isInput) || channelNum == 0)\r
- return AudioChannelSet::disabled();\r
-\r
- const BusLayoutDetails& layouts = getBusLayoutDetails (isInput, busIdx);\r
-\r
- const AudioChannelSet& dflt = layouts.defaultLayout;\r
- const AudioChannelSet discreteChannels = AudioChannelSet::discreteChannels (channelNum);\r
-\r
- if (dflt.size() == channelNum && (plugInFormatSupportsDiscreteLayouts || (! dflt.isDiscreteLayout())))\r
- return dflt;\r
-\r
- Array<AudioChannelSet> potentialLayouts = layoutListCompatibleWithChannelCount (channelNum);\r
-\r
- ScopedBusRestorer busRestorer (*this);\r
-\r
- // prefer non-discrete layouts if no explicit default layout is given\r
- const int n = potentialLayouts.size();\r
- for (int i = 0; i < n; ++i)\r
- {\r
- const AudioChannelSet& layout = potentialLayouts.getReference (i);\r
- if (processor.setPreferredBusArrangement (isInput, busIdx, layout))\r
- return layout;\r
- }\r
-\r
-\r
- if (plugInFormatSupportsDiscreteLayouts && processor.setPreferredBusArrangement (isInput, busIdx, discreteChannels))\r
- return discreteChannels;\r
-\r
- // we are out of options, bail out\r
- return AudioChannelSet();\r
- }\r
-\r
- //==============================================================================\r
- // This function is quite heavy so please cache the return value\r
- int findMaxNumberOfChannelsForBus (bool isInput, int busNr, int upperlimit = std::numeric_limits<int>::max())\r
- {\r
- int maxChannelsPreprocessorDefs = -1;\r
- #ifdef JucePlugin_MaxNumInputChannels\r
- if (isInput)\r
- maxChannelsPreprocessorDefs = jmin (upperlimit, JucePlugin_MaxNumInputChannels);\r
- #endif\r
-\r
- #ifdef JucePlugin_MaxNumOutputChannels\r
- if (! isInput)\r
- maxChannelsPreprocessorDefs = jmin (upperlimit, JucePlugin_MaxNumOutputChannels);\r
- #endif\r
-\r
- #ifdef JucePlugin_PreferredChannelConfigurations\r
- if (busNr == 0)\r
- {\r
- int maxChannelCount = 0;\r
- const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurations };\r
- const int numChannelConfigs = sizeof (channelConfigs) / sizeof (*channelConfigs);\r
-\r
- for (int i = 0; i < numChannelConfigs; ++i)\r
- {\r
- const int numChannels = channelConfigs [i][isInput ? 0 : 1];\r
- if (numChannels < 0)\r
- return -1;\r
-\r
- maxChannelCount = jmax (maxChannelCount, numChannels);\r
- }\r
-\r
- return jmin (upperlimit, maxChannelCount);\r
- }\r
- #endif\r
-\r
- ScopedBusRestorer busRestorer (*this);\r
-\r
- if (plugInFormatSupportsDiscreteLayouts &&\r
- processor.setPreferredBusArrangement(isInput, busNr, AudioChannelSet::discreteChannels (insaneNumberOfChannels)))\r
- return -1; // no limit in channels\r
-\r
- int n = maxChannelsPreprocessorDefs > 0 ? maxChannelsPreprocessorDefs\r
- : (plugInFormatSupportsDiscreteLayouts ? maxChannelsToProbe\r
- : maxNumChannelsOfNonDiscreteLayouts);\r
-\r
- n = jmin (upperlimit, n);\r
-\r
- for (int i = n; i > 0; --i)\r
- {\r
- if (plugInFormatSupportsDiscreteLayouts && processor.setPreferredBusArrangement (isInput, busNr, AudioChannelSet::discreteChannels (i)))\r
- return i;\r
-\r
- Array<AudioChannelSet> sets = layoutListCompatibleWithChannelCount (i);\r
-\r
- for (int j = 0; j < sets.size(); ++j)\r
- {\r
- const AudioChannelSet& layout = sets.getReference (j);\r
-\r
- if (processor.setPreferredBusArrangement (isInput, busNr, layout))\r
- return i;\r
- }\r
- }\r
-\r
- return 0;\r
- }\r
-\r
- //==============================================================================\r
- void restoreBusArrangement (const AudioProcessor::AudioBusArrangement& original) const\r
- {\r
- const int numInputBuses = getBusCount (true);\r
- const int numOutputBuses = getBusCount (false);\r
-\r
- jassert (original.inputBuses. size() == numInputBuses);\r
- jassert (original.outputBuses.size() == numOutputBuses);\r
-\r
- for (int busNr = 0; busNr < numInputBuses; ++busNr)\r
- processor.setPreferredBusArrangement (true, busNr, original.inputBuses.getReference (busNr).channels);\r
-\r
- for (int busNr = 0; busNr < numOutputBuses; ++busNr)\r
- processor.setPreferredBusArrangement (false, busNr, original.outputBuses.getReference (busNr).channels);\r
- }\r
-\r
- void enableAllBuses()\r
- {\r
- for (int busIdx = 1; busIdx < getBusCount (true); ++busIdx)\r
- if (getChannelSet (true, busIdx) == AudioChannelSet::disabled())\r
- processor.setPreferredBusArrangement (true, busIdx, getDefaultLayoutForBus (true, busIdx));\r
-\r
- for (int busIdx = 1; busIdx < getBusCount (false); ++busIdx)\r
- if (getChannelSet (false, busIdx) == AudioChannelSet::disabled())\r
- processor.setPreferredBusArrangement (false, busIdx, getDefaultLayoutForBus (false, busIdx));\r
- }\r
-\r
- //==============================================================================\r
- // Helper class which restores the original arrangement when it leaves scope\r
- class ScopedBusRestorer\r
- {\r
- public:\r
- ScopedBusRestorer (const PluginBusUtilities& bUtils)\r
- : busUtils (bUtils),\r
- originalArr (bUtils.processor.busArrangement),\r
- shouldRestore (true)\r
- {}\r
-\r
- ~ScopedBusRestorer()\r
- {\r
- if (shouldRestore)\r
- busUtils.restoreBusArrangement (originalArr);\r
- }\r
-\r
- void release() noexcept { shouldRestore = false; }\r
-\r
- private:\r
- const PluginBusUtilities& busUtils;\r
- const AudioProcessor::AudioBusArrangement originalArr;\r
- bool shouldRestore;\r
-\r
- JUCE_DECLARE_NON_COPYABLE (ScopedBusRestorer)\r
- };\r
-\r
- //==============================================================================\r
- AudioProcessor& processor;\r
-\r
- enum\r
- {\r
- kDefaultMaxChannels = 64\r
- };\r
-\r
-private:\r
- friend class ScopedBusRestorer;\r
-\r
- enum\r
- {\r
- maxNumChannelsOfNonDiscreteLayouts = 8, // surround 7.1 has the maximum amount of channels\r
- pseudoChannelBitNum = 90, // use this bit index to check if plug-in really doesn't care about layouts\r
- insaneNumberOfChannels = 512\r
- };\r
-\r
- //==============================================================================\r
- // the first layout is the default layout\r
- struct BusLayoutDetails\r
- {\r
- BusLayoutDetails() : busIgnoresLayout (true), canBeDisabled (false), isEnabledByDefault (false) {}\r
-\r
- AudioChannelSet defaultLayout;\r
- bool busIgnoresLayout, canBeDisabled, isEnabledByDefault;\r
- };\r
-\r
- Array<BusLayoutDetails>& getLayoutDetails (bool isInput) noexcept { return isInput ? inputLayouts : outputLayouts; }\r
- const Array<BusLayoutDetails>& getLayoutDetails (bool isInput) const noexcept { return isInput ? inputLayouts : outputLayouts; }\r
- BusLayoutDetails& getBusLayoutDetails (bool isInput, int busNr) noexcept { return getLayoutDetails (isInput).getReference (busNr); }\r
- const BusLayoutDetails& getBusLayoutDetails (bool isInput, int busNr) const noexcept { return getLayoutDetails (isInput).getReference (busNr); }\r
-\r
- //==============================================================================\r
- Array<BusLayoutDetails> inputLayouts, outputLayouts;\r
- bool dynamicInBuses, dynamicOutBuses, plugInFormatSupportsDiscreteLayouts;\r
- int maxChannelsToProbe;\r
-\r
- //==============================================================================\r
- void populateLayoutDetails()\r
- {\r
- clear (getBusCount (true), getBusCount (false));\r
-\r
- // save the default layouts\r
- for (int i = 0; i < getBusCount (true); ++i)\r
- getBusLayoutDetails (true, i).defaultLayout = getChannelSet (true, i);\r
-\r
- for (int i = 0; i < getBusCount (false); ++i)\r
- getBusLayoutDetails (false, i).defaultLayout = getChannelSet (false, i);\r
-\r
- {\r
- ScopedBusRestorer restorer (*this);\r
-\r
-\r
- for (int i = 0; i < getBusCount (true); ++i) addLayoutDetails (true, i);\r
- for (int i = 0; i < getBusCount (false); ++i) addLayoutDetails (false, i);\r
-\r
- // find the defaults\r
- for (int i = 0; i < getBusCount (true); ++i)\r
- updateDefaultLayout (true, i);\r
-\r
- for (int i = 0; i < getBusCount (false); ++i)\r
- updateDefaultLayout (false, i);\r
- }\r
-\r
- // can any of the buses be disabled/enabled\r
- dynamicInBuses = doesPlugInHaveDynamicBuses (true);\r
- dynamicOutBuses = doesPlugInHaveDynamicBuses (false);\r
- }\r
-\r
- //==============================================================================\r
- bool busIgnoresLayoutForChannelNum (bool isInput, int busNr, int channelNum)\r
- {\r
- AudioChannelSet set;\r
-\r
- // If the plug-in does not complain about setting it's layout to an undefined layout\r
- // then we assume that the plug-in ignores the layout altogether\r
- for (int i = 0; i < channelNum; ++i)\r
- set.addChannel (static_cast<AudioChannelSet::ChannelType> (pseudoChannelBitNum + i));\r
-\r
- return processor.setPreferredBusArrangement (isInput, busNr, set);\r
- }\r
-\r
- void addLayoutDetails (bool isInput, int busNr)\r
- {\r
- BusLayoutDetails& layouts = getBusLayoutDetails (isInput, busNr);\r
-\r
- // check if the plug-in bus can be disabled\r
- layouts.canBeDisabled = processor.setPreferredBusArrangement (isInput, busNr, AudioChannelSet());\r
- layouts.busIgnoresLayout = true;\r
-\r
- for (int i = 1; i <= maxNumChannelsOfNonDiscreteLayouts; ++i)\r
- {\r
- const bool ignoresLayoutForChannel = busIgnoresLayoutForChannelNum (isInput, busNr, i);\r
-\r
- Array<AudioChannelSet> sets = layoutListCompatibleWithChannelCount (i);\r
-\r
- for (int j = 0; j < sets.size(); ++j)\r
- {\r
- const AudioChannelSet& layout = sets.getReference (j);\r
-\r
- if (processor.setPreferredBusArrangement (isInput, busNr, layout))\r
- {\r
- if (! ignoresLayoutForChannel)\r
- {\r
- layouts.busIgnoresLayout = false;\r
- return;\r
- }\r
- }\r
- }\r
- }\r
- }\r
-\r
- bool doesPlugInHaveDynamicBuses (bool isInput) const\r
- {\r
- for (int i = 0; i < getBusCount (isInput); ++i)\r
- if (getBusLayoutDetails (isInput, i).canBeDisabled)\r
- return true;\r
-\r
- return false;\r
- }\r
-\r
- bool checkBusFormatsAreNotDiscrete (bool isInput) const\r
- {\r
- const int n = getBusCount (isInput);\r
- const Array<AudioProcessor::AudioProcessorBus>& bus = isInput ? processor.busArrangement.inputBuses\r
- : processor.busArrangement.outputBuses;\r
-\r
- for (int busIdx = 0; busIdx < n; ++busIdx)\r
- if (bus.getReference (busIdx).channels.isDiscreteLayout())\r
- return false;\r
-\r
- return true;\r
- }\r
-\r
- void updateDefaultLayout (bool isInput, int busIdx)\r
- {\r
- BusLayoutDetails& layouts = getBusLayoutDetails (isInput, busIdx);\r
- AudioChannelSet& dfltLayout = layouts.defaultLayout;\r
-\r
- layouts.isEnabledByDefault = (dfltLayout.size() > 0);\r
-\r
- // If you hit this assertion then you are disabling the main bus by default\r
- // which is unsupported\r
- jassert (layouts.isEnabledByDefault || busIdx >= 0);\r
-\r
- if ((! plugInFormatSupportsDiscreteLayouts) && dfltLayout.isDiscreteLayout())\r
- {\r
- // The default layout is a discrete channel layout, yet some plug-in formats (VST-3)\r
- // do not support this format. We need to find a different default with the same\r
- // number of channels\r
-\r
- dfltLayout = getDefaultLayoutForChannelNumAndBus (isInput, busIdx, dfltLayout.size());\r
- }\r
-\r
- // are we done?\r
- if (dfltLayout != AudioChannelSet())\r
- return;\r
-\r
- const bool mainBusHasInputs = hasInputs (0);\r
- const bool mainBusHasOutputs = hasOutputs (0);\r
-\r
- if (busIdx != 0 && (mainBusHasInputs || mainBusHasOutputs))\r
- {\r
- // the AudioProcessor does not give us any default layout\r
- // for an aux bus. Use the same number of channels as the\r
- // default layout on the main bus as a sensible default for\r
- // the aux bus\r
-\r
- const bool useInput = mainBusHasInputs && mainBusHasOutputs ? isInput : mainBusHasInputs;\r
- dfltLayout = getBusLayoutDetails (useInput, 0).defaultLayout;\r
-\r
- const int numChannels = dfltLayout.size();\r
- const AudioChannelSet discreteChannelLayout = AudioChannelSet::discreteChannels (numChannels);\r
-\r
- if ((plugInFormatSupportsDiscreteLayouts || dfltLayout != discreteChannelLayout) &&\r
- processor.setPreferredBusArrangement (isInput, busIdx, dfltLayout))\r
- return;\r
-\r
- // no exact match: try at least to match the number of channels\r
- dfltLayout = getDefaultLayoutForChannelNumAndBus (isInput, busIdx, dfltLayout.size());\r
- if (dfltLayout != AudioChannelSet())\r
- return;\r
- }\r
-\r
- // check stereo first as this is often the more sensible default than mono\r
- if (processor.setPreferredBusArrangement (isInput, busIdx, (dfltLayout = AudioChannelSet::stereo())))\r
- return;\r
-\r
- if (plugInFormatSupportsDiscreteLayouts &&\r
- processor.setPreferredBusArrangement (isInput, busIdx, (dfltLayout = AudioChannelSet::discreteChannels (2))))\r
- return;\r
-\r
- // let's guess\r
- for (int numChans = 1; numChans < findMaxNumberOfChannelsForBus (isInput, busIdx); ++numChans)\r
- {\r
- Array<AudioChannelSet> sets = layoutListCompatibleWithChannelCount (numChans);\r
- for (int j = 0; j < sets.size(); ++j)\r
- if (processor.setPreferredBusArrangement (isInput, busIdx, (dfltLayout = sets.getReference (j))))\r
- return;\r
-\r
- if (plugInFormatSupportsDiscreteLayouts &&\r
- processor.setPreferredBusArrangement (isInput, busIdx, (dfltLayout = AudioChannelSet::discreteChannels (numChans))))\r
- return;\r
- }\r
-\r
- // Your bus must support at least a single possible layout\r
- jassertfalse;\r
- }\r
-\r
- void clear (int inputCount, int outputCount)\r
- {\r
- inputLayouts.clear();\r
- inputLayouts.resize (inputCount);\r
- outputLayouts.clear();\r
- outputLayouts.resize (outputCount);\r
- }\r
-\r
- //==============================================================================\r
- static Array<AudioChannelSet> layoutListCompatibleWithChannelCount (const int channelCount) noexcept\r
- {\r
- jassert (channelCount > 0);\r
-\r
- Array<AudioChannelSet> sets;\r
-\r
- switch (channelCount)\r
- {\r
- case 1:\r
- sets.add (AudioChannelSet::mono());\r
- break;\r
- case 2:\r
- sets.add (AudioChannelSet::stereo());\r
- break;\r
- case 3:\r
- sets.add (AudioChannelSet::createLCR());\r
- sets.add (AudioChannelSet::createLRS());\r
- break;\r
- case 4:\r
- sets.add (AudioChannelSet::createLCRS());\r
- sets.add (AudioChannelSet::quadraphonic());\r
- sets.add (AudioChannelSet::ambisonic());\r
- break;\r
- case 5:\r
- sets.add (AudioChannelSet::pentagonal());\r
- sets.add (AudioChannelSet::create5point0());\r
- break;\r
- case 6:\r
- sets.add (AudioChannelSet::hexagonal());\r
- sets.add (AudioChannelSet::create5point1());\r
- sets.add (AudioChannelSet::create6point0());\r
- sets.add (AudioChannelSet::create6point0Music());\r
- break;\r
- case 7:\r
- sets.add (AudioChannelSet::create6point1());\r
- sets.add (AudioChannelSet::create7point0());\r
- break;\r
- case 8:\r
- sets.add (AudioChannelSet::octagonal());\r
- sets.add (AudioChannelSet::create7point1());\r
- sets.add (AudioChannelSet::create7point1AC3());\r
- sets.add (AudioChannelSet::createFront7point1());\r
- break;\r
- }\r
-\r
- return sets;\r
- }\r
-\r
- JUCE_DECLARE_NON_COPYABLE (PluginBusUtilities)\r
-};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+// This macro can be set if you need to override this internal name for some reason..\r
+#ifndef JUCE_STATE_DICTIONARY_KEY\r
+ #define JUCE_STATE_DICTIONARY_KEY "jucePluginState"\r
+#endif\r
+\r
+struct AudioUnitHelpers\r
+{\r
+ // maps a channel index into an AU format to an index of a juce format\r
+ struct AUChannelStreamOrder\r
+ {\r
+ AudioChannelLayoutTag auLayoutTag;\r
+ AudioChannelSet::ChannelType speakerOrder[8];\r
+ };\r
+\r
+ struct StreamOrder : public AudioChannelSet\r
+ {\r
+ static AUChannelStreamOrder auChannelStreamOrder[];\r
+ };\r
+\r
+ static AudioChannelSet::ChannelType CoreAudioChannelLabelToJuceType (AudioChannelLabel label) noexcept\r
+ {\r
+ if (label >= kAudioChannelLabel_Discrete_0 && label <= kAudioChannelLabel_Discrete_65535)\r
+ {\r
+ const unsigned int discreteChannelNum = label - kAudioChannelLabel_Discrete_0;\r
+ return static_cast<AudioChannelSet::ChannelType> (AudioChannelSet::discreteChannel0 + discreteChannelNum);\r
+ }\r
+\r
+ switch (label)\r
+ {\r
+ case kAudioChannelLabel_Center:\r
+ case kAudioChannelLabel_Mono: return AudioChannelSet::centre;\r
+ case kAudioChannelLabel_Left:\r
+ case kAudioChannelLabel_HeadphonesLeft: return AudioChannelSet::left;\r
+ case kAudioChannelLabel_Right:\r
+ case kAudioChannelLabel_HeadphonesRight: return AudioChannelSet::right;\r
+ case kAudioChannelLabel_LFEScreen: return AudioChannelSet::LFE;\r
+ case kAudioChannelLabel_LeftSurround: return AudioChannelSet::leftSurround;\r
+ case kAudioChannelLabel_RightSurround: return AudioChannelSet::rightSurround;\r
+ case kAudioChannelLabel_LeftCenter: return AudioChannelSet::leftCentre;\r
+ case kAudioChannelLabel_RightCenter: return AudioChannelSet::rightCentre;\r
+ case kAudioChannelLabel_CenterSurround: return AudioChannelSet::surround;\r
+ case kAudioChannelLabel_LeftSurroundDirect: return AudioChannelSet::leftSurroundSide;\r
+ case kAudioChannelLabel_RightSurroundDirect: return AudioChannelSet::rightSurroundSide;\r
+ case kAudioChannelLabel_TopCenterSurround: return AudioChannelSet::topMiddle;\r
+ case kAudioChannelLabel_VerticalHeightLeft: return AudioChannelSet::topFrontLeft;\r
+ case kAudioChannelLabel_VerticalHeightRight: return AudioChannelSet::topFrontRight;\r
+ case kAudioChannelLabel_VerticalHeightCenter: return AudioChannelSet::topFrontCentre;\r
+ case kAudioChannelLabel_TopBackLeft: return AudioChannelSet::topRearLeft;\r
+ case kAudioChannelLabel_RearSurroundLeft: return AudioChannelSet::leftSurroundRear;\r
+ case kAudioChannelLabel_TopBackRight: return AudioChannelSet::topRearRight;\r
+ case kAudioChannelLabel_RearSurroundRight: return AudioChannelSet::rightSurroundRear;\r
+ case kAudioChannelLabel_TopBackCenter: return AudioChannelSet::topRearCentre;\r
+ case kAudioChannelLabel_LFE2: return AudioChannelSet::LFE2;\r
+ case kAudioChannelLabel_LeftWide: return AudioChannelSet::wideLeft;\r
+ case kAudioChannelLabel_RightWide: return AudioChannelSet::wideRight;\r
+ case kAudioChannelLabel_Ambisonic_W: return AudioChannelSet::ambisonicW;\r
+ case kAudioChannelLabel_Ambisonic_X: return AudioChannelSet::ambisonicX;\r
+ case kAudioChannelLabel_Ambisonic_Y: return AudioChannelSet::ambisonicY;\r
+ case kAudioChannelLabel_Ambisonic_Z: return AudioChannelSet::ambisonicZ;\r
+ default: return AudioChannelSet::unknown;\r
+ }\r
+ }\r
+\r
+ static AudioChannelLabel JuceChannelTypeToCoreAudioLabel (const AudioChannelSet::ChannelType& label) noexcept\r
+ {\r
+ if (label >= AudioChannelSet::discreteChannel0)\r
+ {\r
+ const unsigned int discreteChannelNum = label - AudioChannelSet::discreteChannel0;;\r
+ return static_cast<AudioChannelLabel> (kAudioChannelLabel_Discrete_0 + discreteChannelNum);\r
+ }\r
+\r
+ switch (label)\r
+ {\r
+ case AudioChannelSet::centre: return kAudioChannelLabel_Center;\r
+ case AudioChannelSet::left: return kAudioChannelLabel_Left;\r
+ case AudioChannelSet::right: return kAudioChannelLabel_Right;\r
+ case AudioChannelSet::LFE: return kAudioChannelLabel_LFEScreen;\r
+ case AudioChannelSet::leftSurroundRear: return kAudioChannelLabel_RearSurroundLeft;\r
+ case AudioChannelSet::rightSurroundRear: return kAudioChannelLabel_RearSurroundRight;\r
+ case AudioChannelSet::leftCentre: return kAudioChannelLabel_LeftCenter;\r
+ case AudioChannelSet::rightCentre: return kAudioChannelLabel_RightCenter;\r
+ case AudioChannelSet::surround: return kAudioChannelLabel_CenterSurround;\r
+ case AudioChannelSet::leftSurround: return kAudioChannelLabel_LeftSurround;\r
+ case AudioChannelSet::rightSurround: return kAudioChannelLabel_RightSurround;\r
+ case AudioChannelSet::topMiddle: return kAudioChannelLabel_TopCenterSurround;\r
+ case AudioChannelSet::topFrontLeft: return kAudioChannelLabel_VerticalHeightLeft;\r
+ case AudioChannelSet::topFrontRight: return kAudioChannelLabel_VerticalHeightRight;\r
+ case AudioChannelSet::topFrontCentre: return kAudioChannelLabel_VerticalHeightCenter;\r
+ case AudioChannelSet::topRearLeft: return kAudioChannelLabel_TopBackLeft;\r
+ case AudioChannelSet::topRearRight: return kAudioChannelLabel_TopBackRight;\r
+ case AudioChannelSet::topRearCentre: return kAudioChannelLabel_TopBackCenter;\r
+ case AudioChannelSet::LFE2: return kAudioChannelLabel_LFE2;\r
+ case AudioChannelSet::wideLeft: return kAudioChannelLabel_LeftWide;\r
+ case AudioChannelSet::wideRight: return kAudioChannelLabel_RightWide;\r
+ case AudioChannelSet::ambisonicW: return kAudioChannelLabel_Ambisonic_W;\r
+ case AudioChannelSet::ambisonicX: return kAudioChannelLabel_Ambisonic_X;\r
+ case AudioChannelSet::ambisonicY: return kAudioChannelLabel_Ambisonic_Y;\r
+ case AudioChannelSet::ambisonicZ: return kAudioChannelLabel_Ambisonic_Z;\r
+ case AudioChannelSet::leftSurroundSide: return kAudioChannelLabel_LeftSurroundDirect;\r
+ case AudioChannelSet::rightSurroundSide: return kAudioChannelLabel_RightSurroundDirect;\r
+ case AudioChannelSet::unknown: return kAudioChannelLabel_Unknown;\r
+ case AudioChannelSet::discreteChannel0: return kAudioChannelLabel_Discrete_0;\r
+ }\r
+\r
+ return kAudioChannelLabel_Unknown;\r
+ }\r
+\r
+ static AudioChannelSet CoreAudioChannelBitmapToJuceType (UInt32 bitmap) noexcept\r
+ {\r
+ AudioChannelSet set;\r
+\r
+ if ((bitmap & kAudioChannelBit_Left) != 0) set.addChannel (AudioChannelSet::left);\r
+ if ((bitmap & kAudioChannelBit_Right) != 0) set.addChannel (AudioChannelSet::right);\r
+ if ((bitmap & kAudioChannelBit_Center) != 0) set.addChannel (AudioChannelSet::centre);\r
+ if ((bitmap & kAudioChannelBit_LFEScreen) != 0) set.addChannel (AudioChannelSet::LFE);\r
+ if ((bitmap & kAudioChannelBit_LeftSurroundDirect) != 0) set.addChannel (AudioChannelSet::leftSurroundSide);\r
+ if ((bitmap & kAudioChannelBit_RightSurroundDirect) != 0) set.addChannel (AudioChannelSet::rightSurroundSide);\r
+ if ((bitmap & kAudioChannelBit_LeftCenter) != 0) set.addChannel (AudioChannelSet::leftCentre);\r
+ if ((bitmap & kAudioChannelBit_RightCenter) != 0) set.addChannel (AudioChannelSet::rightCentre);\r
+ if ((bitmap & kAudioChannelBit_CenterSurround) != 0) set.addChannel (AudioChannelSet::surround);\r
+ if ((bitmap & kAudioChannelBit_LeftSurround) != 0) set.addChannel (AudioChannelSet::leftSurround);\r
+ if ((bitmap & kAudioChannelBit_RightSurround) != 0) set.addChannel (AudioChannelSet::rightSurround);\r
+ if ((bitmap & kAudioChannelBit_TopCenterSurround) != 0) set.addChannel (AudioChannelSet::topMiddle);\r
+ if ((bitmap & kAudioChannelBit_VerticalHeightLeft) != 0) set.addChannel (AudioChannelSet::topFrontLeft);\r
+ if ((bitmap & kAudioChannelBit_VerticalHeightCenter) != 0) set.addChannel (AudioChannelSet::topFrontCentre);\r
+ if ((bitmap & kAudioChannelBit_VerticalHeightRight) != 0) set.addChannel (AudioChannelSet::topFrontRight);\r
+ if ((bitmap & kAudioChannelBit_TopBackLeft) != 0) set.addChannel (AudioChannelSet::topRearLeft);\r
+ if ((bitmap & kAudioChannelBit_TopBackCenter) != 0) set.addChannel (AudioChannelSet::topRearCentre);\r
+ if ((bitmap & kAudioChannelBit_TopBackRight) != 0) set.addChannel (AudioChannelSet::topRearRight);\r
+\r
+ return set;\r
+ }\r
+\r
+ static AudioChannelSet CoreAudioChannelLayoutToJuceType (const AudioChannelLayout& layout) noexcept\r
+ {\r
+ const AudioChannelLayoutTag tag = layout.mChannelLayoutTag;\r
+\r
+ if (tag == kAudioChannelLayoutTag_UseChannelBitmap) return CoreAudioChannelBitmapToJuceType (layout.mChannelBitmap);\r
+ if (tag == kAudioChannelLayoutTag_UseChannelDescriptions)\r
+ {\r
+ if (layout.mNumberChannelDescriptions <= 8)\r
+ {\r
+ // first try to convert the layout via the auChannelStreamOrder array\r
+ int layoutIndex;\r
+ for (layoutIndex = 0; StreamOrder::auChannelStreamOrder[layoutIndex].auLayoutTag != 0; ++layoutIndex)\r
+ {\r
+ const AUChannelStreamOrder& streamOrder = StreamOrder::auChannelStreamOrder[layoutIndex];\r
+\r
+ int numChannels;\r
+ for (numChannels = 0; numChannels < 8 && streamOrder.speakerOrder[numChannels] != 0;)\r
+ ++numChannels;\r
+\r
+ if (numChannels != (int) layout.mNumberChannelDescriptions)\r
+ continue;\r
+\r
+ int ch;\r
+ for (ch = 0; ch < numChannels; ++ch)\r
+ if (JuceChannelTypeToCoreAudioLabel (streamOrder.speakerOrder[ch]) != layout.mChannelDescriptions[ch].mChannelLabel)\r
+ break;\r
+\r
+ // match!\r
+ if (ch == numChannels)\r
+ break;\r
+ }\r
+\r
+ if (StreamOrder::auChannelStreamOrder[layoutIndex].auLayoutTag != 0)\r
+ return CALayoutTagToChannelSet (StreamOrder::auChannelStreamOrder[layoutIndex].auLayoutTag);\r
+ }\r
+ AudioChannelSet set;\r
+ for (unsigned int i = 0; i < layout.mNumberChannelDescriptions; ++i)\r
+ set.addChannel (CoreAudioChannelLabelToJuceType (layout.mChannelDescriptions[i].mChannelLabel));\r
+\r
+ return set;\r
+ }\r
+\r
+ return CALayoutTagToChannelSet (tag);\r
+ }\r
+\r
+ static AudioChannelSet CALayoutTagToChannelSet (AudioChannelLayoutTag tag) noexcept\r
+ {\r
+ switch (tag)\r
+ {\r
+ case kAudioChannelLayoutTag_Unknown: return AudioChannelSet::disabled();\r
+ case kAudioChannelLayoutTag_Mono: return AudioChannelSet::mono();\r
+ case kAudioChannelLayoutTag_Stereo:\r
+ case kAudioChannelLayoutTag_StereoHeadphones:\r
+ case kAudioChannelLayoutTag_Binaural: return AudioChannelSet::stereo();\r
+ case kAudioChannelLayoutTag_Quadraphonic: return AudioChannelSet::quadraphonic();\r
+ case kAudioChannelLayoutTag_Pentagonal: return AudioChannelSet::pentagonal();\r
+ case kAudioChannelLayoutTag_Hexagonal: return AudioChannelSet::hexagonal();\r
+ case kAudioChannelLayoutTag_Octagonal: return AudioChannelSet::octagonal();\r
+ case kAudioChannelLayoutTag_Ambisonic_B_Format: return AudioChannelSet::ambisonic();\r
+ case kAudioChannelLayoutTag_AudioUnit_6_0: return AudioChannelSet::create6point0();\r
+ case kAudioChannelLayoutTag_DTS_6_0_A: return AudioChannelSet::create6point0Music();\r
+ case kAudioChannelLayoutTag_MPEG_6_1_A: return AudioChannelSet::create6point1();\r
+ case kAudioChannelLayoutTag_DTS_6_1_A: return AudioChannelSet::create6point1Music();\r
+ case kAudioChannelLayoutTag_MPEG_5_0_B:\r
+ case kAudioChannelLayoutTag_MPEG_5_0_A:\r
+ return AudioChannelSet::create5point0();\r
+ case kAudioChannelLayoutTag_MPEG_5_1_A: return AudioChannelSet::create5point1();\r
+ case kAudioChannelLayoutTag_DTS_7_1:\r
+ case kAudioChannelLayoutTag_AudioUnit_7_0: return AudioChannelSet::create7point0();\r
+ case kAudioChannelLayoutTag_AudioUnit_7_0_Front: return AudioChannelSet::create7point0SDDS();\r
+ case kAudioChannelLayoutTag_MPEG_7_1_A: return AudioChannelSet::create7point1SDDS();\r
+ case kAudioChannelLayoutTag_MPEG_3_0_A:\r
+ case kAudioChannelLayoutTag_MPEG_3_0_B: return AudioChannelSet::createLCR();\r
+ case kAudioChannelLayoutTag_MPEG_4_0_A:\r
+ case kAudioChannelLayoutTag_MPEG_4_0_B: return AudioChannelSet::createLCRS();\r
+ case kAudioChannelLayoutTag_ITU_2_1: return AudioChannelSet::createLRS();\r
+ case kAudioChannelLayoutTag_MPEG_7_1_C: return AudioChannelSet::create7point1();\r
+ }\r
+\r
+ if (int numChannels = static_cast<int> (tag) & 0xffff)\r
+ return AudioChannelSet::discreteChannels (numChannels);\r
+\r
+ // Bitmap and channel description array layout tags are currently unsupported :-(\r
+ jassertfalse;\r
+ return AudioChannelSet();\r
+ }\r
+\r
+ static AudioChannelLayoutTag ChannelSetToCALayoutTag (const AudioChannelSet& set) noexcept\r
+ {\r
+ if (set == AudioChannelSet::mono()) return kAudioChannelLayoutTag_Mono;\r
+ if (set == AudioChannelSet::stereo()) return kAudioChannelLayoutTag_Stereo;\r
+ if (set == AudioChannelSet::createLCR()) return kAudioChannelLayoutTag_MPEG_3_0_A;\r
+ if (set == AudioChannelSet::createLRS()) return kAudioChannelLayoutTag_ITU_2_1;\r
+ if (set == AudioChannelSet::createLCRS()) return kAudioChannelLayoutTag_MPEG_4_0_A;\r
+ if (set == AudioChannelSet::quadraphonic()) return kAudioChannelLayoutTag_Quadraphonic;\r
+ if (set == AudioChannelSet::pentagonal()) return kAudioChannelLayoutTag_Pentagonal;\r
+ if (set == AudioChannelSet::hexagonal()) return kAudioChannelLayoutTag_Hexagonal;\r
+ if (set == AudioChannelSet::octagonal()) return kAudioChannelLayoutTag_Octagonal;\r
+ if (set == AudioChannelSet::ambisonic()) return kAudioChannelLayoutTag_Ambisonic_B_Format;\r
+ if (set == AudioChannelSet::create5point0()) return kAudioChannelLayoutTag_MPEG_5_0_A;\r
+ if (set == AudioChannelSet::create5point1()) return kAudioChannelLayoutTag_MPEG_5_1_A;\r
+ if (set == AudioChannelSet::create6point0()) return kAudioChannelLayoutTag_AudioUnit_6_0;\r
+ if (set == AudioChannelSet::create6point0Music()) return kAudioChannelLayoutTag_DTS_6_0_A;\r
+ if (set == AudioChannelSet::create6point1Music()) return kAudioChannelLayoutTag_DTS_6_1_A;\r
+ if (set == AudioChannelSet::create6point1()) return kAudioChannelLayoutTag_MPEG_6_1_A;\r
+ if (set == AudioChannelSet::create7point0()) return kAudioChannelLayoutTag_AudioUnit_7_0;\r
+ if (set == AudioChannelSet::create7point1()) return kAudioChannelLayoutTag_MPEG_7_1_C;\r
+ if (set == AudioChannelSet::create7point0SDDS()) return kAudioChannelLayoutTag_AudioUnit_7_0_Front;\r
+ if (set == AudioChannelSet::create7point1SDDS()) return kAudioChannelLayoutTag_MPEG_7_1_A;\r
+ if (set == AudioChannelSet::disabled()) return kAudioChannelLayoutTag_Unknown;\r
+\r
+ return static_cast<AudioChannelLayoutTag> ((int) kAudioChannelLayoutTag_DiscreteInOrder | set.size());\r
+ }\r
+\r
+ static int auChannelIndexToJuce (int auIndex, const AudioChannelSet& channelSet)\r
+ {\r
+ if (auIndex >= 8) return auIndex;\r
+\r
+ AudioChannelLayoutTag currentLayout = ChannelSetToCALayoutTag (channelSet);\r
+\r
+ int layoutIndex;\r
+ for (layoutIndex = 0; StreamOrder::auChannelStreamOrder[layoutIndex].auLayoutTag != currentLayout; ++layoutIndex)\r
+ if (StreamOrder::auChannelStreamOrder[layoutIndex].auLayoutTag == 0) return auIndex;\r
+\r
+ AudioChannelSet::ChannelType channelType\r
+ = StreamOrder::auChannelStreamOrder[layoutIndex].speakerOrder[auIndex];\r
+\r
+ const int juceIndex = channelSet.getChannelTypes().indexOf (channelType);\r
+\r
+ jassert (juceIndex >= 0);\r
+ return juceIndex >= 0 ? juceIndex : auIndex;\r
+ }\r
+\r
+ static int juceChannelIndexToAu (int juceIndex, const AudioChannelSet& channelSet)\r
+ {\r
+ if (channelSet.isDiscreteLayout())\r
+ return juceIndex;\r
+\r
+ AudioChannelLayoutTag currentLayout = ChannelSetToCALayoutTag (channelSet);\r
+\r
+ int layoutIndex;\r
+ for (layoutIndex = 0; StreamOrder::auChannelStreamOrder[layoutIndex].auLayoutTag != currentLayout; ++layoutIndex)\r
+ {\r
+ if (StreamOrder::auChannelStreamOrder[layoutIndex].auLayoutTag == 0)\r
+ {\r
+ jassertfalse;\r
+ return juceIndex;\r
+ }\r
+ }\r
+\r
+ const AUChannelStreamOrder& channelOrder = StreamOrder::auChannelStreamOrder[layoutIndex];\r
+ AudioChannelSet::ChannelType channelType = channelSet.getTypeOfChannel (juceIndex);\r
+\r
+ for (int i = 0; i < 8 && channelOrder.speakerOrder[i] != 0; ++i)\r
+ if (channelOrder.speakerOrder[i] == channelType)\r
+ return i;\r
+\r
+ jassertfalse;\r
+ return juceIndex;\r
+ }\r
+\r
+ class ChannelRemapper\r
+ {\r
+ public:\r
+ ChannelRemapper (AudioProcessor& p) : processor (p), inputLayoutMap (nullptr), outputLayoutMap (nullptr) {}\r
+ ~ChannelRemapper() {}\r
+\r
+ void alloc()\r
+ {\r
+ const int numInputBuses = processor.getBusCount (true);\r
+ const int numOutputBuses = processor.getBusCount (false);\r
+\r
+ initializeChannelMapArray (true, numInputBuses);\r
+ initializeChannelMapArray (false, numOutputBuses);\r
+\r
+ for (int busIdx = 0; busIdx < numInputBuses; ++busIdx)\r
+ fillLayoutChannelMaps (true, busIdx);\r
+\r
+ for (int busIdx = 0; busIdx < numOutputBuses; ++busIdx)\r
+ fillLayoutChannelMaps (false, busIdx);\r
+ }\r
+\r
+ void release()\r
+ {\r
+ inputLayoutMap = outputLayoutMap = nullptr;\r
+ inputLayoutMapPtrStorage.free();\r
+ outputLayoutMapPtrStorage.free();\r
+ inputLayoutMapStorage.free();\r
+ outputLayoutMapStorage.free();\r
+ }\r
+\r
+ inline const int* get (bool input, int bus) const noexcept { return (input ? inputLayoutMap : outputLayoutMap) [bus]; }\r
+\r
+ private:\r
+ //==============================================================================\r
+ AudioProcessor& processor;\r
+ HeapBlock<int*> inputLayoutMapPtrStorage, outputLayoutMapPtrStorage;\r
+ HeapBlock<int> inputLayoutMapStorage, outputLayoutMapStorage;\r
+ int** inputLayoutMap;\r
+ int** outputLayoutMap;\r
+\r
+ //==============================================================================\r
+ void initializeChannelMapArray (bool isInput, const int numBuses)\r
+ {\r
+ HeapBlock<int*>& layoutMapPtrStorage = isInput ? inputLayoutMapPtrStorage : outputLayoutMapPtrStorage;\r
+ HeapBlock<int>& layoutMapStorage = isInput ? inputLayoutMapStorage : outputLayoutMapStorage;\r
+ int**& layoutMap = isInput ? inputLayoutMap : outputLayoutMap;\r
+\r
+ const int totalInChannels = processor.getTotalNumInputChannels();\r
+ const int totalOutChannels = processor.getTotalNumOutputChannels();\r
+\r
+ layoutMapPtrStorage.calloc (static_cast<size_t> (numBuses));\r
+ layoutMapStorage.calloc (static_cast<size_t> (isInput ? totalInChannels : totalOutChannels));\r
+\r
+ layoutMap = layoutMapPtrStorage. getData();\r
+\r
+ int ch = 0;\r
+ for (int busIdx = 0; busIdx < numBuses; ++busIdx)\r
+ {\r
+ layoutMap[busIdx] = layoutMapStorage.getData() + ch;\r
+ ch += processor.getChannelCountOfBus (isInput, busIdx);\r
+ }\r
+ }\r
+\r
+ void fillLayoutChannelMaps (bool isInput, int busNr)\r
+ {\r
+ int* layoutMap = (isInput ? inputLayoutMap : outputLayoutMap)[busNr];\r
+ const AudioChannelSet& channelFormat = processor.getChannelLayoutOfBus (isInput, busNr);\r
+ const int numChannels = channelFormat.size();\r
+\r
+ for (int i = 0; i < numChannels; ++i)\r
+ layoutMap[i] = AudioUnitHelpers::juceChannelIndexToAu (i, channelFormat);\r
+ }\r
+ };\r
+\r
+ //==============================================================================\r
+ class CoreAudioBufferList\r
+ {\r
+ public:\r
+ CoreAudioBufferList() { reset(); }\r
+\r
+ //==============================================================================\r
+ void prepare (int inChannels, int outChannels, int maxFrames)\r
+ {\r
+ const int numChannels = jmax (inChannels, outChannels);\r
+\r
+ scratch.setSize (numChannels, maxFrames);\r
+ channels.calloc (static_cast<size_t> (numChannels));\r
+\r
+ reset();\r
+ }\r
+\r
+ void release()\r
+ {\r
+ scratch.setSize (0, 0);\r
+ channels.free();\r
+ }\r
+\r
+ void reset() noexcept\r
+ {\r
+ pushIdx = 0;\r
+ popIdx = 0;\r
+ zeromem (channels.getData(), sizeof(float*) * static_cast<size_t> (scratch.getNumChannels()));\r
+ }\r
+\r
+ //==============================================================================\r
+ float* setBuffer (const int idx, float* ptr = nullptr) noexcept\r
+ {\r
+ jassert (idx < scratch.getNumChannels());\r
+ return (channels [idx] = uniqueBuffer (idx, ptr));\r
+ }\r
+\r
+ //==============================================================================\r
+ float* push() noexcept\r
+ {\r
+ jassert (pushIdx < scratch.getNumChannels());\r
+ return channels [pushIdx++];\r
+ }\r
+\r
+ void push (AudioBufferList& bufferList, const int* channelMap) noexcept\r
+ {\r
+ jassert (pushIdx < scratch.getNumChannels());\r
+\r
+ if (bufferList.mNumberBuffers > 0)\r
+ {\r
+ const UInt32 n = bufferList.mBuffers [0].mDataByteSize /\r
+ (bufferList.mBuffers [0].mNumberChannels * sizeof (float));\r
+ const bool isInterleaved = isAudioBufferInterleaved (bufferList);\r
+ const int numChannels = static_cast<int> (isInterleaved ? bufferList.mBuffers [0].mNumberChannels\r
+ : bufferList.mNumberBuffers);\r
+\r
+ for (int ch = 0; ch < numChannels; ++ch)\r
+ {\r
+ float* data = push();\r
+\r
+ int mappedChannel = channelMap [ch];\r
+ if (isInterleaved || static_cast<float*> (bufferList.mBuffers [mappedChannel].mData) != data)\r
+ copyAudioBuffer (bufferList, mappedChannel, n, data);\r
+ }\r
+ }\r
+ }\r
+\r
+ //==============================================================================\r
+ float* pop() noexcept\r
+ {\r
+ jassert (popIdx < scratch.getNumChannels());\r
+ return channels[popIdx++];\r
+ }\r
+\r
+ void pop (AudioBufferList& buffer, const int* channelMap) noexcept\r
+ {\r
+ if (buffer.mNumberBuffers > 0)\r
+ {\r
+ const UInt32 n = buffer.mBuffers [0].mDataByteSize / (buffer.mBuffers [0].mNumberChannels * sizeof (float));\r
+ const bool isInterleaved = isAudioBufferInterleaved (buffer);\r
+ const int numChannels = static_cast<int> (isInterleaved ? buffer.mBuffers [0].mNumberChannels : buffer.mNumberBuffers);\r
+\r
+ for (int ch = 0; ch < numChannels; ++ch)\r
+ {\r
+ int mappedChannel = channelMap [ch];\r
+ float* nextBuffer = pop();\r
+\r
+ if (nextBuffer == buffer.mBuffers [mappedChannel].mData && ! isInterleaved)\r
+ continue; // no copying necessary\r
+\r
+ if (buffer.mBuffers [mappedChannel].mData == nullptr && ! isInterleaved)\r
+ buffer.mBuffers [mappedChannel].mData = nextBuffer;\r
+ else\r
+ copyAudioBuffer (nextBuffer, mappedChannel, n, buffer);\r
+ }\r
+ }\r
+ }\r
+\r
+ //==============================================================================\r
+ AudioSampleBuffer& getBuffer (UInt32 frames) noexcept\r
+ {\r
+ jassert (pushIdx == scratch.getNumChannels());\r
+\r
+ #if JUCE_DEBUG\r
+ for (int i = 0; i < pushIdx; ++i)\r
+ jassert (channels [i] != nullptr);\r
+ #endif\r
+\r
+ mutableBuffer.setDataToReferTo (channels, pushIdx, static_cast<int> (frames));\r
+ return mutableBuffer;\r
+ }\r
+\r
+ private:\r
+ float* uniqueBuffer (int idx, float* buffer) noexcept\r
+ {\r
+ if (buffer == nullptr)\r
+ return scratch.getWritePointer (idx);\r
+\r
+ for (int ch = 0; ch < idx; ++ch)\r
+ if (buffer == channels[ch])\r
+ return scratch.getWritePointer (idx);\r
+\r
+ return buffer;\r
+ }\r
+\r
+ //==============================================================================\r
+ AudioSampleBuffer scratch;\r
+ AudioSampleBuffer mutableBuffer;\r
+\r
+ HeapBlock<float*> channels;\r
+ int pushIdx, popIdx;\r
+ };\r
+\r
+ static bool isAudioBufferInterleaved (const AudioBufferList& audioBuffer) noexcept\r
+ {\r
+ return (audioBuffer.mNumberBuffers == 1 && audioBuffer.mBuffers[0].mNumberChannels > 1);\r
+ }\r
+\r
+ static void clearAudioBuffer (const AudioBufferList& audioBuffer) noexcept\r
+ {\r
+ for (unsigned int ch = 0; ch < audioBuffer.mNumberBuffers; ++ch)\r
+ zeromem (audioBuffer.mBuffers[ch].mData, audioBuffer.mBuffers[ch].mDataByteSize);\r
+ }\r
+\r
+ static void copyAudioBuffer (const AudioBufferList& audioBuffer, const int channel, const UInt32 size, float* dst) noexcept\r
+ {\r
+ if (! isAudioBufferInterleaved (audioBuffer))\r
+ {\r
+ jassert (channel < static_cast<int> (audioBuffer.mNumberBuffers));\r
+ jassert (audioBuffer.mBuffers[channel].mDataByteSize == (size * sizeof (float)));\r
+\r
+ memcpy (dst, audioBuffer.mBuffers[channel].mData, size * sizeof (float));\r
+ }\r
+ else\r
+ {\r
+ const int numChannels = static_cast<int> (audioBuffer.mBuffers[0].mNumberChannels);\r
+ const UInt32 n = static_cast<UInt32> (numChannels) * size;\r
+ const float* src = static_cast<const float*> (audioBuffer.mBuffers[0].mData);\r
+\r
+ jassert (channel < numChannels);\r
+ jassert (audioBuffer.mBuffers[0].mDataByteSize == (n * sizeof (float)));\r
+\r
+ for (const float* inData = src; inData < (src + n); inData += numChannels)\r
+ *dst++ = inData[channel];\r
+ }\r
+ }\r
+\r
+ static void copyAudioBuffer (const float *src, const int channel, const UInt32 size, AudioBufferList& audioBuffer) noexcept\r
+ {\r
+ if (! isAudioBufferInterleaved (audioBuffer))\r
+ {\r
+ jassert (channel < static_cast<int> (audioBuffer.mNumberBuffers));\r
+ jassert (audioBuffer.mBuffers[channel].mDataByteSize == (size * sizeof (float)));\r
+\r
+ memcpy (audioBuffer.mBuffers[channel].mData, src, size * sizeof (float));\r
+ }\r
+ else\r
+ {\r
+ const int numChannels = static_cast<int> (audioBuffer.mBuffers[0].mNumberChannels);\r
+ const UInt32 n = static_cast<UInt32> (numChannels) * size;\r
+ float* dst = static_cast<float*> (audioBuffer.mBuffers[0].mData);\r
+\r
+ jassert (channel < numChannels);\r
+ jassert (audioBuffer.mBuffers[0].mDataByteSize == (n * sizeof (float)));\r
+\r
+ for (float* outData = dst; outData < (dst + n); outData += numChannels)\r
+ outData[channel] = *src++;\r
+ }\r
+ }\r
+\r
+ template <int numLayouts>\r
+ static bool isLayoutSupported (const AudioProcessor& processor,\r
+ bool isInput, int busIdx,\r
+ int numChannels,\r
+ const short (&channelLayoutList) [numLayouts][2],\r
+ bool hasLayoutMap = true)\r
+ {\r
+ if (const AudioProcessor::Bus* bus = processor.getBus (isInput, busIdx))\r
+ {\r
+ if (! bus->isNumberOfChannelsSupported (numChannels))\r
+ return false;\r
+\r
+ if (! hasLayoutMap)\r
+ return true;\r
+\r
+ const int numConfigs = sizeof (channelLayoutList) / sizeof (short[2]);\r
+\r
+ for (int i = 0; i < numConfigs; ++i)\r
+ {\r
+ if (channelLayoutList[i][isInput ? 0 : 1] == numChannels)\r
+ return true;\r
+ }\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
+ static Array<AUChannelInfo> getAUChannelInfo (const AudioProcessor& processor)\r
+ {\r
+ Array<AUChannelInfo> channelInfo;\r
+\r
+ const bool hasMainInputBus = (processor.getBusCount (true) > 0);\r
+ const bool hasMainOutputBus = (processor.getBusCount (false) > 0);\r
+\r
+ if ((! hasMainInputBus) && (! hasMainOutputBus))\r
+ {\r
+ // midi effect plug-in: no audio\r
+ AUChannelInfo info;\r
+ info.inChannels = 0;\r
+ info.outChannels = 0;\r
+\r
+ channelInfo.add (info);\r
+ return channelInfo;\r
+ }\r
+ else\r
+ {\r
+ const uint32_t maxNumChanToCheckFor = 9;\r
+\r
+ uint32_t defaultInputs = static_cast<uint32_t> (processor.getChannelCountOfBus (true, 0));\r
+ uint32_t defaultOutputs = static_cast<uint32_t> (processor.getChannelCountOfBus (false, 0));\r
+\r
+ uint32_t lastInputs = defaultInputs;\r
+ uint32_t lastOutputs = defaultOutputs;\r
+\r
+ SortedSet<uint32_t> supportedChannels;\r
+\r
+ // add the current configuration\r
+ if (lastInputs != 0 || lastOutputs != 0)\r
+ supportedChannels.add ((lastInputs << 16) | lastOutputs);\r
+\r
+ for (uint32_t inChanNum = hasMainInputBus ? 1 : 0; inChanNum <= (hasMainInputBus ? maxNumChanToCheckFor : 0); ++inChanNum)\r
+ {\r
+ const AudioProcessor::Bus* inBus = processor.getBus (true, 0);\r
+\r
+ if (inBus != nullptr && (! inBus->isNumberOfChannelsSupported ((int) inChanNum)))\r
+ continue;\r
+\r
+ for (uint32_t outChanNum = hasMainOutputBus ? 1 : 0; outChanNum <= (hasMainOutputBus ? maxNumChanToCheckFor : 0); ++outChanNum)\r
+ {\r
+ const AudioProcessor::Bus* outBus = processor.getBus (false, 0);\r
+\r
+ if (outBus != nullptr && (! outBus->isNumberOfChannelsSupported ((int) outChanNum)))\r
+ continue;\r
+\r
+ uint32_t channelConfiguration = (inChanNum << 16) | outChanNum;\r
+\r
+ // did we already try this configuration?\r
+ if (supportedChannels.contains (channelConfiguration)) continue;\r
+\r
+ if (lastInputs != inChanNum && (inChanNum > 0 && inBus != nullptr))\r
+ {\r
+ AudioChannelSet set = inBus->supportedLayoutWithChannels ((int) inChanNum);\r
+ AudioProcessor::BusesLayout layouts = inBus->getBusesLayoutForLayoutChangeOfBus (set);\r
+\r
+ lastInputs = inChanNum;\r
+ lastOutputs = hasMainOutputBus ? static_cast<uint32_t> (layouts.outputBuses.getReference (0).size()) : 0;\r
+\r
+ supportedChannels.add ((lastInputs << 16) | lastOutputs);\r
+ }\r
+\r
+ if (lastOutputs != outChanNum && (outChanNum > 0 && outBus != nullptr))\r
+ {\r
+ AudioChannelSet set = outBus->supportedLayoutWithChannels ((int) outChanNum);\r
+ AudioProcessor::BusesLayout layouts = outBus->getBusesLayoutForLayoutChangeOfBus (set);\r
+\r
+ lastOutputs = outChanNum;\r
+ lastInputs = hasMainInputBus ? static_cast<uint32_t> (layouts.inputBuses.getReference (0).size()) : 0;\r
+\r
+ supportedChannels.add ((lastInputs << 16) | lastOutputs);\r
+ }\r
+ }\r
+ }\r
+\r
+ bool hasInOutMismatch = false;\r
+ for (int i = 0; i < supportedChannels.size(); ++i)\r
+ {\r
+ const uint32_t numInputs = (supportedChannels[i] >> 16) & 0xffff;\r
+ const uint32_t numOutputs = (supportedChannels[i] >> 0) & 0xffff;\r
+\r
+ if (numInputs != numOutputs)\r
+ {\r
+ hasInOutMismatch = true;\r
+ break;\r
+ }\r
+ }\r
+\r
+ bool hasUnsupportedInput = ! hasMainOutputBus, hasUnsupportedOutput = ! hasMainInputBus;\r
+ for (uint32_t inChanNum = hasMainInputBus ? 1 : 0; inChanNum <= (hasMainInputBus ? maxNumChanToCheckFor : 0); ++inChanNum)\r
+ {\r
+ uint32_t channelConfiguration = (inChanNum << 16) | (hasInOutMismatch ? defaultOutputs : inChanNum);\r
+ if (! supportedChannels.contains (channelConfiguration))\r
+ {\r
+ hasUnsupportedInput = true;\r
+ break;\r
+ }\r
+ }\r
+\r
+ for (uint32_t outChanNum = hasMainOutputBus ? 1 : 0; outChanNum <= (hasMainOutputBus ? maxNumChanToCheckFor : 0); ++outChanNum)\r
+ {\r
+ uint32_t channelConfiguration = ((hasInOutMismatch ? defaultInputs : outChanNum) << 16) | outChanNum;\r
+ if (! supportedChannels.contains (channelConfiguration))\r
+ {\r
+ hasUnsupportedOutput = true;\r
+ break;\r
+ }\r
+ }\r
+\r
+ for (int i = 0; i < supportedChannels.size(); ++i)\r
+ {\r
+ const int numInputs = (supportedChannels[i] >> 16) & 0xffff;\r
+ const int numOutputs = (supportedChannels[i] >> 0) & 0xffff;\r
+\r
+ AUChannelInfo info;\r
+\r
+ // see here: https://developer.apple.com/library/mac/documentation/MusicAudio/Conceptual/AudioUnitProgrammingGuide/TheAudioUnit/TheAudioUnit.html\r
+ info.inChannels = static_cast<SInt16> (hasMainInputBus ? (hasUnsupportedInput ? numInputs : (hasInOutMismatch && (! hasUnsupportedOutput) ? -2 : -1)) : 0);\r
+ info.outChannels = static_cast<SInt16> (hasMainOutputBus ? (hasUnsupportedOutput ? numOutputs : (hasInOutMismatch && (! hasUnsupportedInput) ? -2 : -1)) : 0);\r
+\r
+ if (info.inChannels == -2 && info.outChannels == -2)\r
+ info.inChannels = -1;\r
+\r
+ int j;\r
+ for (j = 0; j < channelInfo.size(); ++j)\r
+ if (channelInfo[j].inChannels == info.inChannels && channelInfo[j].outChannels == info.outChannels)\r
+ break;\r
+\r
+ if (j >= channelInfo.size())\r
+ channelInfo.add (info);\r
+ }\r
+ }\r
+\r
+ return channelInfo;\r
+ }\r
+};\r
+\r
+AudioUnitHelpers::AUChannelStreamOrder AudioUnitHelpers::StreamOrder::auChannelStreamOrder[] =\r
+{\r
+ {kAudioChannelLayoutTag_Mono, {centre, unknown, unknown, unknown, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_Stereo, {left, right, unknown, unknown, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_StereoHeadphones, {left, right, unknown, unknown, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_Binaural, {left, right, unknown, unknown, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_Quadraphonic, {left, right, leftSurround, rightSurround, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_Pentagonal, {left, right, leftSurroundRear, rightSurroundRear, centre, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_Hexagonal, {left, right, leftSurroundRear, rightSurroundRear, centre, centreSurround, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_Octagonal, {left, right, leftSurround, rightSurround, centre, centreSurround, wideLeft, wideRight}},\r
+ {kAudioChannelLayoutTag_Ambisonic_B_Format, {ambisonicW, ambisonicX, ambisonicY, ambisonicZ, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_MPEG_5_0_A, {left, right, centre, leftSurround, rightSurround, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_MPEG_5_0_B, {left, right, leftSurround, rightSurround, centre, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_MPEG_5_1_A, {left, right, centre, LFE, leftSurround, rightSurround, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_AudioUnit_6_0, {left, right, leftSurround, rightSurround, centre, centreSurround, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_DTS_6_0_A, {left, right, leftSurround, rightSurround, leftSurroundSide, rightSurroundSide, unknown, unknown}}, // TODO check this one\r
+ {kAudioChannelLayoutTag_MPEG_6_1_A, {left, right, centre, LFE, leftSurround, rightSurround, centre, unknown}},\r
+ {kAudioChannelLayoutTag_DTS_6_1_A, {leftSurroundSide, rightSurroundSide, left, right, leftSurround, rightSurround, LFE, unknown}},\r
+ {kAudioChannelLayoutTag_AudioUnit_7_0, {left, right, leftSurroundSide, rightSurroundSide, centre, leftSurroundRear, rightSurroundRear, unknown}},\r
+ {kAudioChannelLayoutTag_MPEG_7_1_C, {left, right, centre, LFE, leftSurroundSide, rightSurroundSide, leftSurroundRear, rightSurroundRear}},\r
+ {kAudioChannelLayoutTag_AudioUnit_7_0_Front,{left, right, leftSurround, rightSurround, centre, leftCentre, rightCentre, unknown}},\r
+ {kAudioChannelLayoutTag_MPEG_7_1_A, {left, right, centre, LFE, leftSurround, rightSurround, leftCentre, rightCentre}},\r
+ {kAudioChannelLayoutTag_DTS_7_1, {leftCentre, centre, rightCentre, left, right, leftSurround, rightSurround, LFE}},\r
+ {kAudioChannelLayoutTag_MPEG_3_0_A, {left, right, centre, unknown, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_MPEG_3_0_B, {centre, left, right, unknown, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_MPEG_4_0_A, {left, right, centre, centreSurround, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_MPEG_4_0_B, {centre, left, right, centreSurround, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_ITU_2_1, {left, right, centreSurround, unknown, unknown, unknown, unknown, unknown}},\r
+ {kAudioChannelLayoutTag_EAC3_7_1_C, {left, centre, right, leftSurround, rightSurround, LFE, leftSurroundSide, rightSurroundSide}},\r
+ {unknown, {unknown,unknown,unknown,unknown,unknown,unknown,unknown,unknown}}\r
+};\r
\r
#include "../../juce_core/native/juce_osx_ObjCHelpers.h"\r
\r
+#include "juce_AU_Shared.h"\r
+\r
// Change this to disable logging of various activities\r
#ifndef AU_LOGGING\r
#define AU_LOGGING 1\r
s << "Generators/";\r
else if (desc.componentType == kAudioUnitType_Panner)\r
s << "Panners/";\r
+ else if (desc.componentType == kAudioUnitType_Mixer)\r
+ s << "Mixers/";\r
\r
s << osTypeToString (desc.componentType) << ","\r
<< osTypeToString (desc.componentSubType) << ","\r
|| types[0] == kAudioUnitType_MusicEffect\r
|| types[0] == kAudioUnitType_Effect\r
|| types[0] == kAudioUnitType_Generator\r
- || types[0] == kAudioUnitType_Panner)\r
+ || types[0] == kAudioUnitType_Panner\r
+ || types[0] == kAudioUnitType_Mixer)\r
{\r
desc.componentType = types[0];\r
desc.componentSubType = types[1];\r
case kAudioUnitType_MusicDevice: return "Synth";\r
case kAudioUnitType_Generator: return "Generator";\r
case kAudioUnitType_Panner: return "Panner";\r
+ case kAudioUnitType_Mixer: return "Mixer";\r
default: break;\r
}\r
\r
{\r
public:\r
AudioUnitPluginInstance (AudioComponentInstance au)\r
- : auComponent (AudioComponentInstanceGetComponent (au)),\r
+ : AudioPluginInstance (getBusesProperties (au)),\r
+ auComponent (AudioComponentInstanceGetComponent (au)),\r
wantsMidiMessages (false),\r
producesMidiMessages (false),\r
wasPlaying (false),\r
prepared (false),\r
isAUv3 (false),\r
currentBuffer (nullptr),\r
- numInputBusChannels (0),\r
- numOutputBusChannels (0),\r
- numInputBusses (0),\r
- numOutputBusses (0),\r
audioUnit (au),\r
#if JUCE_MAC\r
eventListenerRef (0),\r
\r
AudioComponentDescription ignore;\r
getComponentDescFromIdentifier (createPluginIdentifier (componentDesc), ignore, pluginName, version, manufacturer);\r
+ updateSupportedLayouts();\r
}\r
\r
~AudioUnitPluginInstance()\r
\r
bool initialise (double rate, int blockSize)\r
{\r
- updateNumChannels();\r
producesMidiMessages = canProduceMidiOutput();\r
- setPlayConfigDetails ((int) (numInputBusChannels * numInputBusses),\r
- (int) (numOutputBusChannels * numOutputBusses),\r
- rate, blockSize);\r
+ setRateAndBufferSizeDetails (rate, blockSize);\r
setLatencySamples (0);\r
refreshParameterList();\r
- setPluginCallbacks();\r
+ createPluginCallbacks();\r
+\r
+ return true;\r
+ }\r
+\r
+ //==============================================================================\r
+ bool canAddBus (bool isInput) const override { return isBusCountWritable (isInput); }\r
+ bool canRemoveBus (bool isInput) const override { return isBusCountWritable (isInput); }\r
+\r
+ bool canApplyBusCountChange (bool isInput, bool isAdding, BusProperties& outProperties) override\r
+ {\r
+ int currentCount = getBusCount (isInput);\r
+ int newCount = currentCount + (isAdding ? 1 : -1);\r
+ AudioUnitScope scope = isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output;\r
+\r
+ if (AudioUnitSetProperty (audioUnit, kAudioUnitProperty_ElementCount, scope, 0, &newCount, sizeof (newCount)) == noErr)\r
+ {\r
+ getBusProperties (isInput, currentCount, outProperties.busName, outProperties.defaultLayout);\r
+ outProperties.isActivatedByDefault = true;\r
+ updateSupportedLayouts();\r
+\r
+ return true;\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
+ //==============================================================================\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override\r
+ {\r
+ if (layouts == getBusesLayout())\r
+ return true;\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const Array<AudioChannelSet>& requestedLayouts = (isInput ? layouts.inputBuses : layouts.outputBuses);\r
+ const Array<AudioChannelSet>& oppositeRequestedLayouts = (isInput ? layouts.outputBuses : layouts.inputBuses);\r
+ const Array<Array<AudioChannelSet> >& supported = (isInput ? supportedInLayouts : supportedOutLayouts);\r
+ const int n = getBusCount (isInput);\r
+\r
+ for (int busIdx = 0; busIdx < n; ++busIdx)\r
+ {\r
+ const AudioChannelSet& requested = requestedLayouts.getReference (busIdx);\r
+ const int oppositeBusIdx = jmin (getBusCount (! isInput) - 1, busIdx);\r
+ const bool hasOppositeBus = (oppositeBusIdx >= 0);\r
+ const AudioChannelSet oppositeRequested = (hasOppositeBus ? oppositeRequestedLayouts.getReference (oppositeBusIdx) : AudioChannelSet());\r
+ const Array<AudioChannelSet>& possible = supported.getReference (busIdx);\r
+\r
+ if (requested.isDisabled())\r
+ return false;\r
+\r
+ if (possible.size() > 0 && ! possible.contains (requested))\r
+ return false;\r
+\r
+ int i;\r
+ for (i = 0; i < numChannelInfos; ++i)\r
+ {\r
+ const AUChannelInfo& info = channelInfos[i];\r
+ const SInt16& thisChannels = (isInput ? info.inChannels : info.outChannels);\r
+ const SInt16& opChannels = (isInput ? info.outChannels : info.inChannels);\r
+\r
+ // this bus\r
+ if (thisChannels == 0) continue;\r
+ else if (thisChannels > 0 && requested.size() != thisChannels) continue;\r
+ else if (thisChannels < -2 && requested.size() > (thisChannels * -1)) continue;\r
+\r
+ // opposite bus\r
+ if (opChannels == 0 && hasOppositeBus) continue;\r
+ else if (opChannels > 0 && oppositeRequested.size() != opChannels) continue;\r
+ else if (opChannels < -2 && oppositeRequested.size() > (opChannels * -1)) continue;\r
+\r
+ // both buses\r
+ if (thisChannels == -2 && opChannels == -2) continue;\r
+ if (thisChannels == -1 && opChannels == -1)\r
+ {\r
+ int numOppositeBuses = getBusCount (! isInput);\r
+ int j;\r
+ for (j = 0; j < numOppositeBuses; ++j)\r
+ if (requested.size() != oppositeRequestedLayouts.getReference (j).size())\r
+ break;\r
+\r
+ if (j < numOppositeBuses) continue;\r
+ }\r
+\r
+ break;\r
+ }\r
+\r
+ if (i >= numChannelInfos)\r
+ return false;\r
+ }\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+ bool syncBusLayouts (const BusesLayout& layouts, bool isInitialized, bool& layoutHasChanged) const\r
+ {\r
+ layoutHasChanged = false;\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const AudioUnitScope scope = isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output;\r
+ const int n = getBusCount (isInput);\r
+\r
+ if (getElementCount (scope) != n && isBusCountWritable (isInput))\r
+ {\r
+ OSStatus err;\r
+ UInt32 newCount = static_cast<UInt32> (n);\r
+ layoutHasChanged = true;\r
+\r
+ err = AudioUnitSetProperty (audioUnit, kAudioUnitProperty_ElementCount, scope, 0, &newCount, sizeof (newCount));\r
+ jassert (err == noErr);\r
+ }\r
+\r
+ for (int i = 0; i < n; ++i)\r
+ {\r
+ Float64 sampleRate;\r
+ UInt32 sampleRateSize = sizeof (sampleRate);\r
+\r
+ AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SampleRate, scope, static_cast<UInt32> (i), &sampleRate, &sampleRateSize);\r
+\r
+ const AudioChannelSet& set = layouts.getChannelSet (isInput, i);\r
+ const int requestedNumChannels = set.size();\r
+\r
+ {\r
+ AudioStreamBasicDescription stream;\r
+ UInt32 dataSize = sizeof (stream);\r
+ OSStatus err = AudioUnitGetProperty (audioUnit, kAudioUnitProperty_StreamFormat, scope, static_cast<UInt32> (i), &stream, &dataSize);\r
+ if (err != noErr || dataSize < sizeof (stream))\r
+ return false;\r
+\r
+ const int actualNumChannels = static_cast<int> (stream.mChannelsPerFrame);\r
+\r
+ if (actualNumChannels != requestedNumChannels)\r
+ {\r
+ layoutHasChanged = true;\r
+ zerostruct (stream); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct)\r
+ stream.mSampleRate = sampleRate;\r
+ stream.mFormatID = kAudioFormatLinearPCM;\r
+ stream.mFormatFlags = kAudioFormatFlagsNativeFloatPacked | kAudioFormatFlagIsNonInterleaved | kAudioFormatFlagsNativeEndian;\r
+ stream.mFramesPerPacket = 1;\r
+ stream.mBytesPerPacket = 4;\r
+ stream.mBytesPerFrame = 4;\r
+ stream.mBitsPerChannel = 32;\r
+ stream.mChannelsPerFrame = static_cast<UInt32> (requestedNumChannels);\r
+\r
+ err = AudioUnitSetProperty (audioUnit, kAudioUnitProperty_StreamFormat, scope, static_cast<UInt32> (i), &stream, sizeof (stream));\r
+ if (err != noErr) return false;\r
+ }\r
+ }\r
+\r
+ if (! set.isDiscreteLayout())\r
+ {\r
+ const AudioChannelLayoutTag requestedTag = AudioUnitHelpers::ChannelSetToCALayoutTag (set);\r
+\r
+ AudioChannelLayout layout;\r
+ const UInt32 minDataSize = sizeof (layout) - sizeof (AudioChannelDescription);\r
+ UInt32 dataSize = minDataSize;\r
+\r
+ AudioChannelLayoutTag actualTag = kAudioChannelLayoutTag_Unknown;\r
+ OSStatus err = AudioUnitGetProperty (audioUnit, kAudioUnitProperty_AudioChannelLayout, scope, static_cast<UInt32> (i), &layout, &dataSize);\r
+ bool supportsLayouts = (err == noErr && dataSize >= minDataSize);\r
+\r
+ if (supportsLayouts)\r
+ {\r
+ const UInt32 expectedSize =\r
+ minDataSize + (sizeof (AudioChannelDescription) * layout.mNumberChannelDescriptions);\r
+\r
+ HeapBlock<AudioChannelLayout> layoutBuffer;\r
+ layoutBuffer.malloc (1, expectedSize);\r
+ dataSize = expectedSize;\r
+\r
+ err = AudioUnitGetProperty (audioUnit, kAudioUnitProperty_AudioChannelLayout, scope,\r
+ static_cast<UInt32> (i), layoutBuffer.getData(), &dataSize);\r
+\r
+ if (err != noErr || dataSize < expectedSize)\r
+ return false;\r
+\r
+ actualTag = AudioUnitHelpers::ChannelSetToCALayoutTag (AudioUnitHelpers::CoreAudioChannelLayoutToJuceType (layout));\r
+ }\r
+\r
+ if (actualTag != requestedTag)\r
+ {\r
+ zerostruct (layout);\r
+ layout.mChannelLayoutTag = requestedTag;\r
+\r
+ err = AudioUnitSetProperty (audioUnit, kAudioUnitProperty_AudioChannelLayout, scope, static_cast<UInt32> (i), &layout, minDataSize);\r
+\r
+ // only bail out if the plug-in claims to support layouts\r
+ // See AudioUnit headers on kAudioUnitProperty_AudioChannelLayout\r
+ if (err != noErr && supportsLayouts && isInitialized)\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+ bool canApplyBusesLayout (const BusesLayout& layouts) const override\r
+ {\r
+ // You cannot call setBusesLayout when the AudioProcessor is processing.\r
+ // Call releaseResources first!\r
+ jassert (! prepared);\r
+\r
+ bool layoutHasChanged = false;\r
+\r
+ if (! syncBusLayouts (layouts, false, layoutHasChanged))\r
+ return false;\r
+\r
+ // did anything actually change\r
+ if (layoutHasChanged)\r
+ {\r
+ bool success = (AudioUnitInitialize (audioUnit) == noErr);\r
+\r
+ // Some plug-ins require the LayoutTag to be set after initialization\r
+ if (success)\r
+ success = syncBusLayouts (layouts, true, layoutHasChanged);\r
+\r
+ AudioUnitUninitialize (audioUnit);\r
+\r
+ if (! success)\r
+ // make sure that the layout is back to it's original state\r
+ syncBusLayouts (getBusesLayout(), false, layoutHasChanged);\r
+\r
+ return success;\r
+ }\r
+\r
return true;\r
}\r
\r
if (audioUnit != nullptr)\r
{\r
releaseResources();\r
- updateNumChannels();\r
-\r
- Float64 sampleRateIn = 0, sampleRateOut = 0;\r
- UInt32 sampleRateSize = sizeof (sampleRateIn);\r
- const Float64 sr = newSampleRate;\r
\r
- for (AudioUnitElement i = 0; i < numInputBusses; ++i)\r
+ for (int dir = 0; dir < 2; ++dir)\r
{\r
- AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SampleRate, kAudioUnitScope_Input, i, &sampleRateIn, &sampleRateSize);\r
+ const bool isInput = (dir == 0);\r
+ const AudioUnitScope scope = isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output;\r
+ const int n = getBusCount (isInput);\r
\r
- if (sampleRateIn != sr)\r
- AudioUnitSetProperty (audioUnit, kAudioUnitProperty_SampleRate, kAudioUnitScope_Input, i, &sr, sizeof (sr));\r
- }\r
+ for (int i = 0; i < n; ++i)\r
+ {\r
+ Float64 sampleRate;\r
+ UInt32 sampleRateSize = sizeof (sampleRate);\r
+ const Float64 sr = newSampleRate;\r
\r
- for (AudioUnitElement i = 0; i < numOutputBusses; ++i)\r
- {\r
- AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SampleRate, kAudioUnitScope_Output, i, &sampleRateOut, &sampleRateSize);\r
+ AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SampleRate, scope, static_cast<UInt32> (i), &sampleRate, &sampleRateSize);\r
+\r
+ if (sampleRate != sr)\r
+ AudioUnitSetProperty (audioUnit, kAudioUnitProperty_SampleRate, scope, static_cast<UInt32> (i), &sr, sizeof (sr));\r
+\r
+ if (isInput)\r
+ {\r
+ AURenderCallbackStruct info;\r
+ zerostruct (info); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct)\r
\r
- if (sampleRateOut != sr)\r
- AudioUnitSetProperty (audioUnit, kAudioUnitProperty_SampleRate, kAudioUnitScope_Output, i, &sr, sizeof (sr));\r
+ info.inputProcRefCon = this;\r
+ info.inputProc = renderGetInputCallback;\r
+\r
+ AudioUnitSetProperty (audioUnit, kAudioUnitProperty_SetRenderCallback, kAudioUnitScope_Input,\r
+ static_cast<UInt32> (i), &info, sizeof (info));\r
+ }\r
+ else\r
+ {\r
+ outputBufferList.add (new AUBuffer (static_cast<size_t> (getChannelCountOfBus (false, i))));\r
+ }\r
+ }\r
}\r
\r
UInt32 frameSize = (UInt32) estimatedSamplesPerBlock;\r
AudioUnitSetProperty (audioUnit, kAudioUnitProperty_MaximumFramesPerSlice, kAudioUnitScope_Global, 0,\r
&frameSize, sizeof (frameSize));\r
\r
- setPlayConfigDetails ((int) (numInputBusChannels * numInputBusses),\r
- (int) (numOutputBusChannels * numOutputBusses),\r
- (double) newSampleRate, estimatedSamplesPerBlock);\r
+ setRateAndBufferSizeDetails ((double) newSampleRate, estimatedSamplesPerBlock);\r
\r
updateLatency();\r
\r
- {\r
- AudioStreamBasicDescription stream;\r
- zerostruct (stream); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct)\r
- stream.mSampleRate = sr;\r
- stream.mFormatID = kAudioFormatLinearPCM;\r
- stream.mFormatFlags = kAudioFormatFlagsNativeFloatPacked | kAudioFormatFlagIsNonInterleaved | kAudioFormatFlagsNativeEndian;\r
- stream.mFramesPerPacket = 1;\r
- stream.mBytesPerPacket = 4;\r
- stream.mBytesPerFrame = 4;\r
- stream.mBitsPerChannel = 32;\r
- stream.mChannelsPerFrame = numInputBusChannels;\r
-\r
- for (AudioUnitElement i = 0; i < numInputBusses; ++i)\r
- AudioUnitSetProperty (audioUnit, kAudioUnitProperty_StreamFormat,\r
- kAudioUnitScope_Input, i, &stream, sizeof (stream));\r
-\r
- stream.mChannelsPerFrame = numOutputBusChannels;\r
-\r
- for (AudioUnitElement i = 0; i < numOutputBusses; ++i)\r
- AudioUnitSetProperty (audioUnit, kAudioUnitProperty_StreamFormat,\r
- kAudioUnitScope_Output, i, &stream, sizeof (stream));\r
- }\r
-\r
- if (numOutputBusses != 0 && numOutputBusChannels != 0)\r
- outputBufferList.calloc (numOutputBusses, getAudioBufferSizeInBytes());\r
-\r
zerostruct (timeStamp);\r
timeStamp.mSampleTime = 0;\r
- timeStamp.mHostTime = GetCurrentHostTime (0, sr, isAUv3);\r
+ timeStamp.mHostTime = GetCurrentHostTime (0, newSampleRate, isAUv3);\r
timeStamp.mFlags = kAudioTimeStampSampleTimeValid | kAudioTimeStampHostTimeValid;\r
\r
currentBuffer = nullptr;\r
wasPlaying = false;\r
\r
- resetBusses();\r
+ resetBuses();\r
+\r
+ bool ignore;\r
+\r
+ if (! syncBusLayouts (getBusesLayout(), false, ignore))\r
+ return;\r
\r
- jassert (! prepared);\r
prepared = (AudioUnitInitialize (audioUnit) == noErr);\r
+\r
+ if (prepared)\r
+ {\r
+ if (! syncBusLayouts (getBusesLayout(), true, ignore))\r
+ {\r
+ prepared = false;\r
+ AudioUnitUninitialize (audioUnit);\r
+ }\r
+ }\r
}\r
}\r
\r
if (prepared)\r
{\r
AudioUnitUninitialize (audioUnit);\r
- resetBusses();\r
+ resetBuses();\r
AudioUnitReset (audioUnit, kAudioUnitScope_Global, 0);\r
\r
- outputBufferList.free();\r
+ outputBufferList.clear();\r
currentBuffer = nullptr;\r
prepared = false;\r
}\r
incomingMidi.clear();\r
}\r
\r
- void resetBusses()\r
+ void resetBuses()\r
{\r
- for (AudioUnitElement i = 0; i < numInputBusses; ++i) AudioUnitReset (audioUnit, kAudioUnitScope_Input, i);\r
- for (AudioUnitElement i = 0; i < numOutputBusses; ++i) AudioUnitReset (audioUnit, kAudioUnitScope_Output, i);\r
+ for (int i = 0; i < getBusCount (true); ++i) AudioUnitReset (audioUnit, kAudioUnitScope_Input, static_cast<UInt32> (i));\r
+ for (int i = 0; i < getBusCount (false); ++i) AudioUnitReset (audioUnit, kAudioUnitScope_Output, static_cast<UInt32> (i));\r
}\r
\r
void processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages) override\r
{\r
timeStamp.mHostTime = GetCurrentHostTime (numSamples, getSampleRate(), isAUv3);\r
\r
- for (AudioUnitElement i = 0; i < numOutputBusses; ++i)\r
+ int chIdx = 0;\r
+ const int numOutputBuses = getBusCount (false);\r
+ for (int i = 0; i < numOutputBuses; ++i)\r
{\r
- if (AudioBufferList* const abl = getAudioBufferListForBus(i))\r
+ if (AUBuffer* buf = outputBufferList[i])\r
{\r
- abl->mNumberBuffers = numOutputBusChannels;\r
+ AudioBufferList& abl = *buf;\r
\r
- for (AudioUnitElement j = 0; j < numOutputBusChannels; ++j)\r
+ for (AudioUnitElement j = 0; j < abl.mNumberBuffers; ++j)\r
{\r
- abl->mBuffers[j].mNumberChannels = 1;\r
- abl->mBuffers[j].mDataByteSize = (UInt32) (sizeof (float) * (size_t) numSamples);\r
- abl->mBuffers[j].mData = buffer.getWritePointer ((int) (i * numOutputBusChannels + j));\r
+ abl.mBuffers[j].mNumberChannels = 1;\r
+ abl.mBuffers[j].mDataByteSize = (UInt32) (sizeof (float) * (size_t) numSamples);\r
+ abl.mBuffers[j].mData = buffer.getWritePointer (chIdx++);\r
}\r
}\r
}\r
}\r
\r
\r
- for (AudioUnitElement i = 0; i < numOutputBusses; ++i)\r
+ for (int i = 0; i < numOutputBuses; ++i)\r
{\r
AudioUnitRenderActionFlags flags = 0;\r
- AudioUnitRender (audioUnit, &flags, &timeStamp, i, (UInt32) numSamples, getAudioBufferListForBus (i));\r
+\r
+ if (AUBuffer* buf = outputBufferList[i])\r
+ AudioUnitRender (audioUnit, &flags, &timeStamp, static_cast<UInt32> (i), (UInt32) numSamples, buf->bufferList.getData());\r
}\r
\r
timeStamp.mSampleTime += numSamples;\r
bool hasEditor() const override { return true; }\r
AudioProcessorEditor* createEditor() override;\r
\r
+ static AudioProcessor::BusesProperties getBusesProperties (AudioComponentInstance comp)\r
+ {\r
+ AudioProcessor::BusesProperties busProperties;\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const int n = getElementCount (comp, isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output);\r
+\r
+ for (int i = 0; i < n; ++i)\r
+ {\r
+ String busName;\r
+ AudioChannelSet currentLayout;\r
+\r
+ getBusProperties (comp, isInput, i, busName, currentLayout);\r
+ jassert (! currentLayout.isDisabled());\r
+\r
+ busProperties.addBus (isInput, busName, currentLayout, true);\r
+ }\r
+ }\r
+\r
+ return busProperties;\r
+ }\r
+\r
//==============================================================================\r
const String getInputChannelName (int index) const override\r
{\r
CriticalSection lock;\r
bool wantsMidiMessages, producesMidiMessages, wasPlaying, prepared, isAUv3;\r
\r
- HeapBlock<AudioBufferList> outputBufferList;\r
+ struct AUBuffer\r
+ {\r
+ AUBuffer (size_t numBuffers)\r
+ {\r
+ bufferList.calloc (1, (sizeof (AudioBufferList) - sizeof (::AudioBuffer)) + (sizeof (::AudioBuffer) * numBuffers));\r
+ AudioBufferList& buffer = *bufferList.getData();\r
+\r
+ buffer.mNumberBuffers = static_cast<UInt32> (numBuffers);\r
+ }\r
+\r
+ operator AudioBufferList&()\r
+ {\r
+ return *bufferList.getData();\r
+ }\r
+\r
+ HeapBlock<AudioBufferList> bufferList;\r
+ };\r
+\r
+ OwnedArray<AUBuffer> outputBufferList;\r
AudioTimeStamp timeStamp;\r
AudioSampleBuffer* currentBuffer;\r
- AudioUnitElement numInputBusChannels, numOutputBusChannels, numInputBusses, numOutputBusses;\r
+ Array<Array<AudioChannelSet> > supportedInLayouts, supportedOutLayouts;\r
+\r
+ int numChannelInfos;\r
+ HeapBlock<AUChannelInfo> channelInfos;\r
\r
AudioUnit audioUnit;\r
#if JUCE_MAC\r
CriticalSection midiInLock;\r
MidiBuffer incomingMidi;\r
\r
- void setPluginCallbacks()\r
+ void createPluginCallbacks()\r
{\r
if (audioUnit != nullptr)\r
{\r
- {\r
- AURenderCallbackStruct info;\r
- zerostruct (info); // (can't use "= { 0 }" on this object because it's typedef'ed as a C struct)\r
-\r
- info.inputProcRefCon = this;\r
- info.inputProc = renderGetInputCallback;\r
-\r
- for (AudioUnitElement i = 0; i < numInputBusses; ++i)\r
- AudioUnitSetProperty (audioUnit, kAudioUnitProperty_SetRenderCallback,\r
- kAudioUnitScope_Input, i, &info, sizeof (info));\r
- }\r
-\r
#if JUCE_MAC\r
if (producesMidiMessages)\r
{\r
{\r
// if this ever happens, might need to add extra handling\r
jassert (inNumberFrames == (UInt32) currentBuffer->getNumSamples());\r
+ AudioSampleBuffer buffer =\r
+ (static_cast<int> (inBusNumber) < getBusCount (true)\r
+ ? getBusBuffer (*currentBuffer, true, static_cast<int> (inBusNumber))\r
+ : AudioSampleBuffer());\r
\r
- for (UInt32 i = 0; i < ioData->mNumberBuffers; ++i)\r
+ for (int i = 0; i < static_cast<int> (ioData->mNumberBuffers); ++i)\r
{\r
- const int bufferChannel = (int) (inBusNumber * numInputBusChannels + i);\r
-\r
- if (bufferChannel < currentBuffer->getNumChannels())\r
+ if (i < buffer.getNumChannels())\r
{\r
memcpy (ioData->mBuffers[i].mData,\r
- currentBuffer->getReadPointer (bufferChannel),\r
+ buffer.getReadPointer (i),\r
sizeof (float) * inNumberFrames);\r
}\r
else\r
return currentTime;\r
}\r
\r
- size_t getAudioBufferSizeInBytes() const noexcept\r
+ bool isBusCountWritable (bool isInput) const noexcept\r
{\r
- return offsetof (AudioBufferList, mBuffers) + (sizeof (::AudioBuffer) * numOutputBusChannels);\r
+ UInt32 countSize;\r
+ Boolean writable;\r
+ OSStatus err;\r
+ AudioUnitScope scope = (isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output);\r
+\r
+ err = AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_ElementCount, scope, 0, &countSize, &writable);\r
+\r
+ return (err == noErr && writable != 0 && countSize == sizeof (UInt32));\r
}\r
\r
- AudioBufferList* getAudioBufferListForBus (AudioUnitElement busIndex) const noexcept\r
+ //==============================================================================\r
+ int getElementCount (AudioUnitScope scope) const noexcept\r
{\r
- return addBytesToPointer (outputBufferList.getData(), getAudioBufferSizeInBytes() * busIndex);\r
+ return static_cast<int> (getElementCount (audioUnit, scope));\r
}\r
\r
- AudioUnitElement getElementCount (AudioUnitScope scope) const noexcept\r
+ static int getElementCount (AudioUnit comp, AudioUnitScope scope) noexcept\r
{\r
UInt32 count;\r
UInt32 countSize = sizeof (count);\r
\r
- if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_ElementCount, scope, 0, &count, &countSize) != noErr\r
- || countSize == 0)\r
- count = 1;\r
+ OSStatus err = AudioUnitGetProperty (comp, kAudioUnitProperty_ElementCount, scope, 0, &count, &countSize);\r
+ jassert (err == noErr);\r
+ ignoreUnused (err);\r
\r
- return count;\r
+ return static_cast<int> (count);\r
}\r
\r
- void updateNumChannels()\r
+ //==============================================================================\r
+ void getBusProperties (bool isInput, int busIdx, String& busName, AudioChannelSet& currentLayout) const\r
{\r
- numInputBusses = getElementCount (kAudioUnitScope_Input);\r
- numOutputBusses = getElementCount (kAudioUnitScope_Output);\r
+ getBusProperties (audioUnit, isInput, busIdx, busName, currentLayout);\r
+ }\r
\r
- AUChannelInfo supportedChannels [128];\r
- UInt32 supportedChannelsSize = 0;\r
- Boolean writable;\r
+ static void getBusProperties (AudioUnit comp, bool isInput, int busIdx, String& busName, AudioChannelSet& currentLayout)\r
+ {\r
+ const AudioUnitScope scope = isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output;\r
+ busName = (isInput ? "Input #" : "Output #") + String (busIdx + 1);\r
\r
- if (AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global,\r
- 0, &supportedChannelsSize, &writable) == noErr\r
- && supportedChannelsSize > 0\r
- && AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global,\r
- 0, supportedChannels, &supportedChannelsSize) == noErr)\r
{\r
- int explicitNumIns = 0;\r
- int explicitNumOuts = 0;\r
- int maximumNumIns = 0;\r
- int maximumNumOuts = 0;\r
+ CFStringRef busNameCF = nullptr;\r
+ UInt32 propertySize = sizeof (busNameCF);\r
\r
- for (int i = 0; i < (int) (supportedChannelsSize / sizeof (AUChannelInfo)); ++i)\r
+ if (AudioUnitGetProperty (comp, kAudioUnitProperty_ElementName, scope, static_cast<UInt32> (busIdx), &busNameCF, &propertySize) == noErr\r
+ && busNameCF != nullptr)\r
{\r
- const int inChannels = (int) supportedChannels[i].inChannels;\r
- const int outChannels = (int) supportedChannels[i].outChannels;\r
+ busName = nsStringToJuce ((NSString*) busNameCF);\r
+ CFRelease (busNameCF);\r
+ }\r
\r
- if (inChannels < 0)\r
- maximumNumIns = jmin (maximumNumIns, inChannels);\r
- else\r
- explicitNumIns = jmax (explicitNumIns, inChannels);\r
+ {\r
+ AudioChannelLayout auLayout;\r
+ propertySize = sizeof (auLayout);\r
\r
- if (outChannels < 0)\r
- maximumNumOuts = jmin (maximumNumOuts, outChannels);\r
- else\r
- explicitNumOuts = jmax (explicitNumOuts, outChannels);\r
+ if (AudioUnitGetProperty (comp, kAudioUnitProperty_AudioChannelLayout, scope, static_cast<UInt32> (busIdx), &auLayout, &propertySize) == noErr)\r
+ currentLayout = AudioUnitHelpers::CoreAudioChannelLayoutToJuceType (auLayout);\r
}\r
\r
- if ((maximumNumIns == -1 && maximumNumOuts == -1) // (special meaning: any number of ins/outs, as long as they match)\r
- || (maximumNumIns == -2 && maximumNumOuts == -1) // (special meaning: any number of ins/outs, even if they don't match)\r
- || (maximumNumIns == -1 && maximumNumOuts == -2))\r
+ if (currentLayout.isDisabled())\r
{\r
- numInputBusChannels = numOutputBusChannels = 2;\r
+ AudioStreamBasicDescription descr;\r
+ propertySize = sizeof (descr);\r
+\r
+ if (AudioUnitGetProperty (comp, kAudioUnitProperty_StreamFormat, scope, static_cast<UInt32> (busIdx), &descr, &propertySize) == noErr)\r
+ currentLayout = AudioChannelSet::canonicalChannelSet (static_cast<int> (descr.mChannelsPerFrame));\r
}\r
- else\r
+ }\r
+ }\r
+\r
+ //==============================================================================\r
+ void numBusesChanged() override\r
+ {\r
+ updateSupportedLayouts();\r
+ }\r
+\r
+ void updateSupportedLayouts()\r
+ {\r
+ supportedInLayouts.clear();\r
+ supportedOutLayouts.clear();\r
+ numChannelInfos = 0;\r
+ channelInfos.free();\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const AudioUnitScope scope = isInput ? kAudioUnitScope_Input : kAudioUnitScope_Output;\r
+ const int n = getElementCount (scope);\r
+\r
+ for (int busIdx = 0; busIdx < n; ++busIdx)\r
{\r
- numInputBusChannels = (AudioUnitElement) explicitNumIns;\r
- numOutputBusChannels = (AudioUnitElement) explicitNumOuts;\r
+ Array<AudioChannelSet> supported;\r
+ AudioChannelSet currentLayout;\r
+\r
+ {\r
+ AudioChannelLayout auLayout;\r
+ UInt32 propertySize = sizeof (auLayout);\r
\r
- if (maximumNumIns == -1 || (maximumNumIns < 0 && explicitNumIns <= -maximumNumIns))\r
- numInputBusChannels = 2;\r
+ if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_AudioChannelLayout, scope, static_cast<UInt32> (busIdx), &auLayout, &propertySize) == noErr)\r
+ currentLayout = AudioUnitHelpers::CoreAudioChannelLayoutToJuceType (auLayout);\r
+ }\r
+\r
+ if (currentLayout.isDisabled())\r
+ {\r
+ AudioStreamBasicDescription descr;\r
+ UInt32 propertySize = sizeof (descr);\r
+\r
+ if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_StreamFormat, scope, static_cast<UInt32> (busIdx), &descr, &propertySize) == noErr)\r
+ currentLayout = AudioChannelSet::canonicalChannelSet (static_cast<int> (descr.mChannelsPerFrame));\r
+ }\r
+\r
+ supported.clear();\r
+ {\r
+ UInt32 propertySize = 0;\r
+ Boolean writable;\r
\r
- if (maximumNumOuts == -1 || (maximumNumOuts < 0 && explicitNumOuts <= -maximumNumOuts))\r
- numOutputBusChannels = 2;\r
+ if (AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_SupportedChannelLayoutTags, scope, static_cast<UInt32> (busIdx), &propertySize, &writable) == noErr\r
+ && propertySize > 0)\r
+ {\r
+ const size_t numElements = propertySize / sizeof (AudioChannelLayoutTag);\r
+ HeapBlock<AudioChannelLayoutTag> layoutTags (numElements);\r
+ propertySize = static_cast<UInt32> (sizeof (AudioChannelLayoutTag) * numElements);\r
+\r
+ if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SupportedChannelLayoutTags, scope,\r
+ static_cast<UInt32> (busIdx), layoutTags.getData(), &propertySize) == noErr)\r
+ {\r
+ for (int j = 0; j < static_cast<int> (numElements); ++j)\r
+ {\r
+ const AudioChannelLayoutTag tag = layoutTags[j];\r
+\r
+ if (tag != kAudioChannelLayoutTag_UseChannelDescriptions)\r
+ supported.addIfNotAlreadyThere (AudioUnitHelpers::CALayoutTagToChannelSet (tag));\r
+ }\r
+\r
+ if (supported.size() > 0)\r
+ supported.addIfNotAlreadyThere (currentLayout);\r
+ }\r
+ }\r
+ }\r
+\r
+ (isInput ? supportedInLayouts : supportedOutLayouts).add (supported);\r
}\r
}\r
- else\r
+\r
{\r
- // (this really means the plugin will take any number of ins/outs as long\r
- // as they are the same)\r
- numInputBusChannels = numOutputBusChannels = 2;\r
+ UInt32 propertySize = 0;\r
+ Boolean writable;\r
+\r
+ if (AudioUnitGetPropertyInfo (audioUnit, kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global, 0, &propertySize, &writable) == noErr\r
+ && propertySize > 0)\r
+ {\r
+ numChannelInfos = propertySize / sizeof (AUChannelInfo);\r
+ channelInfos.malloc (static_cast<size_t> (numChannelInfos));\r
+ propertySize = static_cast<UInt32> (sizeof (AUChannelInfo) * static_cast<size_t> (numChannelInfos));\r
+\r
+ if (AudioUnitGetProperty (audioUnit, kAudioUnitProperty_SupportedNumChannels, kAudioUnitScope_Global, 0, channelInfos.getData(), &propertySize) != noErr)\r
+ numChannelInfos = 0;\r
+ }\r
+ else\r
+ {\r
+ numChannelInfos = 1;\r
+ channelInfos.malloc (static_cast<size_t> (numChannelInfos));\r
+ channelInfos.getData()->inChannels = -1;\r
+ channelInfos.getData()->outChannels = -1;\r
+ }\r
}\r
}\r
\r
|| desc.componentType == kAudioUnitType_MusicEffect\r
|| desc.componentType == kAudioUnitType_Effect\r
|| desc.componentType == kAudioUnitType_Generator\r
- || desc.componentType == kAudioUnitType_Panner)\r
+ || desc.componentType == kAudioUnitType_Panner\r
+ || desc.componentType == kAudioUnitType_Mixer)\r
{\r
ignoreUnused (allowPluginsWhichRequireAsynchronousInstantiation);\r
\r
case AudioChannelSet::left: return kSpeakerL;\r
case AudioChannelSet::right: return kSpeakerR;\r
case AudioChannelSet::centre: return kSpeakerC;\r
- case AudioChannelSet::subbass: return kSpeakerLfe;\r
+ case AudioChannelSet::LFE: return kSpeakerLfe;\r
case AudioChannelSet::leftSurround: return kSpeakerLs;\r
case AudioChannelSet::rightSurround: return kSpeakerRs;\r
case AudioChannelSet::leftCentre: return kSpeakerLc;\r
case AudioChannelSet::rightCentre: return kSpeakerRc;\r
- case AudioChannelSet::surround: return kSpeakerS;\r
- case AudioChannelSet::leftRearSurround: return kSpeakerSl;\r
- case AudioChannelSet::rightRearSurround: return kSpeakerSr;\r
+ case AudioChannelSet::centreSurround: return kSpeakerCs;\r
+ case AudioChannelSet::leftSurroundRear: return kSpeakerSl;\r
+ case AudioChannelSet::rightSurroundRear: return kSpeakerSr;\r
case AudioChannelSet::topMiddle: return (1 << 11); /* kSpeakerTm */\r
case AudioChannelSet::topFrontLeft: return kSpeakerTfl;\r
case AudioChannelSet::topFrontCentre: return kSpeakerTfc;\r
case AudioChannelSet::topRearLeft: return kSpeakerTrl;\r
case AudioChannelSet::topRearCentre: return kSpeakerTrc;\r
case AudioChannelSet::topRearRight: return kSpeakerTrr;\r
- case AudioChannelSet::subbass2: return kSpeakerLfe2;\r
+ case AudioChannelSet::LFE2: return kSpeakerLfe2;\r
default: break;\r
}\r
\r
case kSpeakerL: return AudioChannelSet::left;\r
case kSpeakerR: return AudioChannelSet::right;\r
case kSpeakerC: return AudioChannelSet::centre;\r
- case kSpeakerLfe: return AudioChannelSet::subbass;\r
+ case kSpeakerLfe: return AudioChannelSet::LFE;\r
case kSpeakerLs: return AudioChannelSet::leftSurround;\r
case kSpeakerRs: return AudioChannelSet::rightSurround;\r
case kSpeakerLc: return AudioChannelSet::leftCentre;\r
case kSpeakerRc: return AudioChannelSet::rightCentre;\r
- case kSpeakerS: return AudioChannelSet::surround;\r
- case kSpeakerSl: return AudioChannelSet::leftRearSurround;\r
- case kSpeakerSr: return AudioChannelSet::rightRearSurround;\r
+ case kSpeakerCs: return AudioChannelSet::centreSurround;\r
+ case kSpeakerSl: return AudioChannelSet::leftSurroundRear;\r
+ case kSpeakerSr: return AudioChannelSet::rightSurroundRear;\r
case (1 << 11): return AudioChannelSet::topMiddle; /* kSpeakerTm */\r
case kSpeakerTfl: return AudioChannelSet::topFrontLeft;\r
case kSpeakerTfc: return AudioChannelSet::topFrontCentre;\r
case kSpeakerTrl: return AudioChannelSet::topRearLeft;\r
case kSpeakerTrc: return AudioChannelSet::topRearCentre;\r
case kSpeakerTrr: return AudioChannelSet::topRearRight;\r
- case kSpeakerLfe2: return AudioChannelSet::subbass2;\r
+ case kSpeakerLfe2: return AudioChannelSet::LFE2;\r
default: break;\r
}\r
\r
return AudioChannelSet::unknown;\r
}\r
\r
-static inline Steinberg::Vst::SpeakerArrangement getSpeakerArrangement (const AudioChannelSet& channels) noexcept\r
+static inline Steinberg::Vst::SpeakerArrangement getVst3SpeakerArrangement (const AudioChannelSet& channels) noexcept\r
{\r
- // treat mono as special case as we do not have a designated mono speaker\r
- if (channels == AudioChannelSet::mono())\r
- return Steinberg::Vst::kSpeakerM;\r
+ if (channels == AudioChannelSet::disabled()) return Steinberg::Vst::SpeakerArr::kEmpty;\r
+ else if (channels == AudioChannelSet::mono()) return Steinberg::Vst::SpeakerArr::kMono;\r
+ else if (channels == AudioChannelSet::stereo()) return Steinberg::Vst::SpeakerArr::kStereo;\r
+ else if (channels == AudioChannelSet::createLCR()) return Steinberg::Vst::SpeakerArr::k30Cine;\r
+ else if (channels == AudioChannelSet::createLRS()) return Steinberg::Vst::SpeakerArr::k30Music;\r
+ else if (channels == AudioChannelSet::createLCRS()) return Steinberg::Vst::SpeakerArr::k40Cine;\r
+ else if (channels == AudioChannelSet::create5point0()) return Steinberg::Vst::SpeakerArr::k50;\r
+ else if (channels == AudioChannelSet::create5point1()) return Steinberg::Vst::SpeakerArr::k51;\r
+ else if (channels == AudioChannelSet::create6point0()) return Steinberg::Vst::SpeakerArr::k60Cine;\r
+ else if (channels == AudioChannelSet::create6point1()) return Steinberg::Vst::SpeakerArr::k61Cine;\r
+ else if (channels == AudioChannelSet::create6point0Music()) return Steinberg::Vst::SpeakerArr::k60Music;\r
+ else if (channels == AudioChannelSet::create6point1Music()) return Steinberg::Vst::SpeakerArr::k61Music;\r
+ else if (channels == AudioChannelSet::create7point0()) return Steinberg::Vst::SpeakerArr::k70Music;\r
+ else if (channels == AudioChannelSet::create7point0SDDS()) return Steinberg::Vst::SpeakerArr::k70Cine;\r
+ else if (channels == AudioChannelSet::create7point1()) return Steinberg::Vst::SpeakerArr::k71CineSideFill;\r
+ else if (channels == AudioChannelSet::create7point1SDDS()) return Steinberg::Vst::SpeakerArr::k71Cine;\r
+ else if (channels == AudioChannelSet::ambisonic()) return Steinberg::Vst::SpeakerArr::kBFormat;\r
+ else if (channels == AudioChannelSet::quadraphonic()) return Steinberg::Vst::SpeakerArr::k40Music;\r
\r
Steinberg::Vst::SpeakerArrangement result = 0;\r
\r
\r
static inline AudioChannelSet getChannelSetForSpeakerArrangement (Steinberg::Vst::SpeakerArrangement arr) noexcept\r
{\r
- // treat mono as special case as we do not have a designated mono speaker\r
- if (arr == Steinberg::Vst::kSpeakerM)\r
- return AudioChannelSet::mono();\r
+ if (arr == Steinberg::Vst::SpeakerArr::kEmpty) return AudioChannelSet::disabled();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::kMono) return AudioChannelSet::mono();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::kStereo) return AudioChannelSet::stereo();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k30Cine) return AudioChannelSet::createLCR();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k30Music) return AudioChannelSet::createLRS();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k40Cine) return AudioChannelSet::createLCRS();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k50) return AudioChannelSet::create5point0();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k51) return AudioChannelSet::create5point1();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k60Cine) return AudioChannelSet::create6point0();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k61Cine) return AudioChannelSet::create6point1();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k60Music) return AudioChannelSet::create6point0Music();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k61Music) return AudioChannelSet::create6point1Music();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k70Music) return AudioChannelSet::create7point0();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k70Cine) return AudioChannelSet::create7point0SDDS();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k71CineSideFill) return AudioChannelSet::create7point1();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k71Cine) return AudioChannelSet::create7point1SDDS();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::kBFormat) return AudioChannelSet::ambisonic();\r
+ else if (arr == Steinberg::Vst::SpeakerArr::k40Music) return AudioChannelSet::quadraphonic();\r
\r
AudioChannelSet result;\r
\r
vstBuffers.silenceFlags = 0;\r
}\r
\r
- static void mapArrangementToBusses (int& channelIndexOffset, int index,\r
+ static void mapArrangementToBuses (int& channelIndexOffset, int index,\r
Array<Steinberg::Vst::AudioBusBuffers>& result,\r
- BusMap& busMapToUse, Steinberg::Vst::SpeakerArrangement arrangement,\r
+ BusMap& busMapToUse, const AudioChannelSet& arrangement,\r
AudioBuffer<FloatType>& source)\r
{\r
- const int numChansForBus = BigInteger ((juce::int64) arrangement).countNumberOfSetBits();\r
+ const int numChansForBus = arrangement.size();\r
\r
if (index >= result.size())\r
result.add (Steinberg::Vst::AudioBusBuffers());\r
channelIndexOffset += numChansForBus;\r
}\r
\r
- static inline void mapBufferToBusses (Array<Steinberg::Vst::AudioBusBuffers>& result, BusMap& busMapToUse,\r
- const Array<Steinberg::Vst::SpeakerArrangement>& arrangements,\r
+ static inline void mapBufferToBuses (Array<Steinberg::Vst::AudioBusBuffers>& result, BusMap& busMapToUse,\r
+ const Array<AudioChannelSet>& arrangements,\r
AudioBuffer<FloatType>& source)\r
{\r
int channelIndexOffset = 0;\r
\r
for (int i = 0; i < arrangements.size(); ++i)\r
- mapArrangementToBusses (channelIndexOffset, i, result, busMapToUse,\r
+ mapArrangementToBuses (channelIndexOffset, i, result, busMapToUse,\r
arrangements.getUnchecked (i), source);\r
}\r
\r
- static inline void mapBufferToBusses (Array<Steinberg::Vst::AudioBusBuffers>& result,\r
+ static inline void mapBufferToBuses (Array<Steinberg::Vst::AudioBusBuffers>& result,\r
Steinberg::Vst::IAudioProcessor& processor,\r
- BusMap& busMapToUse, bool isInput, int numBusses,\r
+ BusMap& busMapToUse, bool isInput, int numBuses,\r
AudioBuffer<FloatType>& source)\r
{\r
int channelIndexOffset = 0;\r
\r
- for (int i = 0; i < numBusses; ++i)\r
- mapArrangementToBusses (channelIndexOffset, i,\r
+ for (int i = 0; i < numBuses; ++i)\r
+ mapArrangementToBuses (channelIndexOffset, i,\r
result, busMapToUse,\r
getArrangementForBus (&processor, isInput, i),\r
source);\r
description.isInstrument = description.category.containsIgnoreCase ("Instrument"); // This seems to be the only way to find that out! ARGH!\r
}\r
\r
-static int getNumSingleDirectionBussesFor (Vst::IComponent* component,\r
+static int getNumSingleDirectionBusesFor (Vst::IComponent* component,\r
bool checkInputs,\r
bool checkAudioChannels)\r
{\r
{\r
Vst::BusInfo busInfo;\r
warnOnFailure (component->getBusInfo (mediaType, direction, i, busInfo));\r
- numChannels += (int) busInfo.channelCount;\r
+ numChannels += ((busInfo.flags & Vst::BusInfo::kDefaultActive) != 0 ? (int) busInfo.channelCount : 0);\r
}\r
\r
return numChannels;\r
}\r
\r
-static void setStateForAllBussesOfType (Vst::IComponent* component,\r
+static void setStateForAllBusesOfType (Vst::IComponent* component,\r
bool state,\r
bool activateInputs,\r
bool activateAudioChannels)\r
public Vst::IUnitHandler\r
{\r
public:\r
- VST3HostContext (VST3PluginInstance* pluginInstance) : owner (pluginInstance)\r
+ VST3HostContext() : plugin (nullptr)\r
{\r
appName = File::getSpecialLocation (File::currentApplicationFile).getFileNameWithoutExtension();\r
attributeList = new AttributeList (this);\r
//==============================================================================\r
tresult PLUGIN_API beginEdit (Vst::ParamID paramID) override\r
{\r
- const int index = getIndexOfParamID (paramID);\r
+ if (plugin != nullptr)\r
+ {\r
+ const int index = getIndexOfParamID (paramID);\r
\r
- if (index < 0)\r
- return kResultFalse;\r
+ if (index < 0)\r
+ return kResultFalse;\r
+\r
+ plugin->beginParameterChangeGesture (index);\r
+ }\r
\r
- owner->beginParameterChangeGesture (index);\r
return kResultTrue;\r
}\r
\r
tresult PLUGIN_API performEdit (Vst::ParamID paramID, Vst::ParamValue valueNormalized) override\r
{\r
- const int index = getIndexOfParamID (paramID);\r
+ if (plugin != nullptr)\r
+ {\r
+ const int index = getIndexOfParamID (paramID);\r
\r
- if (index < 0)\r
- return kResultFalse;\r
+ if (index < 0)\r
+ return kResultFalse;\r
\r
- owner->sendParamChangeMessageToListeners (index, (float) valueNormalized);\r
+ plugin->sendParamChangeMessageToListeners (index, (float) valueNormalized);\r
\r
- {\r
- Steinberg::int32 eventIndex;\r
- owner->inputParameterChanges->addParameterData (paramID, eventIndex)->addPoint (0, valueNormalized, eventIndex);\r
- }\r
+ {\r
+ Steinberg::int32 eventIndex;\r
+ plugin->inputParameterChanges->addParameterData (paramID, eventIndex)->addPoint (0, valueNormalized, eventIndex);\r
+ }\r
\r
- // did the plug-in already update the parameter internally\r
- if (owner->editController->getParamNormalized (paramID) != (float) valueNormalized)\r
- return owner->editController->setParamNormalized (paramID, valueNormalized);\r
+ // did the plug-in already update the parameter internally\r
+ if (plugin->editController->getParamNormalized (paramID) != (float) valueNormalized)\r
+ return plugin->editController->setParamNormalized (paramID, valueNormalized);\r
+ }\r
\r
return kResultTrue;\r
}\r
\r
tresult PLUGIN_API endEdit (Vst::ParamID paramID) override\r
{\r
- const int index = getIndexOfParamID (paramID);\r
+ if (plugin != nullptr)\r
+ {\r
+ const int index = getIndexOfParamID (paramID);\r
\r
- if (index < 0)\r
- return kResultFalse;\r
+ if (index < 0)\r
+ return kResultFalse;\r
\r
- owner->endParameterChangeGesture (index);\r
+ plugin->endParameterChangeGesture (index);\r
+ }\r
return kResultTrue;\r
}\r
\r
tresult PLUGIN_API restartComponent (Steinberg::int32 flags) override\r
{\r
- if (owner != nullptr)\r
+ if (plugin != nullptr)\r
{\r
if (hasFlag (flags, Vst::kReloadComponent))\r
- owner->reset();\r
+ plugin->reset();\r
\r
if (hasFlag (flags, Vst::kIoChanged))\r
{\r
- const double sampleRate = owner->getSampleRate();\r
- const int blockSize = owner->getBlockSize();\r
+ const double sampleRate = plugin->getSampleRate();\r
+ const int blockSize = plugin->getBlockSize();\r
\r
- owner->prepareToPlay (sampleRate >= 8000 ? sampleRate : 44100.0,\r
+ plugin->prepareToPlay (sampleRate >= 8000 ? sampleRate : 44100.0,\r
blockSize > 0 ? blockSize : 1024);\r
}\r
\r
if (hasFlag (flags, Vst::kLatencyChanged))\r
- if (owner->processor != nullptr)\r
- owner->setLatencySamples (jmax (0, (int) owner->processor->getLatencySamples()));\r
+ if (plugin->processor != nullptr)\r
+ plugin->setLatencySamples (jmax (0, (int) plugin->processor->getLatencySamples()));\r
\r
- owner->updateHostDisplay();\r
+ plugin->updateHostDisplay();\r
return kResultTrue;\r
}\r
\r
return kResultFalse;\r
}\r
\r
+ void setPlugin (VST3PluginInstance* instance)\r
+ {\r
+ jassert (plugin == nullptr);\r
+ plugin = instance;\r
+ }\r
+\r
//==============================================================================\r
class ContextMenu : public Vst::IContextMenu\r
{\r
\r
Vst::IContextMenu* PLUGIN_API createContextMenu (IPlugView*, const Vst::ParamID*) override\r
{\r
- if (owner != nullptr)\r
- return new ContextMenu (*owner);\r
+ if (plugin != nullptr)\r
+ return new ContextMenu (*plugin);\r
\r
return nullptr;\r
}\r
\r
tresult PLUGIN_API notifyProgramListChange (Vst::ProgramListID, Steinberg::int32) override\r
{\r
- owner->syncProgramNames();\r
+ if (plugin != nullptr)\r
+ plugin->syncProgramNames();\r
+\r
return kResultTrue;\r
}\r
\r
\r
private:\r
//==============================================================================\r
- VST3PluginInstance* const owner;\r
+ VST3PluginInstance* plugin;\r
Atomic<int> refCount;\r
String appName;\r
\r
\r
int getIndexOfParamID (Vst::ParamID paramID)\r
{\r
- if (owner == nullptr || owner->editController == nullptr)\r
+ if (plugin == nullptr || plugin->editController == nullptr)\r
return -1;\r
\r
int result = getMappedParamID (paramID);\r
\r
if (result < 0)\r
{\r
- const int numParams = owner->editController->getParameterCount();\r
+ const int numParams = plugin->editController->getParameterCount();\r
\r
for (int i = 0; i < numParams; ++i)\r
{\r
Vst::ParameterInfo paramInfo;\r
- owner->editController->getParameterInfo (i, paramInfo);\r
+ plugin->editController->getParameterInfo (i, paramInfo);\r
paramToIndexMap[paramInfo.id] = i;\r
}\r
\r
\r
if (pluginFactory != nullptr)\r
{\r
- ComSmartPtr<VST3HostContext> host (new VST3HostContext (nullptr));\r
+ ComSmartPtr<VST3HostContext> host (new VST3HostContext());\r
DescriptionLister lister (host, pluginFactory);\r
const Result result (lister.findDescriptionsAndPerform (File (fileOrIdentifier)));\r
\r
\r
if (pluginFactory != nullptr)\r
{\r
- ComSmartPtr<VST3HostContext> host (new VST3HostContext (nullptr));\r
+ ComSmartPtr<VST3HostContext> host (new VST3HostContext());\r
MatchingDescriptionFinder finder (host, pluginFactory, description);\r
\r
const Result result (finder.findDescriptionsAndPerform (f));\r
#pragma warning (disable: 4996) // warning about overriding deprecated methods\r
#endif\r
\r
+//==============================================================================\r
+struct VST3ComponentHolder\r
+{\r
+ VST3ComponentHolder (const VST3ModuleHandle::Ptr& handle)\r
+ : module (handle),\r
+ isComponentInitialised (false)\r
+ {\r
+ host = new VST3HostContext();\r
+ }\r
+\r
+ ~VST3ComponentHolder()\r
+ {\r
+ terminate();\r
+\r
+ component = nullptr;\r
+ host = nullptr;\r
+ factory = nullptr;\r
+ module = nullptr;\r
+ }\r
+\r
+ // transfers ownership to the plugin instance!\r
+ AudioPluginInstance* createPluginInstance();\r
+\r
+ bool fetchController (ComSmartPtr<Vst::IEditController>& editController)\r
+ {\r
+ if (! isComponentInitialised && ! initialise())\r
+ return false;\r
+\r
+ // Get the IEditController:\r
+ TUID controllerCID = { 0 };\r
+\r
+ if (component->getControllerClassId (controllerCID) == kResultTrue && FUID (controllerCID).isValid())\r
+ editController.loadFrom (factory, controllerCID);\r
+\r
+ if (editController == nullptr)\r
+ {\r
+ // Try finding the IEditController the long way around:\r
+ const Steinberg::int32 numClasses = factory->countClasses();\r
+ for (Steinberg::int32 i = 0; i < numClasses; ++i)\r
+ {\r
+ PClassInfo classInfo;\r
+ factory->getClassInfo (i, &classInfo);\r
+\r
+ if (std::strcmp (classInfo.category, kVstComponentControllerClass) == 0)\r
+ editController.loadFrom (factory, classInfo.cid);\r
+ }\r
+ }\r
+\r
+ if (editController == nullptr)\r
+ editController.loadFrom (component);\r
+\r
+ return (editController != nullptr);\r
+ }\r
+\r
+ //==============================================================================\r
+ void fillInPluginDescription (PluginDescription& description) const\r
+ {\r
+ jassert (module != nullptr && isComponentInitialised);\r
+\r
+ PFactoryInfo factoryInfo;\r
+ factory->getFactoryInfo (&factoryInfo);\r
+\r
+ int classIdx;\r
+ if ((classIdx = getClassIndex (module->name)) >= 0)\r
+ {\r
+ PClassInfo info;\r
+ bool success = (factory->getClassInfo (classIdx, &info) == kResultOk);\r
+ ignoreUnused (success);\r
+ jassert (success);\r
+\r
+ ComSmartPtr<IPluginFactory2> pf2;\r
+ ComSmartPtr<IPluginFactory3> pf3;\r
+\r
+ ScopedPointer<PClassInfo2> info2;\r
+ ScopedPointer<PClassInfoW> infoW;\r
+\r
+ if (pf2.loadFrom (factory))\r
+ {\r
+ info2 = new PClassInfo2();\r
+ pf2->getClassInfo2 (classIdx, info2);\r
+ }\r
+ else\r
+ {\r
+ info2 = nullptr;\r
+ }\r
+\r
+ if (pf3.loadFrom (factory))\r
+ {\r
+ pf3->setHostContext (host->getFUnknown());\r
+ infoW = new PClassInfoW();\r
+ pf3->getClassInfoUnicode (classIdx, infoW);\r
+ }\r
+ else\r
+ {\r
+ infoW = nullptr;\r
+ }\r
+\r
+ Vst::BusInfo bus;\r
+ int totalNumInputChannels = 0, totalNumOutputChannels = 0;\r
+\r
+ int n = component->getBusCount(Vst::kAudio, Vst::kInput);\r
+ for (int i = 0; i < n; ++i)\r
+ if (component->getBusInfo (Vst::kAudio, Vst::kInput, i, bus) == kResultOk)\r
+ totalNumInputChannels += ((bus.flags & Vst::BusInfo::kDefaultActive) != 0 ? bus.channelCount : 0);\r
+\r
+ n = component->getBusCount(Vst::kAudio, Vst::kOutput);\r
+ for (int i = 0; i < n; ++i)\r
+ if (component->getBusInfo (Vst::kAudio, Vst::kOutput, i, bus) == kResultOk)\r
+ totalNumOutputChannels += ((bus.flags & Vst::BusInfo::kDefaultActive) != 0 ? bus.channelCount : 0);\r
+\r
+ createPluginDescription (description, module->file,\r
+ factoryInfo.vendor, module->name,\r
+ info, info2, infoW,\r
+ totalNumInputChannels,\r
+ totalNumOutputChannels);\r
+ }\r
+\r
+ jassertfalse;\r
+ }\r
+\r
+ //==============================================================================\r
+ bool initialise()\r
+ {\r
+ if (isComponentInitialised) return true;\r
+\r
+ #if JUCE_WINDOWS\r
+ // On Windows it's highly advisable to create your plugins using the message thread,\r
+ // because many plugins need a chance to create HWNDs that will get their messages\r
+ // delivered by the main message thread, and that's not possible from a background thread.\r
+ jassert (MessageManager::getInstance()->isThisTheMessageThread());\r
+ #endif\r
+\r
+ factory = ComSmartPtr<IPluginFactory> (module->getPluginFactory());\r
+\r
+ int classIdx;\r
+ if ((classIdx = getClassIndex (module->name)) < 0)\r
+ return false;\r
+\r
+ PClassInfo info;\r
+ if (factory->getClassInfo (classIdx, &info) != kResultOk)\r
+ return false;\r
+\r
+ if (! component.loadFrom (factory, info.cid) || component == nullptr)\r
+ return false;\r
+\r
+ if (warnOnFailure (component->initialize (host->getFUnknown())) != kResultOk)\r
+ return false;\r
+\r
+ isComponentInitialised = true;\r
+\r
+ return true;\r
+ }\r
+\r
+ void terminate()\r
+ {\r
+ if (isComponentInitialised) component->terminate();\r
+ isComponentInitialised = false;\r
+ }\r
+\r
+ //==============================================================================\r
+ int getClassIndex (const String& className) const\r
+ {\r
+ PClassInfo info;\r
+ const Steinberg::int32 numClasses = factory->countClasses();\r
+\r
+ for (Steinberg::int32 j = 0; j < numClasses; ++j)\r
+ if (factory->getClassInfo (j, &info) == kResultOk\r
+ && std::strcmp (info.category, kVstAudioEffectClass) == 0\r
+ && toString (info.name).trim() == className)\r
+ return j;\r
+\r
+ return -1;\r
+ }\r
+\r
+ //==============================================================================\r
+ VST3ModuleHandle::Ptr module;\r
+ ComSmartPtr<IPluginFactory> factory;\r
+ ComSmartPtr<VST3HostContext> host;\r
+ ComSmartPtr<Vst::IComponent> component;\r
+\r
+ bool isComponentInitialised;\r
+};\r
+\r
//==============================================================================\r
class VST3PluginInstance : public AudioPluginInstance\r
{\r
public:\r
- VST3PluginInstance (const VST3ModuleHandle::Ptr& handle)\r
- : module (handle),\r
- numInputAudioBusses (0),\r
- numOutputAudioBusses (0),\r
+ VST3PluginInstance (VST3ComponentHolder* componentHolder)\r
+ : AudioPluginInstance (getBusProperties (componentHolder->component)),\r
+ holder (componentHolder),\r
programParameterID ((Vst::ParamID) -1),\r
inputParameterChanges (new ParamValueQueueList()),\r
outputParameterChanges (new ParamValueQueueList()),\r
midiInputs (new MidiEventList()),\r
midiOutputs (new MidiEventList()),\r
- isComponentInitialised (false),\r
isControllerInitialised (false),\r
isActive (false)\r
{\r
- host = new VST3HostContext (this);\r
+ holder->host->setPlugin (this);\r
}\r
\r
~VST3PluginInstance()\r
editController->setComponentHandler (nullptr);\r
\r
if (isControllerInitialised) editController->terminate();\r
- if (isComponentInitialised) component->terminate();\r
+ holder->terminate();\r
\r
componentConnection = nullptr;\r
editControllerConnection = nullptr;\r
processor = nullptr;\r
editController2 = nullptr;\r
editController = nullptr;\r
- component = nullptr;\r
- host = nullptr;\r
- module = nullptr;\r
}\r
\r
bool initialise()\r
jassert (MessageManager::getInstance()->isThisTheMessageThread());\r
#endif\r
\r
- ComSmartPtr<IPluginFactory> factory (module->getPluginFactory());\r
-\r
- PFactoryInfo factoryInfo;\r
- factory->getFactoryInfo (&factoryInfo);\r
- company = toString (factoryInfo.vendor).trim();\r
-\r
- if (! fetchComponentAndController (factory, factory->countClasses()))\r
+ if (! holder->initialise())\r
return false;\r
\r
+ if (! isControllerInitialised)\r
+ {\r
+ if (! holder->fetchController (editController))\r
+ return false;\r
+ }\r
+\r
// (May return an error if the plugin combines the IComponent and IEditController implementations)\r
- editController->initialize (host->getFUnknown());\r
+ editController->initialize (holder->host->getFUnknown());\r
\r
isControllerInitialised = true;\r
- editController->setComponentHandler (host);\r
+ editController->setComponentHandler (holder->host);\r
grabInformationObjects();\r
interconnectComponentAndController();\r
synchroniseStates();\r
return true;\r
}\r
\r
- //==============================================================================\r
- void fillInPluginDescription (PluginDescription& description) const override\r
- {\r
- jassert (module != nullptr);\r
-\r
- createPluginDescription (description, module->file,\r
- company, module->name,\r
- *info, info2, infoW,\r
- getTotalNumInputChannels(),\r
- getTotalNumOutputChannels());\r
- }\r
-\r
- void* getPlatformSpecificData() override { return component; }\r
+ void* getPlatformSpecificData() override { return holder->component; }\r
void refreshParameterList() override {}\r
\r
//==============================================================================\r
const String getName() const override\r
{\r
+ VST3ModuleHandle::Ptr& module = holder->module;\r
return module != nullptr ? module->name : String();\r
}\r
\r
- void repopulateArrangements()\r
+ void repopulateArrangements (Array<Vst::SpeakerArrangement>& inputArrangements, Array<Vst::SpeakerArrangement>& outputArrangements) const\r
{\r
inputArrangements.clearQuick();\r
outputArrangements.clearQuick();\r
\r
- // NB: Some plugins need a valid arrangement despite specifying 0 for their I/O busses\r
- for (int i = 0; i < jmax (1, numInputAudioBusses); ++i)\r
+ const int numInputAudioBuses = getBusCount (true);\r
+ const int numOutputAudioBuses = getBusCount (false);\r
+\r
+ for (int i = 0; i < numInputAudioBuses; ++i)\r
inputArrangements.add (getArrangementForBus (processor, true, i));\r
\r
- for (int i = 0; i < jmax (1, numOutputAudioBusses); ++i)\r
+ for (int i = 0; i < numOutputAudioBuses; ++i)\r
outputArrangements.add (getArrangementForBus (processor, false, i));\r
}\r
\r
+ void processorLayoutsToArrangements (Array<Vst::SpeakerArrangement>& inputArrangements, Array<Vst::SpeakerArrangement>& outputArrangements)\r
+ {\r
+ inputArrangements.clearQuick();\r
+ outputArrangements.clearQuick();\r
+\r
+ const int numInputBuses = getBusCount (true);\r
+ const int numOutputBuses = getBusCount (false);\r
+\r
+ for (int i = 0; i < numInputBuses; ++i)\r
+ inputArrangements.add (getVst3SpeakerArrangement (getBus (true, i)->getLastEnabledLayout()));\r
+\r
+ for (int i = 0; i < numOutputBuses; ++i)\r
+ outputArrangements.add (getVst3SpeakerArrangement (getBus (false, i)->getLastEnabledLayout()));\r
+ }\r
+\r
void prepareToPlay (double newSampleRate, int estimatedSamplesPerBlock) override\r
{\r
// Avoid redundantly calling things like setActive, which can be a heavy-duty call for some plugins:\r
\r
warnOnFailure (processor->setupProcessing (setup));\r
\r
- if (! isComponentInitialised)\r
- isComponentInitialised = component->initialize (host->getFUnknown()) == kResultTrue;\r
+ holder->initialise();\r
+ editController->setComponentHandler (holder->host);\r
\r
- editController->setComponentHandler (host);\r
\r
- if (inputArrangements.size() <= 0 || outputArrangements.size() <= 0)\r
- repopulateArrangements();\r
+ Array<Vst::SpeakerArrangement> inputArrangements, outputArrangements;\r
+ processorLayoutsToArrangements (inputArrangements, outputArrangements);\r
\r
- warnOnFailure (processor->setBusArrangements (inputArrangements.getRawDataPointer(), numInputAudioBusses,\r
- outputArrangements.getRawDataPointer(), numOutputAudioBusses));\r
+ warnOnFailure (processor->setBusArrangements (inputArrangements.getRawDataPointer(), inputArrangements.size(),\r
+ outputArrangements.getRawDataPointer(), outputArrangements.size()));\r
\r
- // Update the num. busses in case the configuration has been modified by the plugin. (May affect number of channels!):\r
- const int newNumInputAudioBusses = getNumSingleDirectionBussesFor (component, true, true);\r
- const int newNumOutputAudioBusses = getNumSingleDirectionBussesFor (component, false, true);\r
-\r
- // Repopulate arrangements if the number of busses have changed:\r
- if (numInputAudioBusses != newNumInputAudioBusses\r
- || numOutputAudioBusses != newNumOutputAudioBusses)\r
- {\r
- numInputAudioBusses = newNumInputAudioBusses;\r
- numOutputAudioBusses = newNumOutputAudioBusses;\r
+ Array<Vst::SpeakerArrangement> actualInArr, actualOutArr;\r
+ repopulateArrangements (actualInArr, actualOutArr);\r
\r
- repopulateArrangements();\r
- }\r
+ jassert (actualInArr == inputArrangements && actualOutArr == outputArrangements);\r
\r
// Needed for having the same sample rate in processBlock(); some plugins need this!\r
- setPlayConfigDetails (getNumSingleDirectionChannelsFor (component, true, true),\r
- getNumSingleDirectionChannelsFor (component, false, true),\r
- newSampleRate, estimatedSamplesPerBlock);\r
+ setRateAndBufferSizeDetails (newSampleRate, estimatedSamplesPerBlock);\r
+\r
+ const int numInputBuses = getBusCount (true);\r
+ const int numOutputBuses = getBusCount (false);\r
+\r
+ for (int i = 0; i < numInputBuses; ++i)\r
+ warnOnFailure (holder->component->activateBus (Vst::kAudio, Vst::kInput, i, getBus (true, i)->isEnabled() ? 1 : 0));\r
\r
- setStateForAllBusses (true);\r
+ for (int i = 0; i < numOutputBuses; ++i)\r
+ warnOnFailure (holder->component->activateBus (Vst::kAudio, Vst::kOutput, i, getBus (false, i)->isEnabled() ? 1 : 0));\r
\r
setLatencySamples (jmax (0, (int) processor->getLatencySamples()));\r
+ cachedBusLayouts = getBusesLayout();\r
\r
- warnOnFailure (component->setActive (true));\r
+ warnOnFailure (holder->component->setActive (true));\r
warnOnFailure (processor->setProcessing (true));\r
\r
isActive = true;\r
\r
isActive = false;\r
\r
- setStateForAllBusses (false);\r
+ setStateForAllMidiBuses (false);\r
\r
if (processor != nullptr)\r
warnOnFailure (processor->setProcessing (false));\r
\r
- if (component != nullptr)\r
- warnOnFailure (component->setActive (false));\r
+ if (holder->component != nullptr)\r
+ warnOnFailure (holder->component->setActive (false));\r
}\r
\r
bool supportsDoublePrecisionProcessing() const override\r
using namespace Vst;\r
const int numSamples = buffer.getNumSamples();\r
\r
+ const int numInputAudioBuses = getBusCount (true);\r
+ const int numOutputAudioBuses = getBusCount (false);\r
+\r
ProcessData data;\r
data.processMode = isNonRealtime() ? kOffline : kRealtime;\r
data.symbolicSampleSize = sampleSize;\r
- data.numInputs = numInputAudioBusses;\r
- data.numOutputs = numOutputAudioBusses;\r
+ data.numInputs = numInputAudioBuses;\r
+ data.numOutputs = numOutputAudioBuses;\r
data.inputParameterChanges = inputParameterChanges;\r
data.outputParameterChanges = outputParameterChanges;\r
data.numSamples = (Steinberg::int32) numSamples;\r
inputParameterChanges->clearAllQueues();\r
}\r
\r
+ //==============================================================================\r
+ bool canAddBus (bool) const override { return false; }\r
+ bool canRemoveBus (bool) const override { return false; }\r
+\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override\r
+ {\r
+ // if the processor is not active, we ask the underlying plug-in if the\r
+ // layout is actually supported\r
+ if (! isActive)\r
+ return canApplyBusesLayout (layouts);\r
+\r
+ // not much we can do to check the layout while the audio processor is running\r
+ // Let's at least check if it is a VST3 compatible layout\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const int n = getBusCount (isInput);\r
+ for (int i = 0; i < n; ++i)\r
+ if (getChannelLayoutOfBus(isInput, i).isDiscreteLayout())\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+ bool syncBusLayouts (const BusesLayout& layouts) const\r
+ {\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const int n = getBusCount (isInput);\r
+ const Vst::BusDirection vstDir = (isInput ? Vst::kInput : Vst::kOutput);\r
+\r
+ for (int busIdx = 0; busIdx < n; ++busIdx)\r
+ {\r
+ const bool isEnabled = (! layouts.getChannelSet (isInput, busIdx).isDisabled());\r
+ if (holder->component->activateBus (Vst::kAudio, vstDir, busIdx, (isEnabled ? 1 : 0)) != kResultOk)\r
+ return false;\r
+ }\r
+ }\r
+\r
+ Array<Vst::SpeakerArrangement> inputArrangements, outputArrangements;\r
+\r
+ for (int i = 0; i < layouts.inputBuses.size(); ++i)\r
+ {\r
+ const AudioChannelSet& requested = layouts.getChannelSet (true, i);\r
+ inputArrangements.add (getVst3SpeakerArrangement (requested.isDisabled() ? getBus (true, i)->getLastEnabledLayout() : requested));\r
+ }\r
+\r
+ for (int i = 0; i < layouts.outputBuses.size(); ++i)\r
+ {\r
+ const AudioChannelSet& requested = layouts.getChannelSet (false, i);\r
+ outputArrangements.add (getVst3SpeakerArrangement (requested.isDisabled() ? getBus (false, i)->getLastEnabledLayout() : requested));\r
+ }\r
+\r
+ if (processor->setBusArrangements (inputArrangements.getRawDataPointer(), inputArrangements.size(),\r
+ outputArrangements.getRawDataPointer(), outputArrangements.size()) != kResultTrue)\r
+ return false;\r
+\r
+ // check if the layout matches the request\r
+ Array<Vst::SpeakerArrangement> actualIn, actualOut;\r
+ repopulateArrangements (actualIn, actualOut);\r
+\r
+ return (actualIn == inputArrangements && actualOut == outputArrangements);\r
+ }\r
+\r
+ bool canApplyBusesLayout (const BusesLayout& layouts) const override\r
+ {\r
+ // someone tried to change the layout while the AudioProcessor is running\r
+ // call releaseResources first!\r
+ jassert (! isActive);\r
+\r
+ bool result = syncBusLayouts (layouts);\r
+\r
+ // didn't succeed? Make sure it's back in it's original state\r
+ if (! result)\r
+ syncBusLayouts (getBusesLayout());\r
+\r
+ return result;\r
+ }\r
+\r
//==============================================================================\r
String getChannelName (int channelIndex, bool forInput, bool forAudioChannel) const\r
{\r
- const int numBusses = getNumSingleDirectionBussesFor (component, forInput, forAudioChannel);\r
+ const int numBuses = getNumSingleDirectionBusesFor (holder->component, forInput, forAudioChannel);\r
int numCountedChannels = 0;\r
\r
- for (int i = 0; i < numBusses; ++i)\r
+ for (int i = 0; i < numBuses; ++i)\r
{\r
Vst::BusInfo busInfo (getBusInfo (forInput, forAudioChannel, i));\r
\r
//==============================================================================\r
void reset() override\r
{\r
- if (component != nullptr && processor != nullptr)\r
+ if (holder->component != nullptr && processor != nullptr)\r
{\r
processor->setProcessing (false);\r
- component->setActive (false);\r
+ holder->component->setActive (false);\r
\r
- component->setActive (true);\r
+ holder->component->setActive (true);\r
processor->setProcessing (true);\r
}\r
}\r
{\r
XmlElement state ("VST3PluginState");\r
\r
- appendStateFrom (state, component, "IComponent");\r
+ appendStateFrom (state, holder->component, "IComponent");\r
appendStateFrom (state, editController, "IEditController");\r
\r
AudioProcessor::copyXmlToBinary (state, destData);\r
{\r
ComSmartPtr<Steinberg::MemoryStream> s (createMemoryStreamForState (*head, "IComponent"));\r
\r
- if (s != nullptr && component != nullptr)\r
- component->setState (s);\r
+ if (s != nullptr && holder->component != nullptr)\r
+ holder->component->setState (s);\r
\r
if (editController != nullptr)\r
{\r
}\r
}\r
\r
+ //==============================================================================\r
+ void fillInPluginDescription (PluginDescription& description) const override\r
+ {\r
+ holder->fillInPluginDescription (description);\r
+ }\r
+\r
/** @note Not applicable to VST3 */\r
void getCurrentProgramStateInformation (MemoryBlock& destData) override\r
{\r
\r
struct ParamValueQueue : public Vst::IParamValueQueue\r
{\r
- ParamValueQueue () : paramID (static_cast<Vst::ParamID> (-1))\r
+ ParamValueQueue() : paramID (static_cast<Vst::ParamID> (-1))\r
{\r
points.ensureStorageAllocated (1024);\r
}\r
\r
private:\r
//==============================================================================\r
- VST3ModuleHandle::Ptr module;\r
+ ScopedPointer<VST3ComponentHolder> holder;\r
\r
friend VST3HostContext;\r
- ComSmartPtr<VST3HostContext> host;\r
\r
// Information objects:\r
String company;\r
ScopedPointer<PClassInfoW> infoW;\r
\r
// Rudimentary interfaces:\r
- ComSmartPtr<Vst::IComponent> component;\r
ComSmartPtr<Vst::IEditController> editController;\r
ComSmartPtr<Vst::IEditController2> editController2;\r
ComSmartPtr<Vst::IAudioProcessor> processor;\r
ComSmartPtr<Vst::IConnectionPoint> componentConnection;\r
ComSmartPtr<Vst::IConnectionPoint> editControllerConnection;\r
\r
- /** The number of IO busses MUST match that of the plugin,\r
+ /** The number of IO buses MUST match that of the plugin,\r
even if there aren't enough channels to process,\r
as very poorly specified by the Steinberg SDK\r
*/\r
- int numInputAudioBusses, numOutputAudioBusses;\r
- Array<Vst::SpeakerArrangement> inputArrangements, outputArrangements; // Caching to improve performance and to avoid possible non-thread-safe calls to getBusArrangements().\r
VST3FloatAndDoubleBusMapComposite inputBusMap, outputBusMap;\r
- Array<Vst::AudioBusBuffers> inputBusses, outputBusses;\r
+ Array<Vst::AudioBusBuffers> inputBuses, outputBuses;\r
+ AudioProcessor::BusesLayout cachedBusLayouts;\r
\r
StringArray programNames;\r
Vst::ParamID programParameterID;\r
ComSmartPtr<ParamValueQueueList> inputParameterChanges, outputParameterChanges;\r
ComSmartPtr<MidiEventList> midiInputs, midiOutputs;\r
Vst::ProcessContext timingInfo; //< Only use this in processBlock()!\r
- bool isComponentInitialised, isControllerInitialised, isActive;\r
+ bool isControllerInitialised, isActive;\r
\r
//==============================================================================\r
- bool fetchComponentAndController (IPluginFactory* factory, const Steinberg::int32 numClasses)\r
- {\r
- jassert (numClasses >= 0); // The plugin must provide at least an IComponent and IEditController!\r
-\r
- for (Steinberg::int32 j = 0; j < numClasses; ++j)\r
- {\r
- info = new PClassInfo();\r
- factory->getClassInfo (j, info);\r
-\r
- if (std::strcmp (info->category, kVstAudioEffectClass) != 0)\r
- continue;\r
-\r
- const String name (toString (info->name).trim());\r
-\r
- if (module->name != name)\r
- continue;\r
-\r
- {\r
- ComSmartPtr<IPluginFactory2> pf2;\r
- ComSmartPtr<IPluginFactory3> pf3;\r
-\r
- if (pf2.loadFrom (factory))\r
- {\r
- info2 = new PClassInfo2();\r
- pf2->getClassInfo2 (j, info2);\r
- }\r
- else\r
- {\r
- info2 = nullptr;\r
- }\r
-\r
- if (pf3.loadFrom (factory))\r
- {\r
- pf3->setHostContext (host->getFUnknown());\r
- infoW = new PClassInfoW();\r
- pf3->getClassInfoUnicode (j, infoW);\r
- }\r
- else\r
- {\r
- infoW = nullptr;\r
- }\r
- }\r
-\r
- bool failed = true;\r
-\r
- if (component.loadFrom (factory, info->cid) && component != nullptr)\r
- {\r
- warnOnFailure (component->setIoMode (isNonRealtime() ? Vst::kOffline : Vst::kRealtime));\r
-\r
- if (warnOnFailure (component->initialize (host->getFUnknown())) != kResultOk)\r
- return false;\r
-\r
- isComponentInitialised = true;\r
-\r
- // Get the IEditController:\r
- TUID controllerCID = { 0 };\r
-\r
- if (component->getControllerClassId (controllerCID) == kResultTrue && FUID (controllerCID).isValid())\r
- editController.loadFrom (factory, controllerCID);\r
-\r
- if (editController == nullptr)\r
- {\r
- // Try finding the IEditController the long way around:\r
- for (Steinberg::int32 i = 0; i < numClasses; ++i)\r
- {\r
- PClassInfo classInfo;\r
- factory->getClassInfo (i, &classInfo);\r
-\r
- if (std::strcmp (classInfo.category, kVstComponentControllerClass) == 0)\r
- editController.loadFrom (factory, classInfo.cid);\r
- }\r
- }\r
-\r
- if (editController == nullptr)\r
- editController.loadFrom (component);\r
-\r
- failed = editController == nullptr;\r
- }\r
-\r
- if (failed)\r
- {\r
- jassertfalse; // The plugin won't function without a valid IComponent and IEditController implementation!\r
-\r
- if (component != nullptr)\r
- {\r
- component->terminate();\r
- component = nullptr;\r
- }\r
-\r
- if (editController != nullptr)\r
- {\r
- editController->terminate();\r
- editController = nullptr;\r
- }\r
-\r
- break;\r
- }\r
-\r
- return true;\r
- }\r
-\r
- return false;\r
- }\r
-\r
/** Some plugins need to be "connected" to intercommunicate between their implemented classes */\r
void interconnectComponentAndController()\r
{\r
- componentConnection.loadFrom (component);\r
+ componentConnection.loadFrom (holder->component);\r
editControllerConnection.loadFrom (editController);\r
\r
if (componentConnection != nullptr && editControllerConnection != nullptr)\r
{\r
Steinberg::MemoryStream stream;\r
\r
- if (component->getState (&stream) == kResultTrue)\r
+ if (holder->component->getState (&stream) == kResultTrue)\r
if (stream.seek (0, Steinberg::IBStream::kIBSeekSet, nullptr) == kResultTrue)\r
warnOnFailure (editController->setComponentState (&stream));\r
}\r
\r
void grabInformationObjects()\r
{\r
- processor.loadFrom (component);\r
- unitInfo.loadFrom (component);\r
- programListData.loadFrom (component);\r
- unitData.loadFrom (component);\r
- editController2.loadFrom (component);\r
- componentHandler.loadFrom (component);\r
- componentHandler2.loadFrom (component);\r
+ processor.loadFrom (holder->component);\r
+ unitInfo.loadFrom (holder->component);\r
+ programListData.loadFrom (holder->component);\r
+ unitData.loadFrom (holder->component);\r
+ editController2.loadFrom (holder->component);\r
+ componentHandler.loadFrom (holder->component);\r
+ componentHandler2.loadFrom (holder->component);\r
\r
if (processor == nullptr) processor.loadFrom (editController);\r
if (unitInfo == nullptr) unitInfo.loadFrom (editController);\r
if (componentHandler2 == nullptr) componentHandler2.loadFrom (editController);\r
}\r
\r
- void setStateForAllBusses (bool newState)\r
+ void setStateForAllMidiBuses (bool newState)\r
{\r
- setStateForAllBussesOfType (component, newState, true, true); // Activate/deactivate audio inputs\r
- setStateForAllBussesOfType (component, newState, false, true); // Activate/deactivate audio outputs\r
- setStateForAllBussesOfType (component, newState, true, false); // Activate/deactivate MIDI inputs\r
- setStateForAllBussesOfType (component, newState, false, false); // Activate/deactivate MIDI outputs\r
+ setStateForAllBusesOfType (holder->component, newState, true, false); // Activate/deactivate MIDI inputs\r
+ setStateForAllBusesOfType (holder->component, newState, false, false); // Activate/deactivate MIDI outputs\r
}\r
\r
void setupIO()\r
{\r
- setStateForAllBusses (true);\r
+ setStateForAllMidiBuses (true);\r
\r
Vst::ProcessSetup setup;\r
setup.symbolicSampleSize = Vst::kSample32;\r
\r
warnOnFailure (processor->setupProcessing (setup));\r
\r
- numInputAudioBusses = getNumSingleDirectionBussesFor (component, true, true);\r
- numOutputAudioBusses = getNumSingleDirectionBussesFor (component, false, true);\r
+ cachedBusLayouts = getBusesLayout();\r
+ setRateAndBufferSizeDetails (setup.sampleRate, (int) setup.maxSamplesPerBlock);\r
+ }\r
+\r
+ static AudioProcessor::BusesProperties getBusProperties (ComSmartPtr<Vst::IComponent>& component)\r
+ {\r
+ AudioProcessor::BusesProperties busProperties;\r
+ ComSmartPtr<Vst::IAudioProcessor> processor;\r
+ processor.loadFrom (component.get());\r
+\r
+ for (int dirIdx = 0; dirIdx < 2; ++dirIdx)\r
+ {\r
+ const bool isInput = (dirIdx == 0);\r
+ const Vst::BusDirection dir = (isInput ? Vst::kInput : Vst::kOutput);\r
+ const int numBuses = component->getBusCount (Vst::kAudio, dir);\r
+\r
+ for (int i = 0; i < numBuses; ++i)\r
+ {\r
+ Vst::BusInfo info;\r
+\r
+ if (component->getBusInfo (Vst::kAudio, dir, (Steinberg::int32) i, info) != kResultOk)\r
+ continue;\r
+\r
+ if (info.channelCount == 0)\r
+ continue;\r
+\r
+ AudioChannelSet layout = AudioChannelSet::discreteChannels (info.channelCount);\r
\r
- setPlayConfigDetails (getNumSingleDirectionChannelsFor (component, true, true),\r
- getNumSingleDirectionChannelsFor (component, false, true),\r
- setup.sampleRate, (int) setup.maxSamplesPerBlock);\r
+ Vst::SpeakerArrangement arr;\r
+ if (processor != nullptr && processor->getBusArrangement (dir, i, arr) == kResultOk)\r
+ layout = getChannelSetForSpeakerArrangement (arr);\r
+\r
+ busProperties.addBus (isInput, toString (info.name), layout,\r
+ (info.flags & Vst::BusInfo::kDefaultActive) != 0);\r
+ }\r
+ }\r
+\r
+ return busProperties;\r
}\r
\r
//==============================================================================\r
busInfo.direction = forInput ? Vst::kInput : Vst::kOutput;\r
busInfo.channelCount = 0;\r
\r
- component->getBusInfo (busInfo.mediaType, busInfo.direction,\r
- (Steinberg::int32) index, busInfo);\r
+ holder->component->getBusInfo (busInfo.mediaType, busInfo.direction,\r
+ (Steinberg::int32) index, busInfo);\r
return busInfo;\r
}\r
\r
template <typename FloatType>\r
void associateTo (Vst::ProcessData& destination, AudioBuffer<FloatType>& buffer)\r
{\r
- VST3BufferExchange<FloatType>::mapBufferToBusses (inputBusses, inputBusMap.get<FloatType>(), inputArrangements, buffer);\r
- VST3BufferExchange<FloatType>::mapBufferToBusses (outputBusses, outputBusMap.get<FloatType>(), outputArrangements, buffer);\r
+ VST3BufferExchange<FloatType>::mapBufferToBuses (inputBuses, inputBusMap.get<FloatType>(), cachedBusLayouts.inputBuses, buffer);\r
+ VST3BufferExchange<FloatType>::mapBufferToBuses (outputBuses, outputBusMap.get<FloatType>(), cachedBusLayouts.outputBuses, buffer);\r
\r
- destination.inputs = inputBusses.getRawDataPointer();\r
- destination.outputs = outputBusses.getRawDataPointer();\r
+ destination.inputs = inputBuses.getRawDataPointer();\r
+ destination.outputs = outputBuses.getRawDataPointer();\r
}\r
\r
void associateTo (Vst::ProcessData& destination, MidiBuffer& midiBuffer)\r
return paramInfo;\r
}\r
\r
- void syncProgramNames ()\r
+ void syncProgramNames()\r
{\r
programNames.clear();\r
\r
\r
};\r
\r
+//==============================================================================\r
+AudioPluginInstance* VST3Classes::VST3ComponentHolder::createPluginInstance()\r
+{\r
+ if (! initialise())\r
+ return nullptr;\r
+\r
+ VST3PluginInstance* plugin = new VST3PluginInstance (this);\r
+ host->setPlugin (plugin);\r
+ return plugin;\r
+}\r
+\r
+\r
//==============================================================================\r
VST3PluginFormat::VST3PluginFormat() {}\r
VST3PluginFormat::~VST3PluginFormat() {}\r
{\r
ScopedPointer<VST3Classes::VST3PluginInstance> result;\r
\r
-\r
if (fileMightContainThisPluginType (description.fileOrIdentifier))\r
{\r
File file (description.fileOrIdentifier);\r
\r
if (const VST3Classes::VST3ModuleHandle::Ptr module = VST3Classes::VST3ModuleHandle::findOrCreateModule (file, description))\r
{\r
- result = new VST3Classes::VST3PluginInstance (module);\r
-\r
- if (! result->initialise())\r
- result = nullptr;\r
+ ScopedPointer<VST3Classes::VST3ComponentHolder> holder = new VST3Classes::VST3ComponentHolder (module);\r
+ if (holder->initialise())\r
+ {\r
+ result = new VST3Classes::VST3PluginInstance (holder.release());\r
+ if (! result->initialise())\r
+ result = nullptr;\r
+ }\r
}\r
\r
previousWorkingDirectory.setAsCurrentWorkingDirectory();\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#ifndef JUCE_VSTCOMMON_H_INCLUDED\r
+#define JUCE_VSTCOMMON_H_INCLUDED\r
+\r
+//==============================================================================\r
+struct SpeakerMappings : private AudioChannelSet // (inheritance only to give easier access to items in the namespace)\r
+{\r
+ struct Mapping\r
+ {\r
+ int32 vst2;\r
+ ChannelType channels[13];\r
+\r
+ bool matches (const Array<ChannelType>& chans) const noexcept\r
+ {\r
+ const int n = sizeof (channels) / sizeof (ChannelType);\r
+\r
+ for (int i = 0; i < n; ++i)\r
+ {\r
+ if (channels[i] == unknown) return (i == chans.size());\r
+ if (i == chans.size()) return (channels[i] == unknown);\r
+\r
+ if (channels[i] != chans.getUnchecked(i))\r
+ return false;\r
+ }\r
+\r
+ return true;\r
+ }\r
+ };\r
+\r
+ static AudioChannelSet vstArrangementTypeToChannelSet (int32 arr, int fallbackNumChannels)\r
+ {\r
+ if (arr == vstSpeakerConfigTypeEmpty) return AudioChannelSet::disabled();\r
+ else if (arr == vstSpeakerConfigTypeMono) return AudioChannelSet::mono();\r
+ else if (arr == vstSpeakerConfigTypeLR) return AudioChannelSet::stereo();\r
+ else if (arr == vstSpeakerConfigTypeLRC) return AudioChannelSet::createLCR();\r
+ else if (arr == vstSpeakerConfigTypeLRS) return AudioChannelSet::createLRS();\r
+ else if (arr == vstSpeakerConfigTypeLRCS) return AudioChannelSet::createLCRS();\r
+ else if (arr == vstSpeakerConfigTypeLRCLsRs) return AudioChannelSet::create5point0();\r
+ else if (arr == vstSpeakerConfigTypeLRCLfeLsRs) return AudioChannelSet::create5point1();\r
+ else if (arr == vstSpeakerConfigTypeLRCLsRsCs) return AudioChannelSet::create6point0();\r
+ else if (arr == vstSpeakerConfigTypeLRCLfeLsRsCs) return AudioChannelSet::create6point1();\r
+ else if (arr == vstSpeakerConfigTypeLRLsRsSlSr) return AudioChannelSet::create6point0Music();\r
+ else if (arr == vstSpeakerConfigTypeLRLfeLsRsSlSr) return AudioChannelSet::create6point1Music();\r
+ else if (arr == vstSpeakerConfigTypeLRCLsRsSlSr) return AudioChannelSet::create7point0();\r
+ else if (arr == vstSpeakerConfigTypeLRCLsRsLcRc) return AudioChannelSet::create7point0SDDS();\r
+ else if (arr == vstSpeakerConfigTypeLRCLfeLsRsSlSr) return AudioChannelSet::create7point1();\r
+ else if (arr == vstSpeakerConfigTypeLRCLfeLsRsLcRc) return AudioChannelSet::create7point1SDDS();\r
+ else if (arr == vstSpeakerConfigTypeLRLsRs) return AudioChannelSet::quadraphonic();\r
+\r
+ for (const Mapping* m = getMappings(); m->vst2 != vstSpeakerConfigTypeEmpty; ++m)\r
+ {\r
+ if (m->vst2 == arr)\r
+ {\r
+ AudioChannelSet s;\r
+\r
+ for (int i = 0; m->channels[i] != 0; ++i)\r
+ s.addChannel (m->channels[i]);\r
+\r
+ return s;\r
+ }\r
+ }\r
+\r
+ return AudioChannelSet::discreteChannels (fallbackNumChannels);\r
+ }\r
+\r
+ static AudioChannelSet vstArrangementTypeToChannelSet (const VstSpeakerConfiguration& arr)\r
+ {\r
+ return vstArrangementTypeToChannelSet (arr.type, arr.numberOfChannels);\r
+ }\r
+\r
+ static int32 channelSetToVstArrangementType (AudioChannelSet channels)\r
+ {\r
+ if (channels == AudioChannelSet::disabled()) return vstSpeakerConfigTypeEmpty;\r
+ else if (channels == AudioChannelSet::mono()) return vstSpeakerConfigTypeMono;\r
+ else if (channels == AudioChannelSet::stereo()) return vstSpeakerConfigTypeLR;\r
+ else if (channels == AudioChannelSet::createLCR()) return vstSpeakerConfigTypeLRC;\r
+ else if (channels == AudioChannelSet::createLRS()) return vstSpeakerConfigTypeLRS;\r
+ else if (channels == AudioChannelSet::createLCRS()) return vstSpeakerConfigTypeLRCS;\r
+ else if (channels == AudioChannelSet::create5point0()) return vstSpeakerConfigTypeLRCLsRs;\r
+ else if (channels == AudioChannelSet::create5point1()) return vstSpeakerConfigTypeLRCLfeLsRs;\r
+ else if (channels == AudioChannelSet::create6point0()) return vstSpeakerConfigTypeLRCLsRsCs;\r
+ else if (channels == AudioChannelSet::create6point1()) return vstSpeakerConfigTypeLRCLfeLsRsCs;\r
+ else if (channels == AudioChannelSet::create6point0Music()) return vstSpeakerConfigTypeLRLsRsSlSr;\r
+ else if (channels == AudioChannelSet::create6point1Music()) return vstSpeakerConfigTypeLRLfeLsRsSlSr;\r
+ else if (channels == AudioChannelSet::create7point0()) return vstSpeakerConfigTypeLRCLsRsSlSr;\r
+ else if (channels == AudioChannelSet::create7point0SDDS()) return vstSpeakerConfigTypeLRCLsRsLcRc;\r
+ else if (channels == AudioChannelSet::create7point1()) return vstSpeakerConfigTypeLRCLfeLsRsSlSr;\r
+ else if (channels == AudioChannelSet::create7point1SDDS()) return vstSpeakerConfigTypeLRCLfeLsRsLcRc;\r
+ else if (channels == AudioChannelSet::quadraphonic()) return vstSpeakerConfigTypeLRLsRs;\r
+\r
+ Array<AudioChannelSet::ChannelType> chans (channels.getChannelTypes());\r
+\r
+ if (channels == AudioChannelSet::disabled())\r
+ return vstSpeakerConfigTypeEmpty;\r
+\r
+ for (const Mapping* m = getMappings(); m->vst2 != vstSpeakerConfigTypeEmpty; ++m)\r
+ if (m->matches (chans))\r
+ return m->vst2;\r
+\r
+ return vstSpeakerConfigTypeUser;\r
+ }\r
+\r
+ static void channelSetToVstArrangement (const AudioChannelSet& channels, VstSpeakerConfiguration& result)\r
+ {\r
+ result.type = channelSetToVstArrangementType (channels);\r
+ result.numberOfChannels = channels.size();\r
+\r
+ for (int i = 0; i < result.numberOfChannels; ++i)\r
+ {\r
+ VstIndividualSpeakerInfo& speaker = result.speakers[i];\r
+\r
+ zeromem (&speaker, sizeof (VstIndividualSpeakerInfo));\r
+ speaker.type = getSpeakerType (channels.getTypeOfChannel (i));\r
+ }\r
+ }\r
+\r
+ static const Mapping* getMappings() noexcept\r
+ {\r
+ static const Mapping mappings[] =\r
+ {\r
+ { vstSpeakerConfigTypeMono, { centre, unknown } },\r
+ { vstSpeakerConfigTypeLR, { left, right, unknown } },\r
+ { vstSpeakerConfigTypeLsRs, { leftSurround, rightSurround, unknown } },\r
+ { vstSpeakerConfigTypeLcRc, { leftCentre, rightCentre, unknown } },\r
+ { vstSpeakerConfigTypeSlSr, { leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeCLfe, { centre, LFE, unknown } },\r
+ { vstSpeakerConfigTypeLRC, { left, right, centre, unknown } },\r
+ { vstSpeakerConfigTypeLRS, { left, right, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfe, { left, right, centre, LFE, unknown } },\r
+ { vstSpeakerConfigTypeLRLfeS, { left, right, LFE, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRCS, { left, right, centre, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRLsRs, { left, right, leftSurround, rightSurround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeS, { left, right, centre, LFE, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRLfeLsRs, { left, right, LFE, leftSurround, rightSurround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLsRs, { left, right, centre, leftSurround, rightSurround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRs, { left, right, centre, LFE, leftSurround, rightSurround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLsRsCs, { left, right, centre, leftSurround, rightSurround, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRLsRsSlSr, { left, right, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsCs, { left, right, centre, LFE, leftSurround, rightSurround, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRLfeLsRsSlSr, { left, right, LFE, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLsRsLcRc, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } },\r
+ { vstSpeakerConfigTypeLRCLsRsSlSr, { left, right, centre, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsLcRc, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsSlSr, { left, right, centre, LFE, leftSurround, rightSurround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLsRsLcRcCs, { left, right, centre, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLsRsCsSlSr, { left, right, centre, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsLcRcCs, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontRight, surround, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsCsSlSr, { left, right, centre, LFE, leftSurround, rightSurround, surround, leftSurroundRear, rightSurroundRear, unknown } },\r
+ { vstSpeakerConfigTypeLRCLfeLsRsTflTfcTfrTrlTrrLfe2, { left, right, centre, LFE, leftSurround, rightSurround, topFrontLeft, topFrontCentre, topFrontRight, topRearLeft, topRearRight, LFE2, unknown } },\r
+ { vstSpeakerConfigTypeEmpty, { unknown } }\r
+ };\r
+\r
+ return mappings;\r
+ }\r
+\r
+ static inline int32 getSpeakerType (AudioChannelSet::ChannelType type) noexcept\r
+ {\r
+ switch (type)\r
+ {\r
+ case AudioChannelSet::left: return vstIndividualSpeakerTypeLeft;\r
+ case AudioChannelSet::right: return vstIndividualSpeakerTypeRight;\r
+ case AudioChannelSet::centre: return vstIndividualSpeakerTypeCentre;\r
+ case AudioChannelSet::LFE: return vstIndividualSpeakerTypeLFE;\r
+ case AudioChannelSet::leftSurround: return vstIndividualSpeakerTypeLeftSurround;\r
+ case AudioChannelSet::rightSurround: return vstIndividualSpeakerTypeRightSurround;\r
+ case AudioChannelSet::leftCentre: return vstIndividualSpeakerTypeLeftCentre;\r
+ case AudioChannelSet::rightCentre: return vstIndividualSpeakerTypeRightCentre;\r
+ case AudioChannelSet::surround: return vstIndividualSpeakerTypeSurround;\r
+ case AudioChannelSet::leftSurroundRear: return vstIndividualSpeakerTypeLeftRearSurround;\r
+ case AudioChannelSet::rightSurroundRear: return vstIndividualSpeakerTypeRightRearSurround;\r
+ case AudioChannelSet::topMiddle: return vstIndividualSpeakerTypeTopMiddle;\r
+ case AudioChannelSet::topFrontLeft: return vstIndividualSpeakerTypeTopFrontLeft;\r
+ case AudioChannelSet::topFrontCentre: return vstIndividualSpeakerTypeTopFrontCentre;\r
+ case AudioChannelSet::topFrontRight: return vstIndividualSpeakerTypeTopFrontRight;\r
+ case AudioChannelSet::topRearLeft: return vstIndividualSpeakerTypeTopRearLeft;\r
+ case AudioChannelSet::topRearCentre: return vstIndividualSpeakerTypeTopRearCentre;\r
+ case AudioChannelSet::topRearRight: return vstIndividualSpeakerTypeTopRearRight;\r
+ case AudioChannelSet::LFE2: return vstIndividualSpeakerTypeLFE2;\r
+ default: break;\r
+ }\r
+\r
+ return 0;\r
+ }\r
+\r
+ static inline AudioChannelSet::ChannelType getChannelType (int32 type) noexcept\r
+ {\r
+ switch (type)\r
+ {\r
+ case vstIndividualSpeakerTypeLeft: return AudioChannelSet::left;\r
+ case vstIndividualSpeakerTypeRight: return AudioChannelSet::right;\r
+ case vstIndividualSpeakerTypeCentre: return AudioChannelSet::centre;\r
+ case vstIndividualSpeakerTypeLFE: return AudioChannelSet::LFE;\r
+ case vstIndividualSpeakerTypeLeftSurround: return AudioChannelSet::leftSurround;\r
+ case vstIndividualSpeakerTypeRightSurround: return AudioChannelSet::rightSurround;\r
+ case vstIndividualSpeakerTypeLeftCentre: return AudioChannelSet::leftCentre;\r
+ case vstIndividualSpeakerTypeRightCentre: return AudioChannelSet::rightCentre;\r
+ case vstIndividualSpeakerTypeSurround: return AudioChannelSet::surround;\r
+ case vstIndividualSpeakerTypeLeftRearSurround: return AudioChannelSet::leftSurroundRear;\r
+ case vstIndividualSpeakerTypeRightRearSurround: return AudioChannelSet::rightSurroundRear;\r
+ case vstIndividualSpeakerTypeTopMiddle: return AudioChannelSet::topMiddle;\r
+ case vstIndividualSpeakerTypeTopFrontLeft: return AudioChannelSet::topFrontLeft;\r
+ case vstIndividualSpeakerTypeTopFrontCentre: return AudioChannelSet::topFrontCentre;\r
+ case vstIndividualSpeakerTypeTopFrontRight: return AudioChannelSet::topFrontRight;\r
+ case vstIndividualSpeakerTypeTopRearLeft: return AudioChannelSet::topRearLeft;\r
+ case vstIndividualSpeakerTypeTopRearCentre: return AudioChannelSet::topRearCentre;\r
+ case vstIndividualSpeakerTypeTopRearRight: return AudioChannelSet::topRearRight;\r
+ case vstIndividualSpeakerTypeLFE2: return AudioChannelSet::LFE2;\r
+ default: break;\r
+ }\r
+\r
+ return AudioChannelSet::unknown;\r
+ }\r
+};\r
+\r
+#endif // JUCE_VSTCOMMON_H_INCLUDED\r
vstIndividualSpeakerTypeLeft,\r
vstIndividualSpeakerTypeRight,\r
vstIndividualSpeakerTypeCentre,\r
- vstIndividualSpeakerTypeSubbass,\r
+ vstIndividualSpeakerTypeLFE,\r
vstIndividualSpeakerTypeLeftSurround,\r
vstIndividualSpeakerTypeRightSurround,\r
vstIndividualSpeakerTypeLeftCentre,\r
vstIndividualSpeakerTypeTopRearLeft,\r
vstIndividualSpeakerTypeTopRearCentre,\r
vstIndividualSpeakerTypeTopRearRight,\r
- vstIndividualSpeakerTypeSubbass2\r
+ vstIndividualSpeakerTypeLFE2\r
};\r
\r
struct VstSpeakerConfiguration\r
#include "juce_VSTInterface.h"\r
}\r
\r
+#include "juce_VSTCommon.h"\r
+\r
#if JUCE_MSVC\r
#pragma warning (pop)\r
#pragma warning (disable: 4355) // ("this" used in initialiser list warning)\r
//==============================================================================\r
ModuleHandle (const File& f, MainCall customMainCall)\r
: file (f), moduleMain (customMainCall), customMain (nullptr)\r
+ #if JUCE_MAC || JUCE_IOS\r
+ , resHandle (0), bundleRef (0)\r
#if JUCE_MAC\r
- , resHandle (0), bundleRef (0), resFileId (0)\r
+ , resFileId (0)\r
+ #endif\r
#endif\r
{\r
getActiveModules().add (this);\r
private Timer,\r
private AsyncUpdater\r
{\r
-public:\r
- VSTPluginInstance (const ModuleHandle::Ptr& mh)\r
- : effect (nullptr),\r
- module (mh),\r
+private:\r
+ VSTPluginInstance (const ModuleHandle::Ptr& mh, const BusesProperties& ioConfig, VstEffectInterface* effect)\r
+ : AudioPluginInstance (ioConfig),\r
+ vstEffect (effect),\r
+ vstModule (mh),\r
usesCocoaNSView (false),\r
name (mh->pluginName),\r
wantsMidiMessages (false),\r
initialised (false),\r
isPowerOn (false)\r
+ {}\r
+\r
+public:\r
+ ~VSTPluginInstance()\r
{\r
- try\r
+ if (vstEffect != nullptr && vstEffect->interfaceIdentifier == juceVstInterfaceIdentifier)\r
{\r
- const IdleCallRecursionPreventer icrp;\r
- _fpreset();\r
-\r
- JUCE_VST_LOG ("Creating VST instance: " + name);\r
+ struct VSTDeleter : public CallbackMessage\r
+ {\r
+ VSTDeleter (VSTPluginInstance& inInstance, WaitableEvent& inEvent)\r
+ : vstInstance (inInstance), completionSignal (inEvent)\r
+ {}\r
\r
- #if JUCE_MAC\r
- if (module->resFileId != 0)\r
- UseResFile (module->resFileId);\r
- #endif\r
+ void messageCallback() override\r
+ {\r
+ vstInstance.cleanup();\r
+ completionSignal.signal();\r
+ }\r
\r
- {\r
- JUCE_VST_WRAPPER_INVOKE_MAIN\r
- }\r
+ VSTPluginInstance& vstInstance;\r
+ WaitableEvent& completionSignal;\r
+ };\r
\r
- if (effect != nullptr && effect->interfaceIdentifier == juceVstInterfaceIdentifier)\r
+ if (MessageManager::getInstance()->isThisTheMessageThread())\r
{\r
- jassert (effect->hostSpace2 == 0);\r
- jassert (effect->effectPointer != 0);\r
-\r
- _fpreset(); // some dodgy plugs mess around with this\r
+ cleanup();\r
}\r
else\r
{\r
- effect = nullptr;\r
+ WaitableEvent completionEvent;\r
+ (new VSTDeleter (*this, completionEvent))->post();\r
+ completionEvent.wait();\r
}\r
}\r
- catch (...)\r
- {}\r
}\r
\r
- ~VSTPluginInstance()\r
+ void cleanup()\r
{\r
- const ScopedLock sl (lock);\r
- stopTimer();\r
-\r
- if (effect != nullptr && effect->interfaceIdentifier == juceVstInterfaceIdentifier)\r
+ if (vstEffect != nullptr && vstEffect->interfaceIdentifier == juceVstInterfaceIdentifier)\r
{\r
#if JUCE_MAC\r
- if (module->resFileId != 0)\r
- UseResFile (module->resFileId);\r
+ if (vstModule->resFileId != 0)\r
+ UseResFile (vstModule->resFileId);\r
#endif\r
\r
// Must delete any editors before deleting the plugin instance!\r
\r
_fpreset(); // some dodgy plugs fuck around with this\r
\r
- module->closeEffect (effect);\r
+ vstModule->closeEffect (vstEffect);\r
}\r
\r
- module = nullptr;\r
- effect = nullptr;\r
+ vstModule = nullptr;\r
+ vstEffect = nullptr;\r
}\r
\r
+ static VSTPluginInstance* create (const ModuleHandle::Ptr& newModule,\r
+ double initialSampleRate,\r
+ int initialBlockSize)\r
+ {\r
+ if (VstEffectInterface* newEffect = constructEffect (newModule))\r
+ {\r
+ newEffect->hostSpace2 = 0;\r
+\r
+ newEffect->dispatchFunction (newEffect, plugInOpcodeIdentify, 0, 0, 0, 0);\r
+\r
+ newEffect->dispatchFunction (newEffect, plugInOpcodeSetSampleRate, 0, 0, 0, static_cast<float> (initialSampleRate));\r
+ newEffect->dispatchFunction (newEffect, plugInOpcodeSetBlockSize, 0, jmax (32, initialBlockSize), 0, 0);\r
+\r
+ newEffect->dispatchFunction (newEffect, plugInOpcodeOpen, 0, 0, 0, 0);\r
+ BusesProperties ioConfig = queryBusIO (newEffect);\r
+ newEffect->dispatchFunction (newEffect, plugInOpcodeClose, 0, 0, 0, 0);\r
+\r
+ newEffect = constructEffect (newModule);\r
+\r
+ if (newEffect != nullptr)\r
+ return new VSTPluginInstance (newModule, ioConfig, newEffect);\r
+ }\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ //==============================================================================\r
void fillInPluginDescription (PluginDescription& desc) const override\r
{\r
desc.name = name;\r
desc.descriptiveName = name;\r
}\r
\r
- desc.fileOrIdentifier = module->file.getFullPathName();\r
+ desc.fileOrIdentifier = vstModule->file.getFullPathName();\r
desc.uid = getUID();\r
- desc.lastFileModTime = module->file.getLastModificationTime();\r
+ desc.lastFileModTime = vstModule->file.getLastModificationTime();\r
desc.lastInfoUpdateTime = Time::getCurrentTime();\r
desc.pluginFormatName = "VST";\r
desc.category = getCategory();\r
desc.version = getVersion();\r
desc.numInputChannels = getTotalNumInputChannels();\r
desc.numOutputChannels = getTotalNumOutputChannels();\r
- desc.isInstrument = (effect != nullptr && (effect->flags & vstEffectFlagIsSynth) != 0);\r
+ desc.isInstrument = (vstEffect != nullptr && (vstEffect->flags & vstEffectFlagIsSynth) != 0);\r
}\r
\r
bool initialiseEffect (double initialSampleRate, int initialBlockSize)\r
{\r
- if (effect != nullptr)\r
+ if (vstEffect != nullptr)\r
{\r
- effect->hostSpace2 = (pointer_sized_int) (pointer_sized_int) this;\r
+ vstEffect->hostSpace2 = (pointer_sized_int) (pointer_sized_int) this;\r
initialise (initialSampleRate, initialBlockSize);\r
return true;\r
}\r
\r
void initialise (double initialSampleRate, int initialBlockSize)\r
{\r
- if (initialised || effect == nullptr)\r
+ if (initialised || vstEffect == nullptr)\r
return;\r
\r
#if JUCE_WINDOWS\r
jassert (MessageManager::getInstance()->isThisTheMessageThread());\r
#endif\r
\r
- JUCE_VST_LOG ("Initialising VST: " + module->pluginName + " (" + getVersion() + ")");\r
+ JUCE_VST_LOG ("Initialising VST: " + vstModule->pluginName + " (" + getVersion() + ")");\r
initialised = true;\r
\r
- setPlayConfigDetails (effect->numInputChannels, effect->numOutputChannels,\r
- initialSampleRate, initialBlockSize);\r
+ setRateAndBufferSizeDetails (initialSampleRate, initialBlockSize);\r
\r
dispatch (plugInOpcodeIdentify, 0, 0, 0, 0);\r
\r
\r
dispatch (plugInOpcodeOpen, 0, 0, 0, 0);\r
\r
- setPlayConfigDetails (effect->numInputChannels, effect->numOutputChannels,\r
- getSampleRate(), getBlockSize());\r
+ setRateAndBufferSizeDetails (getSampleRate(), getBlockSize());\r
\r
if (getNumPrograms() > 1)\r
setCurrentProgram (0);\r
else\r
dispatch (plugInOpcodeSetCurrentProgram, 0, 0, 0, 0);\r
\r
- for (int i = effect->numInputChannels; --i >= 0;) dispatch (plugInOpcodeConnectInput, i, 1, 0, 0);\r
- for (int i = effect->numOutputChannels; --i >= 0;) dispatch (plugInOpcodeConnectOutput, i, 1, 0, 0);\r
+ for (int i = vstEffect->numInputChannels; --i >= 0;) dispatch (plugInOpcodeConnectInput, i, 1, 0, 0);\r
+ for (int i = vstEffect->numOutputChannels; --i >= 0;) dispatch (plugInOpcodeConnectOutput, i, 1, 0, 0);\r
\r
if (getVstCategory() != kPlugCategShell) // (workaround for Waves 5 plugins which crash during this call)\r
updateStoredProgramNames();\r
usesCocoaNSView = ((unsigned int) pluginCanDo ("hasCockosViewAsConfig") & 0xffff0000ul) == 0xbeef0000ul;\r
#endif\r
\r
- setLatencySamples (effect->latency);\r
+ setLatencySamples (vstEffect->latency);\r
}\r
\r
- void* getPlatformSpecificData() override { return effect; }\r
+ void* getPlatformSpecificData() override { return vstEffect; }\r
\r
const String getName() const override\r
{\r
- if (effect != nullptr)\r
+ if (vstEffect != nullptr)\r
{\r
char buffer[512] = { 0 };\r
\r
\r
int getUID() const\r
{\r
- int uid = effect != nullptr ? effect->plugInIdentifier : 0;\r
+ int uid = vstEffect != nullptr ? vstEffect->plugInIdentifier : 0;\r
\r
if (uid == 0)\r
- uid = module->file.hashCode();\r
+ uid = vstModule->file.hashCode();\r
\r
return uid;\r
}\r
\r
double getTailLengthSeconds() const override\r
{\r
- if (effect == nullptr)\r
+ if (vstEffect == nullptr)\r
return 0.0;\r
\r
const double sampleRate = getSampleRate();\r
//==============================================================================\r
void prepareToPlay (double rate, int samplesPerBlockExpected) override\r
{\r
- setPlayConfigDetails (effect->numInputChannels, effect->numOutputChannels, rate, samplesPerBlockExpected);\r
+ setRateAndBufferSizeDetails (rate, samplesPerBlockExpected);\r
+\r
+ VstSpeakerConfiguration inArr, outArr;\r
+\r
+ SpeakerMappings::channelSetToVstArrangement (getChannelLayoutOfBus (true, 0), inArr);\r
+ SpeakerMappings::channelSetToVstArrangement (getChannelLayoutOfBus (false, 0), outArr);\r
+\r
+ dispatch (plugInOpcodeSetSpeakerConfiguration, 0, reinterpret_cast<pointer_sized_int> (&inArr), &outArr, 0.0f);\r
\r
vstHostTime.tempoBPM = 120.0;\r
vstHostTime.timeSignatureNumerator = 4;\r
int32 vstPrecision = isUsingDoublePrecision() ? vstProcessingSampleTypeDouble\r
: vstProcessingSampleTypeFloat;\r
\r
- // if you get an assertion here then your plug-in claims it supports double precision\r
- // but returns an error when we try to change the precision\r
- pointer_sized_int err = dispatch (plugInOpcodeSetSampleFloatType, 0, (pointer_sized_int) vstPrecision, 0, 0);\r
- jassert (err > 0);\r
- ignoreUnused (err);\r
+ dispatch (plugInOpcodeSetSampleFloatType, 0, (pointer_sized_int) vstPrecision, 0, 0);\r
}\r
\r
- tempBuffer.setSize (jmax (1, effect->numInputChannels), samplesPerBlockExpected);\r
+ tempBuffer.setSize (jmax (1, vstEffect->numInputChannels), samplesPerBlockExpected);\r
\r
if (! isPowerOn)\r
setPower (true);\r
\r
dispatch (plugInOpcodeStartProcess, 0, 0, 0, 0);\r
\r
- setLatencySamples (effect->latency);\r
+ setLatencySamples (vstEffect->latency);\r
}\r
}\r
\r
\r
bool supportsDoublePrecisionProcessing() const override\r
{\r
- return ((effect->flags & vstEffectFlagInplaceAudio) != 0\r
- && (effect->flags & vstEffectFlagInplaceDoubleAudio) != 0);\r
+ return ((vstEffect->flags & vstEffectFlagInplaceAudio) != 0\r
+ && (vstEffect->flags & vstEffectFlagInplaceDoubleAudio) != 0);\r
+ }\r
+\r
+ //==============================================================================\r
+ bool canAddBus (bool) const override { return false; }\r
+ bool canRemoveBus (bool) const override { return false; }\r
+\r
+ bool isBusesLayoutSupported (const BusesLayout& layouts) const override\r
+ {\r
+ const int numInputBuses = getBusCount (true);\r
+ const int numOutputBuses = getBusCount (false);\r
+\r
+ // it's not possible to change layout if there are sidechains/aux buses\r
+ if (numInputBuses > 1 || numOutputBuses > 1)\r
+ return (layouts == getBusesLayout());\r
+\r
+ return (layouts.getNumChannels (true, 0) <= vstEffect->numInputChannels\r
+ && layouts.getNumChannels (false, 0) <= vstEffect->numOutputChannels);\r
}\r
\r
//==============================================================================\r
#if JUCE_IOS\r
bool hasEditor() const override { return false; }\r
#else\r
- bool hasEditor() const override { return effect != nullptr && (effect->flags & vstEffectFlagHasEditor) != 0; }\r
+ bool hasEditor() const override { return vstEffect != nullptr && (vstEffect->flags & vstEffectFlagHasEditor) != 0; }\r
#endif\r
\r
AudioProcessorEditor* createEditor() override;\r
}\r
\r
//==============================================================================\r
- int getNumParameters() override { return effect != nullptr ? effect->numParameters : 0; }\r
+ int getNumParameters() override { return vstEffect != nullptr ? vstEffect->numParameters : 0; }\r
\r
float getParameter (int index) override\r
{\r
- if (effect != nullptr && isPositiveAndBelow (index, (int) effect->numParameters))\r
+ if (vstEffect != nullptr && isPositiveAndBelow (index, (int) vstEffect->numParameters))\r
{\r
const ScopedLock sl (lock);\r
- return effect->getParameterValueFunction (effect, index);\r
+ return vstEffect->getParameterValueFunction (vstEffect, index);\r
}\r
\r
return 0.0f;\r
\r
void setParameter (int index, float newValue) override\r
{\r
- if (effect != nullptr && isPositiveAndBelow (index, (int) effect->numParameters))\r
+ if (vstEffect != nullptr && isPositiveAndBelow (index, (int) vstEffect->numParameters))\r
{\r
const ScopedLock sl (lock);\r
\r
- if (effect->getParameterValueFunction (effect, index) != newValue)\r
- effect->setParameterValueFunction (effect, index, newValue);\r
+ if (vstEffect->getParameterValueFunction (vstEffect, index) != newValue)\r
+ vstEffect->setParameterValueFunction (vstEffect, index, newValue);\r
}\r
}\r
\r
\r
bool isParameterAutomatable (int index) const override\r
{\r
- if (effect != nullptr)\r
+ if (vstEffect != nullptr)\r
{\r
- jassert (index >= 0 && index < effect->numParameters);\r
+ jassert (index >= 0 && index < vstEffect->numParameters);\r
return dispatch (plugInOpcodeIsParameterAutomatable, index, 0, 0, 0) != 0;\r
}\r
\r
}\r
\r
//==============================================================================\r
- int getNumPrograms() override { return effect != nullptr ? jmax (0, effect->numPrograms) : 0; }\r
+ int getNumPrograms() override { return vstEffect != nullptr ? jmax (0, vstEffect->numPrograms) : 0; }\r
\r
// NB: some plugs return negative numbers from this function.\r
int getCurrentProgram() override { return (int) dispatch (plugInOpcodeGetCurrentProgram, 0, 0, 0, 0); }\r
if (index == getCurrentProgram())\r
return getCurrentProgramName();\r
\r
- if (effect != nullptr)\r
+ if (vstEffect != nullptr)\r
{\r
char nm[264] = { 0 };\r
\r
return 1;\r
\r
case hostOpcodeUpdateView: triggerAsyncUpdate(); break;\r
- case hostOpcodeIOModified: setLatencySamples (effect->latency); break;\r
+ case hostOpcodeIOModified: setLatencySamples (vstEffect->latency); break;\r
case hostOpcodeNeedsIdle: startTimer (50); break;\r
\r
case hostOpcodeGetSampleRate: return (pointer_sized_int) (getSampleRate() > 0 ? getSampleRate() : defaultVSTSampleRateValue);\r
{\r
pointer_sized_int result = 0;\r
\r
- if (effect != nullptr)\r
+ if (vstEffect != nullptr)\r
{\r
const ScopedLock sl (lock);\r
const IdleCallRecursionPreventer icrp;\r
#if JUCE_MAC\r
const ResFileRefNum oldResFile = CurResFile();\r
\r
- if (module->resFileId != 0)\r
- UseResFile (module->resFileId);\r
+ if (vstModule->resFileId != 0)\r
+ UseResFile (vstModule->resFileId);\r
#endif\r
\r
- result = effect->dispatchFunction (effect, opcode, index, value, ptr, opt);\r
+ result = vstEffect->dispatchFunction (vstEffect, opcode, index, value, ptr, opt);\r
\r
#if JUCE_MAC\r
const ResFileRefNum newResFile = CurResFile();\r
if (newResFile != oldResFile) // avoid confusing the parent app's resource file with the plug-in's\r
{\r
- module->resFileId = newResFile;\r
+ vstModule->resFileId = newResFile;\r
UseResFile (oldResFile);\r
}\r
#endif\r
return true;\r
}\r
\r
- bool usesChunks() const noexcept { return effect != nullptr && (effect->flags & vstEffectFlagDataInChunks) != 0; }\r
+ bool usesChunks() const noexcept { return vstEffect != nullptr && (vstEffect->flags & vstEffectFlagDataInChunks) != 0; }\r
\r
bool getChunkData (MemoryBlock& mb, bool isPreset, int maxSizeMB) const\r
{\r
return false;\r
}\r
\r
- VstEffectInterface* effect;\r
- ModuleHandle::Ptr module;\r
+ VstEffectInterface* vstEffect;\r
+ ModuleHandle::Ptr vstModule;\r
\r
ScopedPointer<VSTPluginFormat::ExtraFunctions> extraFunctions;\r
bool usesCocoaNSView;\r
VSTMidiEventList midiEventsToSend;\r
VstTimingInformation vstHostTime;\r
\r
+ //==============================================================================\r
+ static VstEffectInterface* constructEffect(const ModuleHandle::Ptr& module)\r
+ {\r
+ VstEffectInterface* effect = nullptr;\r
+ try\r
+ {\r
+ const IdleCallRecursionPreventer icrp;\r
+ _fpreset();\r
+\r
+ JUCE_VST_LOG ("Creating VST instance: " + module->pluginName);\r
+\r
+ #if JUCE_MAC\r
+ if (module->resFileId != 0)\r
+ UseResFile (module->resFileId);\r
+ #endif\r
+\r
+ {\r
+ JUCE_VST_WRAPPER_INVOKE_MAIN\r
+ }\r
+\r
+ if (effect != nullptr && effect->interfaceIdentifier == juceVstInterfaceIdentifier)\r
+ {\r
+ jassert (effect->hostSpace2 == 0);\r
+ jassert (effect->effectPointer != 0);\r
+\r
+ _fpreset(); // some dodgy plugs mess around with this\r
+ }\r
+ else\r
+ {\r
+ effect = nullptr;\r
+ }\r
+ }\r
+ catch (...)\r
+ {}\r
+\r
+ return effect;\r
+ }\r
+\r
+ static BusesProperties queryBusIO (VstEffectInterface* effect)\r
+ {\r
+ BusesProperties returnValue;\r
+\r
+ VstSpeakerConfiguration* inArr = nullptr, *outArr = nullptr;\r
+ if (effect->dispatchFunction (effect, plugInOpcodeGetSpeakerArrangement, 0, reinterpret_cast<pointer_sized_int> (&inArr), &outArr, 0.0f) == 0)\r
+ inArr = outArr = nullptr;\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const int opcode = (isInput ? plugInOpcodeGetInputPinProperties : plugInOpcodeGetOutputPinProperties);\r
+ const int maxChannels = (isInput ? effect->numInputChannels : effect->numOutputChannels);\r
+ const VstSpeakerConfiguration* arr = (isInput ? inArr : outArr);\r
+ bool busAdded = false;\r
+\r
+ VstPinInfo pinProps;\r
+ AudioChannelSet layout;\r
+ for (int ch = 0; ch < maxChannels; ch += layout.size())\r
+ {\r
+ if (effect->dispatchFunction (effect, opcode, ch, 0, &pinProps, 0.0f) == 0)\r
+ break;\r
+\r
+ if ((pinProps.flags & vstPinInfoFlagValid) != 0)\r
+ {\r
+ layout = SpeakerMappings::vstArrangementTypeToChannelSet (pinProps.configurationType, 0);\r
+ if (layout.isDisabled())\r
+ break;\r
+ }\r
+ else\r
+ {\r
+ layout = ((pinProps.flags & vstPinInfoFlagIsStereo) != 0 ? AudioChannelSet::stereo() : AudioChannelSet::mono());\r
+ }\r
+\r
+ busAdded = true;\r
+ returnValue.addBus (isInput, pinProps.text, layout, true);\r
+ }\r
+\r
+ // no buses?\r
+ if (! busAdded && maxChannels > 0)\r
+ {\r
+ String busName = (isInput ? "Input" : "Output");\r
+ if (effect->dispatchFunction (effect, opcode, 0, 0, &pinProps, 0.0f) != 0)\r
+ busName = pinProps.text;\r
+\r
+ if (arr != nullptr)\r
+ layout = SpeakerMappings::vstArrangementTypeToChannelSet (*arr);\r
+ else\r
+ layout = AudioChannelSet::canonicalChannelSet (maxChannels);\r
+\r
+ returnValue.addBus (isInput, busName, layout, true);\r
+ }\r
+ }\r
+\r
+ return returnValue;\r
+ }\r
+\r
//==============================================================================\r
template <typename FloatType>\r
void processAudio (AudioBuffer<FloatType>& buffer, MidiBuffer& midiMessages)\r
jlimit (0, numSamples - 1, samplePosition));\r
}\r
\r
- effect->dispatchFunction (effect, plugInOpcodePreAudioProcessingEvents, 0, 0, midiEventsToSend.events, 0);\r
+ vstEffect->dispatchFunction (vstEffect, plugInOpcodePreAudioProcessingEvents, 0, 0, midiEventsToSend.events, 0);\r
}\r
\r
_clearfp();\r
//==============================================================================\r
inline void invokeProcessFunction (AudioBuffer<float>& buffer, int32 sampleFrames)\r
{\r
- if ((effect->flags & vstEffectFlagInplaceAudio) != 0)\r
+ if ((vstEffect->flags & vstEffectFlagInplaceAudio) != 0)\r
{\r
- effect->processAudioInplaceFunction (effect, buffer.getArrayOfWritePointers(), buffer.getArrayOfWritePointers(), sampleFrames);\r
+ vstEffect->processAudioInplaceFunction (vstEffect, buffer.getArrayOfWritePointers(), buffer.getArrayOfWritePointers(), sampleFrames);\r
}\r
else\r
{\r
- tempBuffer.setSize (effect->numOutputChannels, sampleFrames);\r
+ tempBuffer.setSize (vstEffect->numOutputChannels, sampleFrames);\r
tempBuffer.clear();\r
\r
- effect->processAudioFunction (effect, buffer.getArrayOfWritePointers(), tempBuffer.getArrayOfWritePointers(), sampleFrames);\r
+ vstEffect->processAudioFunction (vstEffect, buffer.getArrayOfWritePointers(), tempBuffer.getArrayOfWritePointers(), sampleFrames);\r
\r
- for (int i = effect->numOutputChannels; --i >= 0;)\r
+ for (int i = vstEffect->numOutputChannels; --i >= 0;)\r
buffer.copyFrom (i, 0, tempBuffer.getReadPointer (i), sampleFrames);\r
}\r
}\r
\r
inline void invokeProcessFunction (AudioBuffer<double>& buffer, int32 sampleFrames)\r
{\r
- effect->processDoubleAudioInplaceFunction (effect, buffer.getArrayOfWritePointers(), buffer.getArrayOfWritePointers(), sampleFrames);\r
+ vstEffect->processDoubleAudioInplaceFunction (vstEffect, buffer.getArrayOfWritePointers(), buffer.getArrayOfWritePointers(), sampleFrames);\r
}\r
\r
//==============================================================================\r
\r
String getTextForOpcode (const int index, const VstHostToPlugInOpcodes opcode) const\r
{\r
- if (effect == nullptr)\r
+ if (vstEffect == nullptr)\r
return String();\r
\r
- jassert (index >= 0 && index < effect->numParameters);\r
+ jassert (index >= 0 && index < vstEffect->numParameters);\r
char nm[256] = { 0 };\r
dispatch (opcode, index, 0, nm, 0);\r
return String::createStringFromData (nm, (int) sizeof (nm)).trim();\r
{\r
String progName;\r
\r
- if (effect != nullptr)\r
+ if (vstEffect != nullptr)\r
{\r
{\r
char nm[256] = { 0 };\r
\r
void updateStoredProgramNames()\r
{\r
- if (effect != nullptr && getNumPrograms() > 0)\r
+ if (vstEffect != nullptr && getNumPrograms() > 0)\r
{\r
char nm[256] = { 0 };\r
\r
pointer_sized_int getVstDirectory() const\r
{\r
#if JUCE_MAC\r
- return (pointer_sized_int) (void*) &module->parentDirFSSpec;\r
+ return (pointer_sized_int) (void*) &vstModule->parentDirFSSpec;\r
#else\r
- return (pointer_sized_int) (pointer_sized_uint) module->fullParentDirectoryPathName.toRawUTF8();\r
+ return (pointer_sized_int) (pointer_sized_uint) vstModule->fullParentDirectoryPathName.toRawUTF8();\r
#endif\r
}\r
\r
//==============================================================================\r
- int getVersionNumber() const noexcept { return effect != nullptr ? effect->plugInVersion : 0; }\r
+ int getVersionNumber() const noexcept { return vstEffect != nullptr ? vstEffect->plugInVersion : 0; }\r
\r
String getVersion() const\r
{\r
if (VSTPluginInstance* instance = dynamic_cast<VSTPluginInstance*> (p))\r
{\r
#if JUCE_MAC\r
- if (instance->module->resFileId != 0)\r
- UseResFile (instance->module->resFileId);\r
+ if (instance->vstModule->resFileId != 0)\r
+ UseResFile (instance->vstModule->resFileId);\r
#endif\r
\r
instance->fillInPluginDescription (desc);\r
{\r
shellUIDToCreate = desc.uid;\r
\r
- result = new VSTPluginInstance (module);\r
+ result = VSTPluginInstance::create (module, sampleRate, blockSize);\r
\r
- if (! result->initialiseEffect (sampleRate, blockSize))\r
+ if (result != nullptr && ! result->initialiseEffect (sampleRate, blockSize))\r
result = nullptr;\r
}\r
\r
const XmlElement* VSTPluginFormat::getVSTXML (AudioPluginInstance* plugin)\r
{\r
if (VSTPluginInstance* const vst = dynamic_cast<VSTPluginInstance*> (plugin))\r
- if (vst->module != nullptr)\r
- return vst->module->vstXml.get();\r
+ if (vst->vstModule != nullptr)\r
+ return vst->vstModule->vstXml.get();\r
\r
return nullptr;\r
}\r
\r
if (module->open())\r
{\r
- ScopedPointer<VSTPluginInstance> result (new VSTPluginInstance (module));\r
+ ScopedPointer<VSTPluginInstance> result (VSTPluginInstance::create (module, initialSampleRate, initialBufferSize));\r
\r
- if (result->initialiseEffect (initialSampleRate, initialBufferSize))\r
+ if (result != nullptr && result->initialiseEffect (initialSampleRate, initialBufferSize))\r
return result.release();\r
}\r
\r
vst->extraFunctions = f;\r
}\r
\r
+AudioPluginInstance* VSTPluginFormat::getPluginInstanceFromVstEffectInterface (void* aEffect)\r
+{\r
+ if (VstEffectInterface* vstAEffect = reinterpret_cast<VstEffectInterface*> (aEffect))\r
+ if (VSTPluginInstance* instanceVST = reinterpret_cast<VSTPluginInstance*> (vstAEffect->hostSpace2))\r
+ return dynamic_cast<AudioPluginInstance*> (instanceVST);\r
+\r
+ return nullptr;\r
+}\r
+\r
pointer_sized_int JUCE_CALLTYPE VSTPluginFormat::dispatcher (AudioPluginInstance* plugin, int32 opcode, int32 index, pointer_sized_int value, void* ptr, float opt)\r
{\r
if (VSTPluginInstance* vst = dynamic_cast<VSTPluginInstance*> (plugin))\r
/** This simply calls directly to the VST's AEffect::dispatcher() function. */\r
static pointer_sized_int JUCE_CALLTYPE dispatcher (AudioPluginInstance*, int32, int32, pointer_sized_int, void*, float);\r
\r
+ /** Given a VstEffectInterface* (aka vst::AEffect*), this will return the juce AudioPluginInstance\r
+ that is being used to wrap it\r
+ */\r
+ static AudioPluginInstance* getPluginInstanceFromVstEffectInterface (void* aEffect);\r
+\r
//==============================================================================\r
String getName() const override { return "VST"; }\r
void findAllTypesForFile (OwnedArray<PluginDescription>&, const String& fileOrIdentifier) override;\r
#include "format/juce_AudioPluginFormat.cpp"\r
#include "format/juce_AudioPluginFormatManager.cpp"\r
#include "processors/juce_AudioProcessor.cpp"\r
-#include "processors/juce_AudioChannelSet.cpp"\r
#include "processors/juce_AudioProcessorEditor.cpp"\r
#include "processors/juce_AudioProcessorGraph.cpp"\r
#include "processors/juce_GenericAudioProcessorEditor.cpp"\r
\r
ID: juce_audio_processors\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE audio processor classes\r
description: Classes for loading and playing VST, AU, or internally-generated audio processors.\r
website: http://www.juce.com/juce\r
#define JUCE_SUPPORT_CARBON 1\r
#endif\r
\r
+#ifndef JUCE_SUPPORT_LEGACY_AUDIOPROCESSOR\r
+ #define JUCE_SUPPORT_LEGACY_AUDIOPROCESSOR 1\r
+#endif\r
+\r
//==============================================================================\r
//==============================================================================\r
namespace juce\r
#include "processors/juce_AudioProcessorEditor.h"\r
#include "processors/juce_AudioProcessorListener.h"\r
#include "processors/juce_AudioProcessorParameter.h"\r
-#include "processors/juce_AudioChannelSet.h"\r
#include "processors/juce_AudioProcessor.h"\r
#include "processors/juce_PluginDescription.h"\r
#include "processors/juce_AudioPluginInstance.h"\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-AudioChannelSet::AudioChannelSet (uint32 c) : channels (c) {}\r
-\r
-bool AudioChannelSet::operator== (const AudioChannelSet& other) const noexcept { return channels == other.channels; }\r
-bool AudioChannelSet::operator!= (const AudioChannelSet& other) const noexcept { return channels != other.channels; }\r
-bool AudioChannelSet::operator< (const AudioChannelSet& other) const noexcept { return channels < other.channels; }\r
-\r
-String AudioChannelSet::getChannelTypeName (AudioChannelSet::ChannelType type)\r
-{\r
- if (type >= discreteChannel0)\r
- return String ("Discrete ") + String (type - discreteChannel0 + 1);\r
-\r
- switch (type)\r
- {\r
- case left: return NEEDS_TRANS("Left");\r
- case right: return NEEDS_TRANS("Right");\r
- case centre: return NEEDS_TRANS("Centre");\r
- case subbass: return NEEDS_TRANS("Subbass");\r
- case leftSurround: return NEEDS_TRANS("Left Surround");\r
- case rightSurround: return NEEDS_TRANS("Right Surround");\r
- case leftCentre: return NEEDS_TRANS("Left Centre");\r
- case rightCentre: return NEEDS_TRANS("Right Centre");\r
- case surround: return NEEDS_TRANS("Surround");\r
- case leftRearSurround: return NEEDS_TRANS("Left Rear Surround");\r
- case rightRearSurround: return NEEDS_TRANS("Right Rear Surround");\r
- case topMiddle: return NEEDS_TRANS("Top Middle");\r
- case topFrontLeft: return NEEDS_TRANS("Top Front Left");\r
- case topFrontCentre: return NEEDS_TRANS("Top Front Centre");\r
- case topFrontRight: return NEEDS_TRANS("Top Front Right");\r
- case topRearLeft: return NEEDS_TRANS("Top Rear Left");\r
- case topRearCentre: return NEEDS_TRANS("Top Rear Centre");\r
- case topRearRight: return NEEDS_TRANS("Top Rear Right");\r
- case wideLeft: return NEEDS_TRANS("Wide Left");\r
- case wideRight: return NEEDS_TRANS("Wide Right");\r
- case subbass2: return NEEDS_TRANS("Subbass 2");\r
- case leftSurroundDirect: return NEEDS_TRANS ("Left Surround Direct");\r
- case rightSurroundDirect: return NEEDS_TRANS ("Right Surround Direct");\r
- case ambisonicW: return NEEDS_TRANS("Ambisonic W");\r
- case ambisonicX: return NEEDS_TRANS("Ambisonic X");\r
- case ambisonicY: return NEEDS_TRANS("Ambisonic Y");\r
- case ambisonicZ: return NEEDS_TRANS("Ambisonic Z");\r
- default: break;\r
- }\r
-\r
- return "Unknown";\r
-}\r
-\r
-String AudioChannelSet::getAbbreviatedChannelTypeName (AudioChannelSet::ChannelType type)\r
-{\r
- if (type >= discreteChannel0)\r
- return String (type - discreteChannel0 + 1);\r
-\r
- switch (type)\r
- {\r
- case left: return "L";\r
- case right: return "R";\r
- case centre: return "C";\r
- case subbass: return "Lfe";\r
- case leftSurround: return "Ls";\r
- case rightSurround: return "Rs";\r
- case leftCentre: return "Lc";\r
- case rightCentre: return "Rc";\r
- case surround: return "S";\r
- case leftRearSurround: return "Lrs";\r
- case rightRearSurround: return "Rrs";\r
- case topMiddle: return "Tm";\r
- case topFrontLeft: return "Tfl";\r
- case topFrontCentre: return "Tfc";\r
- case topFrontRight: return "Tfr";\r
- case topRearLeft: return "Trl";\r
- case topRearCentre: return "Trc";\r
- case topRearRight: return "Trr";\r
- case wideLeft: return "Wl";\r
- case wideRight: return "Wr";\r
- case subbass2: return "Lfe2";\r
- case leftSurroundDirect: return "Lsd";\r
- case rightSurroundDirect: return "Rsd";\r
- case ambisonicW: return "W";\r
- case ambisonicX: return "X";\r
- case ambisonicY: return "Y";\r
- case ambisonicZ: return "Z";\r
- default: break;\r
- }\r
-\r
- return "";\r
-}\r
-\r
-String AudioChannelSet::getSpeakerArrangementAsString() const\r
-{\r
- StringArray speakerTypes;\r
- Array<AudioChannelSet::ChannelType> speakers = getChannelTypes();\r
-\r
- for (int i = 0; i < speakers.size(); ++i)\r
- {\r
- String name = getAbbreviatedChannelTypeName (speakers.getReference (i));\r
-\r
- if (name.isNotEmpty())\r
- speakerTypes.add (name);\r
- }\r
-\r
- return speakerTypes.joinIntoString (" ");\r
-}\r
-\r
-String AudioChannelSet::getDescription() const\r
-{\r
- if (isDiscreteLayout()) return String ("Discrete #") + String (size());\r
- if (*this == disabled()) return "Disabled";\r
- if (*this == mono()) return "Mono";\r
- if (*this == stereo()) return "Stereo";\r
- if (*this == createLCR()) return "LCR";\r
- if (*this == createLRS()) return "LRS";\r
- if (*this == createLCRS()) return "LCRS";\r
- if (*this == quadraphonic()) return "Quadraphonic";\r
- if (*this == pentagonal()) return "Pentagonal";\r
- if (*this == hexagonal()) return "Hexagonal";\r
- if (*this == octagonal()) return "Octagonal";\r
- if (*this == ambisonic()) return "Ambisonic";\r
- if (*this == create5point0()) return "5.1 Surround";\r
- if (*this == create5point1()) return "5.1 Surround (+Lfe)";\r
- if (*this == create6point0()) return "6.1 Surround";\r
- if (*this == create6point0Music()) return "6.1 (Music) Surround";\r
- if (*this == create6point1()) return "6.1 Surround (+Lfe)";\r
- if (*this == create7point0()) return "7.1 Surround (Rear)";\r
- if (*this == create7point1()) return "7.1 Surround (Rear +Lfe)";\r
- if (*this == create7point1AC3()) return "7.1 AC3 Surround (Rear + Lfe)";\r
- if (*this == createFront7point0()) return "7.1 Surround (Front)";\r
- if (*this == createFront7point1()) return "7.1 Surround (Front +Lfe)";\r
-\r
- return "Unknown";\r
-}\r
-\r
-bool AudioChannelSet::isDiscreteLayout() const noexcept\r
-{\r
- Array<AudioChannelSet::ChannelType> speakers = getChannelTypes();\r
- for (int i = 0; i < speakers.size(); ++i)\r
- if (speakers.getReference (i) > ambisonicZ)\r
- return true;\r
-\r
- return false;\r
-}\r
-\r
-int AudioChannelSet::size() const noexcept\r
-{\r
- return channels.countNumberOfSetBits();\r
-}\r
-\r
-AudioChannelSet::ChannelType AudioChannelSet::getTypeOfChannel (int index) const noexcept\r
-{\r
- int bit = channels.findNextSetBit(0);\r
-\r
- for (int i = 0; i < index && bit >= 0; ++i)\r
- bit = channels.findNextSetBit (bit + 1);\r
-\r
- return static_cast<ChannelType> (bit);\r
-}\r
-\r
-int AudioChannelSet::getChannelIndexForType (AudioChannelSet::ChannelType type) const noexcept\r
-{\r
- int idx = 0;\r
- for (int bit = channels.findNextSetBit (0); bit >= 0; bit = channels.findNextSetBit (bit + 1))\r
- {\r
- if (static_cast<ChannelType> (bit) == type)\r
- return idx;\r
-\r
- idx++;\r
- }\r
-\r
- return -1;\r
-}\r
-\r
-Array<AudioChannelSet::ChannelType> AudioChannelSet::getChannelTypes() const\r
-{\r
- Array<ChannelType> result;\r
-\r
- for (int bit = channels.findNextSetBit(0); bit >= 0; bit = channels.findNextSetBit (bit + 1))\r
- result.add (static_cast<ChannelType> (bit));\r
-\r
- return result;\r
-}\r
-\r
-void AudioChannelSet::addChannel (ChannelType newChannel)\r
-{\r
- const int bit = static_cast<int> (newChannel);\r
- jassert (bit >= 0 && bit < 1024);\r
- channels.setBit (bit);\r
-}\r
-\r
-void AudioChannelSet::removeChannel (ChannelType newChannel)\r
-{\r
- const int bit = static_cast<int> (newChannel);\r
- jassert (bit >= 0 && bit < 1024);\r
- channels.clearBit (bit);\r
-}\r
-\r
-AudioChannelSet AudioChannelSet::disabled() { return AudioChannelSet(); }\r
-AudioChannelSet AudioChannelSet::mono() { return AudioChannelSet (1u << centre); }\r
-AudioChannelSet AudioChannelSet::stereo() { return AudioChannelSet ((1u << left) | (1u << right)); }\r
-AudioChannelSet AudioChannelSet::createLCR() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre)); }\r
-AudioChannelSet AudioChannelSet::createLRS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << surround)); }\r
-AudioChannelSet AudioChannelSet::createLCRS() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << surround)); }\r
-AudioChannelSet AudioChannelSet::quadraphonic() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround)); }\r
-AudioChannelSet AudioChannelSet::pentagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftRearSurround) | (1u << rightRearSurround) | (1u << centre)); }\r
-AudioChannelSet AudioChannelSet::hexagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftRearSurround) | (1u << rightRearSurround) | (1u << centre) | (1u << surround)); }\r
-AudioChannelSet AudioChannelSet::octagonal() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftSurround) | (1u << rightSurround) | (1u << centre) | (1u << surround) | (1u << wideLeft) | (1u << wideRight)); }\r
-AudioChannelSet AudioChannelSet::ambisonic() { return AudioChannelSet ((1u << ambisonicW) | (1u << ambisonicX) | (1u << ambisonicY) | (1u << ambisonicZ)); }\r
-AudioChannelSet AudioChannelSet::create5point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround)); }\r
-AudioChannelSet AudioChannelSet::create5point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftSurround) | (1u << rightSurround)); }\r
-AudioChannelSet AudioChannelSet::create6point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << surround)); }\r
-AudioChannelSet AudioChannelSet::create6point0Music() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << leftRearSurround) | (1u << rightRearSurround) | (1u << leftSurround) | (1u << rightSurround)); }\r
-AudioChannelSet AudioChannelSet::create6point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftSurround) | (1u << rightSurround) | (1u << surround)); }\r
-AudioChannelSet AudioChannelSet::create7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftRearSurround) | (1u << rightRearSurround)); }\r
-AudioChannelSet AudioChannelSet::create7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftRearSurround) | (1u << rightRearSurround) | (1u << leftSurround) | (1u << rightSurround)); }\r
-AudioChannelSet AudioChannelSet::create7point1AC3() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftSurroundDirect) | (1u << rightSurroundDirect)); }\r
-AudioChannelSet AudioChannelSet::createFront7point0() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftCentre) | (1u << rightCentre)); }\r
-AudioChannelSet AudioChannelSet::createFront7point1() { return AudioChannelSet ((1u << left) | (1u << right) | (1u << centre) | (1u << subbass) | (1u << leftSurround) | (1u << rightSurround) | (1u << leftCentre) | (1u << rightCentre)); }\r
-\r
-\r
-AudioChannelSet AudioChannelSet::discreteChannels (int numChannels)\r
-{\r
- AudioChannelSet s;\r
- s.channels.setRange (discreteChannel0, numChannels, true);\r
- return s;\r
-}\r
-\r
-AudioChannelSet AudioChannelSet::canonicalChannelSet (int numChannels)\r
-{\r
- if (numChannels == 1) return AudioChannelSet::mono();\r
- if (numChannels == 2) return AudioChannelSet::stereo();\r
- if (numChannels == 3) return AudioChannelSet::createLCR();\r
- if (numChannels == 4) return AudioChannelSet::quadraphonic();\r
- if (numChannels == 5) return AudioChannelSet::create5point0();\r
- if (numChannels == 6) return AudioChannelSet::create5point1();\r
- if (numChannels == 7) return AudioChannelSet::create7point0();\r
- if (numChannels == 8) return AudioChannelSet::create7point1();\r
-\r
- return discreteChannels (numChannels);\r
-}\r
+++ /dev/null
-/*\r
- ==============================================================================\r
-\r
- This file is part of the JUCE library.\r
- Copyright (c) 2015 - ROLI Ltd.\r
-\r
- Permission is granted to use this software under the terms of either:\r
- a) the GPL v2 (or any later version)\r
- b) the Affero GPL v3\r
-\r
- Details of these licenses can be found at: www.gnu.org/licenses\r
-\r
- JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
- A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
-\r
- ------------------------------------------------------------------------------\r
-\r
- To release a closed-source product which uses JUCE, commercial licenses are\r
- available: visit www.juce.com for more information.\r
-\r
- ==============================================================================\r
-*/\r
-\r
-#ifndef JUCE_AUDIOCHANNELSET_H_INCLUDED\r
-#define JUCE_AUDIOCHANNELSET_H_INCLUDED\r
-\r
-\r
-//==============================================================================\r
-/**\r
- Represents a set of audio channel types.\r
-\r
- For example, you might have a set of left + right channels, which is a stereo\r
- channel set. It is a collection of values from the AudioChannelSet::ChannelType\r
- enum, where each type may only occur once within the set.\r
-\r
- @see AudioProcessorBus\r
-*/\r
-class JUCE_API AudioChannelSet\r
-{\r
-public:\r
- /** Creates an empty channel set.\r
- You can call addChannel to add channels to the set.\r
- */\r
- AudioChannelSet() noexcept {}\r
-\r
- /** Creates a zero-channel set which can be used to indicate that a\r
- bus is disabled. */\r
- static AudioChannelSet disabled();\r
-\r
- /** Creates a one-channel mono set. */\r
- static AudioChannelSet mono();\r
-\r
- /** Creates a set containing a left and right channel. */\r
- static AudioChannelSet stereo();\r
-\r
- /** Creates a set containing a left, right and centre channels. */\r
- static AudioChannelSet createLCR();\r
-\r
- /** Creates a set containing a left, right and centre channels. */\r
- static AudioChannelSet createLRS();\r
-\r
- /** Creates a set containing a left, right, centre and surround channels. */\r
- static AudioChannelSet createLCRS();\r
-\r
- /** Creates a set for quadraphonic surround setup. */\r
- static AudioChannelSet quadraphonic();\r
-\r
- /** Creates a set for pentagonal surround setup. */\r
- static AudioChannelSet pentagonal();\r
-\r
- /** Creates a set for hexagonal surround setup. */\r
- static AudioChannelSet hexagonal();\r
-\r
- /** Creates a set for octagonal surround setup. */\r
- static AudioChannelSet octagonal();\r
-\r
- /** Creates a set for ambisonic surround setups. */\r
- static AudioChannelSet ambisonic();\r
-\r
- /** Creates a set for a 5.0 surround setup. */\r
- static AudioChannelSet create5point0();\r
-\r
- /** Creates a set for a 5.1 surround setup. */\r
- static AudioChannelSet create5point1();\r
-\r
- /** Creates a set for a 6.0 Cine surround setup. */\r
- static AudioChannelSet create6point0();\r
-\r
- /** Creates a set for a 6.0 Music surround setup. */\r
- static AudioChannelSet create6point0Music();\r
-\r
- /** Creates a set for a 6.1 surround setup. */\r
- static AudioChannelSet create6point1();\r
-\r
- /** Creates a set for a 7.0 surround setup. */\r
- static AudioChannelSet create7point0();\r
-\r
- /** Creates a set for a 7.1 surround setup. */\r
- static AudioChannelSet create7point1();\r
-\r
- /** Creates a set for a 7.1 AC3 C surround setup. */\r
- static AudioChannelSet create7point1AC3();\r
-\r
- /** Creates a set for a 7.0 surround setup (with side instead of rear speakers). */\r
- static AudioChannelSet createFront7point0();\r
-\r
- /** Creates a set for a 7.1 surround setup (with side instead of rear speakers). */\r
- static AudioChannelSet createFront7point1();\r
-\r
- /** Creates a set of untyped discrete channels. */\r
- static AudioChannelSet discreteChannels (int numChannels);\r
-\r
- /** Create a canonical channel set for a given number of channels.\r
- For example, numChannels = 1 will return mono, numChannels = 2 will return stereo, etc. */\r
- static AudioChannelSet canonicalChannelSet (int numChannels);\r
-\r
- //==============================================================================\r
- /** Represents different audio channel types. */\r
- enum ChannelType\r
- {\r
- unknown = 0,\r
-\r
- left = 1,\r
- right = 2,\r
- centre = 3,\r
-\r
- subbass = 4,\r
- leftSurround = 5,\r
- rightSurround = 6,\r
- leftCentre = 7,\r
- rightCentre = 8,\r
- surround = 9,\r
- leftSurroundDirect = 10, // also known as "side left"\r
- rightSurroundDirect = 11, // also known as "side right"\r
- topMiddle = 12,\r
- topFrontLeft = 13,\r
- topFrontCentre = 14,\r
- topFrontRight = 15,\r
- topRearLeft = 16,\r
- topRearCentre = 17,\r
- topRearRight = 18,\r
- subbass2 = 19,\r
- leftRearSurround = 20,\r
- rightRearSurround = 21,\r
- wideLeft = 22,\r
- wideRight = 23,\r
-\r
-\r
- ambisonicW = 24,\r
- ambisonicX = 25,\r
- ambisonicY = 26,\r
- ambisonicZ = 27,\r
-\r
-\r
- discreteChannel0 = 64 /**< Non-typed individual channels are indexed upwards from this value. */\r
- };\r
-\r
- /** Returns the name of a given channel type. For example, this method may return "Surround Left". */\r
- static String getChannelTypeName (ChannelType);\r
-\r
- /** Returns the abbreviated name of a channel type. For example, this method may return "Ls". */\r
- static String getAbbreviatedChannelTypeName (ChannelType);\r
-\r
- //==============================================================================\r
- /** Adds a channel to the set. */\r
- void addChannel (ChannelType newChannelType);\r
-\r
- /** Removes a channel from the set. */\r
- void removeChannel (ChannelType newChannelType);\r
-\r
- /** Returns the number of channels in the set. */\r
- int size() const noexcept;\r
-\r
- /** Returns true if there are no channels in the set. */\r
- bool isDisabled() const noexcept { return size() == 0; }\r
-\r
- /** Returns an array of all the types in this channel set. */\r
- Array<ChannelType> getChannelTypes() const;\r
-\r
- /** Returns the type of one of the channels in the set, by index. */\r
- ChannelType getTypeOfChannel (int channelIndex) const noexcept;\r
-\r
- /** Returns the index for a particular channel-type.\r
- Will return -1 if the this set does not contain a channel of this type. */\r
- int getChannelIndexForType (ChannelType type) const noexcept;\r
-\r
- /** Returns a string containing a whitespace-separated list of speaker types\r
- corresponding to each channel. For example in a 5.1 arrangement,\r
- the string may be "L R C Lfe Ls Rs". If the speaker arrangement is unknown,\r
- the returned string will be empty.*/\r
- String getSpeakerArrangementAsString() const;\r
-\r
- /** Returns the description of the current layout. For example, this method may return\r
- "Quadraphonic". Note that the returned string may not be unique. */\r
- String getDescription() const;\r
-\r
- /** Returns if this is a channel layout made-up of discrete channels. */\r
- bool isDiscreteLayout() const noexcept;\r
-\r
- /** Intersect two channel layouts. */\r
- void intersect (const AudioChannelSet& other) { channels &= other.channels; }\r
-\r
- //==============================================================================\r
- bool operator== (const AudioChannelSet&) const noexcept;\r
- bool operator!= (const AudioChannelSet&) const noexcept;\r
- bool operator< (const AudioChannelSet&) const noexcept;\r
-private:\r
- BigInteger channels;\r
-\r
- explicit AudioChannelSet (uint32);\r
-};\r
-\r
-\r
-\r
-#endif // JUCE_AUDIOCHANNELSET_H_INCLUDED\r
protected:\r
//==============================================================================\r
AudioPluginInstance() {}\r
+ AudioPluginInstance (const BusesProperties& ioLayouts) : AudioProcessor (ioLayouts) {}\r
+ template <int numLayouts>\r
+ AudioPluginInstance (const short channelLayoutList[numLayouts][2]) : AudioProcessor (channelLayoutList) {}\r
\r
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioPluginInstance)\r
};\r
}\r
\r
AudioProcessor::AudioProcessor()\r
- : wrapperType (wrapperTypeBeingCreated.get()),\r
- playHead (nullptr),\r
- currentSampleRate (0),\r
- blockSize (0),\r
- latencySamples (0),\r
- #if JUCE_DEBUG\r
- textRecursionCheck (false),\r
- #endif\r
- suspended (false),\r
- nonRealtime (false),\r
- processingPrecision (singlePrecision)\r
-{\r
- #ifdef JucePlugin_PreferredChannelConfigurations\r
- const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurations };\r
- #else\r
- const short channelConfigs[][2] = { {2, 2} };\r
- #endif\r
+{\r
+ initialise (BusesProperties().withInput ("Input", AudioChannelSet::stereo(), false)\r
+ .withOutput ("Output", AudioChannelSet::stereo(), false));\r
+}\r
\r
- #ifdef JucePlugin_MaxNumInputChannels\r
- const int maxInChannels = JucePlugin_MaxNumInputChannels;\r
- #else\r
- const int maxInChannels = std::numeric_limits<int>::max();\r
- #endif\r
- ignoreUnused (maxInChannels);\r
+AudioProcessor::AudioProcessor(const BusesProperties& ioConfig)\r
+{\r
+ initialise (ioConfig);\r
+}\r
\r
- #ifdef JucePlugin_MaxNumOutputChannels\r
- const int maxOutChannels = JucePlugin_MaxNumOutputChannels;\r
- #else\r
- const int maxOutChannels = std::numeric_limits<int>::max();\r
- #endif\r
- ignoreUnused (maxOutChannels);\r
+void AudioProcessor::initialise (const BusesProperties& ioConfig)\r
+{\r
+ cachedTotalIns = 0;\r
+ cachedTotalOuts = 0;\r
\r
- #if JucePlugin_IsMidiEffect\r
- ignoreUnused (channelConfigs);\r
- #else\r
- #if ! JucePlugin_IsSynth\r
- const int numInChannels = jmin (maxInChannels, (int) channelConfigs[0][0]);\r
+ wrapperType = wrapperTypeBeingCreated.get();\r
+ playHead = nullptr;\r
+ currentSampleRate = 0;\r
+ blockSize = 0;\r
+ latencySamples = 0;\r
\r
- if (numInChannels > 0)\r
- busArrangement.inputBuses.add (AudioProcessorBus ("Input", AudioChannelSet::canonicalChannelSet (numInChannels)));\r
+ #if JUCE_DEBUG\r
+ textRecursionCheck = false;\r
#endif\r
\r
- const int numOutChannels = jmin (maxOutChannels, (int) channelConfigs[0][1]);\r
- if (numOutChannels > 0)\r
- busArrangement.outputBuses.add (AudioProcessorBus ("Output", AudioChannelSet::canonicalChannelSet (numOutChannels)));\r
+ suspended = false;\r
+ nonRealtime = false;\r
+\r
+ processingPrecision = singlePrecision;\r
+\r
+ const int numInputBuses = ioConfig.inputLayouts.size();\r
+ const int numOutputBuses = ioConfig.outputLayouts.size();\r
+\r
+ for (int i = 0; i < numInputBuses; ++i)\r
+ createBus (true, ioConfig.inputLayouts. getReference (i));\r
+\r
+ for (int i = 0; i < numOutputBuses; ++i)\r
+ createBus (false, ioConfig.outputLayouts.getReference (i));\r
\r
- #ifdef JucePlugin_PreferredChannelConfigurations\r
- #if ! JucePlugin_IsSynth\r
- AudioProcessor::setPreferredBusArrangement (true, 0, AudioChannelSet::stereo());\r
- #endif\r
- AudioProcessor::setPreferredBusArrangement (false, 0, AudioChannelSet::stereo());\r
- #endif\r
- #endif\r
updateSpeakerFormatStrings();\r
}\r
\r
#endif\r
}\r
\r
+//==============================================================================\r
+bool AudioProcessor::addBus (bool isInput)\r
+{\r
+ if (! canAddBus (isInput))\r
+ return false;\r
+\r
+ BusProperties BusesProperties;\r
+ if (! canApplyBusCountChange (isInput, true, BusesProperties))\r
+ return false;\r
+\r
+ createBus (isInput, BusesProperties);\r
+ return true;\r
+}\r
+\r
+bool AudioProcessor::removeBus (bool inputBus)\r
+{\r
+ const int numBuses = getBusCount (inputBus);\r
+ if (numBuses == 0)\r
+ return false;\r
+\r
+ if (! canRemoveBus (inputBus))\r
+ return false;\r
+\r
+ BusProperties BusesProperties;\r
+ if (! canApplyBusCountChange (inputBus, false, BusesProperties))\r
+ return false;\r
+\r
+ const int busIdx = numBuses - 1;\r
+ const int numChannels = getChannelCountOfBus (inputBus, busIdx);\r
+ (inputBus ? inputBuses : outputBuses).remove (busIdx);\r
+\r
+ audioIOChanged (true, numChannels > 0);\r
+\r
+ return true;\r
+}\r
+\r
+\r
+//==============================================================================\r
+bool AudioProcessor::setBusesLayout (const BusesLayout& arr)\r
+{\r
+ jassert (arr.inputBuses. size() == getBusCount (true)\r
+ && arr.outputBuses.size() == getBusCount (false));\r
+\r
+ if (arr == getBusesLayout())\r
+ return true;\r
+\r
+ BusesLayout copy = arr;\r
+ if (! canApplyBusesLayout (copy))\r
+ return false;\r
+\r
+ return applyBusLayouts (copy);\r
+}\r
+\r
+bool AudioProcessor::setBusesLayoutWithoutEnabling (const BusesLayout& arr)\r
+{\r
+ const int numIns = getBusCount (true);\r
+ const int numOuts = getBusCount (false);\r
+\r
+ jassert (arr.inputBuses. size() == numIns\r
+ && arr.outputBuses.size() == numOuts);\r
+\r
+ BusesLayout request = arr;\r
+ const BusesLayout current = getBusesLayout();\r
+\r
+ for (int i = 0; i < numIns; ++i)\r
+ if (request.getNumChannels (true, i) == 0)\r
+ request.getChannelSet (true, i) = current.getChannelSet (true, i);\r
+\r
+ for (int i = 0; i < numOuts; ++i)\r
+ if (request.getNumChannels (false, i) == 0)\r
+ request.getChannelSet (false, i) = current.getChannelSet (false, i);\r
+\r
+ if (! checkBusesLayoutSupported(request))\r
+ return false;\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir != 0);\r
+\r
+ for (int i = 0; i < (isInput ? numIns : numOuts); ++i)\r
+ {\r
+ Bus& bus = *getBus (isInput, i);\r
+ AudioChannelSet& set = request.getChannelSet (isInput, i);\r
+\r
+ if (! bus.isEnabled())\r
+ {\r
+ if (! set.isDisabled())\r
+ bus.lastLayout = set;\r
+\r
+ set = AudioChannelSet::disabled();\r
+ }\r
+ }\r
+ }\r
+\r
+ return setBusesLayout (request);\r
+}\r
+\r
+AudioProcessor::BusesLayout AudioProcessor::getBusesLayout() const\r
+{\r
+ BusesLayout layouts;\r
+ const int numInputs = getBusCount (true);\r
+ const int numOutputs = getBusCount (false);\r
+\r
+ for (int i = 0; i < numInputs; ++i)\r
+ layouts.inputBuses. add (getBus (true, i)->getCurrentLayout());\r
+\r
+ for (int i = 0; i < numOutputs; ++i)\r
+ layouts.outputBuses.add (getBus (false, i)->getCurrentLayout());\r
+\r
+ return layouts;\r
+}\r
+\r
+AudioChannelSet AudioProcessor::getChannelLayoutOfBus (bool isInput, int busIdx) const noexcept\r
+{\r
+ const OwnedArray<Bus>& buses = (isInput ? inputBuses : outputBuses);\r
+ if (Bus* bus = buses[busIdx])\r
+ return bus->getCurrentLayout();\r
+\r
+ return AudioChannelSet();\r
+}\r
+\r
+bool AudioProcessor::setChannelLayoutOfBus (bool isInputBus, int busIdx, const AudioChannelSet& layout)\r
+{\r
+ if (Bus* bus = getBus (isInputBus, busIdx))\r
+ {\r
+ BusesLayout layouts = bus->getBusesLayoutForLayoutChangeOfBus (layout);\r
+\r
+ if (layouts.getChannelSet (isInputBus, busIdx) == layout)\r
+ return applyBusLayouts (layouts);\r
+\r
+ return false;\r
+ }\r
+\r
+ // busIdx parameter is invalid\r
+ jassertfalse;\r
+\r
+ return false;\r
+}\r
+\r
+bool AudioProcessor::enableAllBuses()\r
+{\r
+ BusesLayout layouts;\r
+ const int numInputs = getBusCount (true);\r
+ const int numOutputs = getBusCount (false);\r
+\r
+ for (int i = 0; i < numInputs; ++i)\r
+ layouts.inputBuses. add (getBus (true, i)->lastLayout);\r
+\r
+ for (int i = 0; i < numOutputs; ++i)\r
+ layouts.outputBuses.add (getBus (false, i)->lastLayout);\r
+\r
+ return setBusesLayout (layouts);\r
+}\r
+\r
+bool AudioProcessor::checkBusesLayoutSupported (const BusesLayout& layouts) const\r
+{\r
+ const int numInputBuses = getBusCount (true);\r
+ const int numOutputBuses = getBusCount (false);\r
+\r
+ if (layouts.inputBuses. size() == numInputBuses\r
+ && layouts.outputBuses.size() == numOutputBuses)\r
+ return isBusesLayoutSupported (layouts);\r
+\r
+ return false;\r
+}\r
+\r
+AudioProcessor::BusesLayout AudioProcessor::getNextBestLayout (const BusesLayout& layouts) const\r
+{\r
+ // if you are hitting this assertion then you are requesting a next\r
+ // best layout which does not have the same number of buses as the\r
+ // audio processor.\r
+ jassert (layouts.inputBuses. size() == getBusCount (true)\r
+ && layouts.outputBuses.size() == getBusCount (false));\r
+\r
+ if (checkBusesLayoutSupported (layouts)) return layouts;\r
+\r
+ BusesLayout originalState = getBusesLayout();\r
+ BusesLayout currentState = originalState;\r
+ BusesLayout bestSupported = currentState;\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir > 0);\r
+\r
+ Array<AudioChannelSet>& currentLayouts = (isInput ? currentState.inputBuses : currentState.outputBuses);\r
+ const Array<AudioChannelSet>& bestLayouts = (isInput ? bestSupported.inputBuses : bestSupported.outputBuses);\r
+ const Array<AudioChannelSet>& requestedLayouts = (isInput ? layouts.inputBuses : layouts.outputBuses);\r
+ const Array<AudioChannelSet>& originalLayouts = (isInput ? originalState.inputBuses : originalState.outputBuses);\r
+\r
+ for (int busIdx = 0; busIdx < requestedLayouts.size(); ++busIdx)\r
+ {\r
+ AudioChannelSet& best = bestLayouts .getReference (busIdx);\r
+ const AudioChannelSet& requested = requestedLayouts.getReference (busIdx);\r
+ const AudioChannelSet& original = originalLayouts .getReference (busIdx);\r
+\r
+ // do we need to do anything\r
+ if (original == requested)\r
+ continue;\r
+\r
+ currentState = bestSupported;\r
+ AudioChannelSet& current = currentLayouts .getReference (busIdx);\r
+\r
+ // already supported?\r
+ current = requested;\r
+ if (checkBusesLayoutSupported (currentState))\r
+ {\r
+ bestSupported = currentState;\r
+ continue;\r
+ }\r
+\r
+ // try setting the opposite bus to the identical layout\r
+ const bool oppositeDirection = ! isInput;\r
+ if (getBusCount (oppositeDirection) > busIdx)\r
+ {\r
+ AudioChannelSet& oppositeLayout = (oppositeDirection ? currentState.inputBuses : currentState.outputBuses).getReference (busIdx);\r
+ oppositeLayout = requested;\r
+\r
+ if (checkBusesLayoutSupported (currentState))\r
+ {\r
+ bestSupported = currentState;\r
+ continue;\r
+ }\r
+\r
+ // try setting the default layout\r
+ oppositeLayout = getBus (oppositeDirection, busIdx)->getDefaultLayout();\r
+ if (checkBusesLayoutSupported (currentState))\r
+ {\r
+ bestSupported = currentState;\r
+ continue;\r
+ }\r
+ }\r
+\r
+ // try setting all other buses to the identical layout\r
+ BusesLayout allTheSame;\r
+ for (int oDir = 0; oDir < 2; ++oDir)\r
+ {\r
+ const bool oIsInput = (oDir == 0);\r
+ const int oBusNum = getBusCount (oIsInput);\r
+\r
+ for (int oBusIdx = 0; oBusIdx < oBusNum; ++oBusIdx)\r
+ (oIsInput ? allTheSame.inputBuses : allTheSame.outputBuses).add (requested);\r
+ }\r
+\r
+ if (checkBusesLayoutSupported (allTheSame))\r
+ {\r
+ bestSupported = allTheSame;\r
+ continue;\r
+ }\r
+\r
+ // what is closer the default or the current layout?\r
+ int distance = abs (best.size() - requested.size());\r
+ const AudioChannelSet& defaultLayout = getBus (isInput, busIdx)->getDefaultLayout();\r
+\r
+ if (abs (defaultLayout.size() - requested.size()) < distance)\r
+ {\r
+ current = defaultLayout;\r
+ if (checkBusesLayoutSupported (currentState))\r
+ bestSupported = currentState;\r
+ }\r
+ }\r
+ }\r
+\r
+ return bestSupported;\r
+}\r
+\r
+//==============================================================================\r
void AudioProcessor::setPlayHead (AudioPlayHead* const newPlayHead)\r
{\r
playHead = newPlayHead;\r
const double newSampleRate,\r
const int newBlockSize)\r
{\r
- const int oldNumInputs = getTotalNumInputChannels();\r
- const int oldNumOutputs = getTotalNumOutputChannels();\r
+ bool success = true;\r
\r
- // if the user is using this method then they do not want any side-buses or aux outputs\r
- disableNonMainBuses (true);\r
- disableNonMainBuses (false);\r
+ if (getTotalNumInputChannels() != newNumIns)\r
+ success &= setChannelLayoutOfBus (true, 0, AudioChannelSet::canonicalChannelSet (newNumIns));\r
\r
- if (getTotalNumInputChannels() != newNumIns) setPreferredBusArrangement (true, 0, AudioChannelSet::canonicalChannelSet (newNumIns));\r
- if (getTotalNumOutputChannels() != newNumOuts) setPreferredBusArrangement (false, 0, AudioChannelSet::canonicalChannelSet (newNumOuts));\r
+ if (getTotalNumOutputChannels() != newNumOuts)\r
+ success &= setChannelLayoutOfBus (false, 0, AudioChannelSet::canonicalChannelSet (newNumOuts));\r
+\r
+ // if the user is using this method then they do not want any side-buses or aux outputs\r
+ success &= disableNonMainBuses();\r
+ jassert (success);\r
\r
// the processor may not support this arrangement at all\r
- jassert (newNumIns == getTotalNumInputChannels() && newNumOuts == getTotalNumOutputChannels());\r
+ jassert (success && newNumIns == getTotalNumInputChannels() && newNumOuts == getTotalNumOutputChannels());\r
\r
setRateAndBufferSizeDetails (newSampleRate, newBlockSize);\r
-\r
- if (oldNumInputs != newNumIns || oldNumOutputs != newNumOuts)\r
- {\r
- updateSpeakerFormatStrings();\r
- numChannelsChanged();\r
- }\r
}\r
\r
void AudioProcessor::setRateAndBufferSizeDetails (double newSampleRate, int newBlockSize) noexcept\r
blockSize = newBlockSize;\r
}\r
\r
-int AudioProcessor::getMainBusNumInputChannels() const noexcept\r
+//==============================================================================\r
+static int countTotalChannels (const OwnedArray<AudioProcessor::Bus>& buses) noexcept\r
{\r
- const Array<AudioProcessorBus>& buses = busArrangement.inputBuses;\r
- return buses.size() > 0 ? buses.getReference (0).channels.size() : 0;\r
+ int n = 0;\r
+\r
+ for (int i = 0; i < buses.size(); ++i)\r
+ n += buses[i]->getNumberOfChannels();\r
+\r
+ return n;\r
}\r
\r
-int AudioProcessor::getMainBusNumOutputChannels() const noexcept\r
+void AudioProcessor::numChannelsChanged() {}\r
+void AudioProcessor::numBusesChanged() {}\r
+void AudioProcessor::processorLayoutsChanged() {}\r
+\r
+int AudioProcessor::getChannelIndexInProcessBlockBuffer (bool isInput, int busIndex, int channelIndex) const noexcept\r
{\r
- const Array<AudioProcessorBus>& buses = busArrangement.outputBuses;\r
- return buses.size() > 0 ? buses.getReference (0).channels.size() : 0;\r
+ const OwnedArray<Bus>& ioBus = isInput ? inputBuses : outputBuses;\r
+ jassert (isPositiveAndBelow(busIndex, ioBus.size()));\r
+\r
+ for (int i = 0; i < ioBus.size() && i < busIndex; ++i)\r
+ channelIndex += getChannelCountOfBus (isInput, i);\r
+\r
+ return channelIndex;\r
}\r
\r
-void AudioProcessor::numChannelsChanged() {}\r
+int AudioProcessor::getOffsetInBusBufferForAbsoluteChannelIndex (bool isInput, int absoluteChannelIndex, /*out*/ int& busIdx) const noexcept\r
+{\r
+ const int n = getBusCount (isInput);\r
+ int numChannels = 0;\r
+\r
+ for (busIdx = 0; busIdx < n && absoluteChannelIndex >= (numChannels = getChannelLayoutOfBus (isInput, busIdx).size()); ++busIdx)\r
+ absoluteChannelIndex -= numChannels;\r
+\r
+ return busIdx >= n ? -1 : absoluteChannelIndex;\r
+}\r
\r
+//==============================================================================\r
void AudioProcessor::setNonRealtime (const bool newNonRealtime) noexcept\r
{\r
nonRealtime = newNonRealtime;\r
jassertfalse;\r
}\r
\r
+bool AudioProcessor::supportsDoublePrecisionProcessing() const\r
+{\r
+ return false;\r
+}\r
+\r
void AudioProcessor::setProcessingPrecision (ProcessingPrecision precision) noexcept\r
{\r
// If you hit this assertion then you're trying to use double precision\r
processingPrecision = precision;\r
}\r
\r
-bool AudioProcessor::supportsDoublePrecisionProcessing() const\r
-{\r
- return false;\r
-}\r
-\r
//==============================================================================\r
-static String getChannelName (const Array<AudioProcessor::AudioProcessorBus>& buses, int index)\r
+static String getChannelName (const OwnedArray<AudioProcessor::Bus>& buses, int index)\r
{\r
- return buses.size() > 0 ? AudioChannelSet::getChannelTypeName (buses.getReference(0).channels.getTypeOfChannel (index))\r
- : String();\r
+ return buses.size() > 0 ? AudioChannelSet::getChannelTypeName (buses[0]->getCurrentLayout().getTypeOfChannel (index)) : String();\r
}\r
\r
-const String AudioProcessor::getInputChannelName (int index) const { return getChannelName (busArrangement.inputBuses, index); }\r
-const String AudioProcessor::getOutputChannelName (int index) const { return getChannelName (busArrangement.outputBuses, index); }\r
+const String AudioProcessor::getInputChannelName (int index) const { return getChannelName (inputBuses, index); }\r
+const String AudioProcessor::getOutputChannelName (int index) const { return getChannelName (outputBuses, index); }\r
\r
-static bool isStereoPair (const Array<AudioProcessor::AudioProcessorBus>& buses, int index)\r
+static bool isStereoPair (const OwnedArray<AudioProcessor::Bus>& buses, int index)\r
{\r
return index < 2\r
&& buses.size() > 0\r
- && buses.getReference(0).channels == AudioChannelSet::stereo();\r
+ && buses[0]->getCurrentLayout() == AudioChannelSet::stereo();\r
}\r
\r
-bool AudioProcessor::isInputChannelStereoPair (int index) const { return isStereoPair (busArrangement.inputBuses, index); }\r
-bool AudioProcessor::isOutputChannelStereoPair (int index) const { return isStereoPair (busArrangement.outputBuses, index); }\r
+bool AudioProcessor::isInputChannelStereoPair (int index) const { return isStereoPair (inputBuses, index); }\r
+bool AudioProcessor::isOutputChannelStereoPair (int index) const { return isStereoPair (outputBuses, index); }\r
\r
//==============================================================================\r
-bool AudioProcessor::setPreferredBusArrangement (bool isInput, int busIndex, const AudioChannelSet& preferredSet)\r
+void AudioProcessor::createBus (bool inputBus, const BusProperties& ioConfig)\r
{\r
- const int oldNumInputs = getTotalNumInputChannels();\r
- const int oldNumOutputs = getTotalNumOutputChannels();\r
+ (inputBus ? inputBuses : outputBuses).add (new Bus (*this, ioConfig.busName, ioConfig.defaultLayout, ioConfig.isActivatedByDefault));\r
\r
- Array<AudioProcessorBus>& buses = isInput ? busArrangement.inputBuses : busArrangement.outputBuses;\r
+ audioIOChanged (true, ioConfig.isActivatedByDefault);\r
+}\r
\r
- const int numBuses = buses.size();\r
+//==============================================================================\r
+AudioProcessor::BusesProperties AudioProcessor::busesPropertiesFromLayoutArray (const Array<InOutChannelPair>& config)\r
+{\r
+ BusesProperties ioProps;\r
\r
- if (! isPositiveAndBelow (busIndex, numBuses))\r
- return false;\r
+ if (config[0].inChannels > 0)\r
+ ioProps.addBus (true, String ("Input"), AudioChannelSet::canonicalChannelSet (config[0].inChannels));\r
\r
- #ifdef JucePlugin_MaxNumInputChannels\r
- if (isInput && preferredSet.size() > JucePlugin_MaxNumInputChannels)\r
- return false;\r
- #endif\r
+ if (config[0].outChannels > 0)\r
+ ioProps.addBus (false, String ("Output"), AudioChannelSet::canonicalChannelSet (config[0].outChannels));\r
\r
- #ifdef JucePlugin_MaxNumOutputChannels\r
- if (! isInput && preferredSet.size() > JucePlugin_MaxNumOutputChannels)\r
- return false;\r
- #endif\r
+ return ioProps;\r
+}\r
\r
- AudioProcessorBus& bus = buses.getReference (busIndex);\r
+AudioProcessor::BusesLayout AudioProcessor::getNextBestLayoutInList (const BusesLayout& layouts,\r
+ const Array<InOutChannelPair>& legacyLayouts) const\r
+{\r
+ const int numChannelConfigs = legacyLayouts.size();\r
+ jassert (numChannelConfigs > 0);\r
\r
- #ifdef JucePlugin_PreferredChannelConfigurations\r
- // the user is using the deprecated way to specify channel configurations\r
- if (numBuses > 0 && busIndex == 0)\r
+ bool hasInputs = false, hasOutputs = false;\r
+\r
+ for (int i = 0; i < numChannelConfigs; ++i)\r
{\r
- const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurations };\r
- const int numChannelConfigs = sizeof (channelConfigs) / sizeof (*channelConfigs);\r
+ if (legacyLayouts[i].inChannels > 0)\r
+ {\r
+ hasInputs = true;\r
+ break;\r
+ }\r
\r
- // we need the main bus in the opposite direction\r
- Array<AudioProcessorBus>& oppositeBuses = isInput ? busArrangement.outputBuses : busArrangement.inputBuses;\r
- AudioProcessorBus* oppositeBus = (busIndex < oppositeBuses.size()) ? &oppositeBuses.getReference (0) : nullptr;\r
+ if (legacyLayouts[i].outChannels > 0)\r
+ {\r
+ hasOutputs = true;\r
+ break;\r
+ }\r
+ }\r
\r
- // get the target number of channels\r
- const int mainBusNumChannels = preferredSet.size();\r
- const int mainBusOppositeChannels = (oppositeBus != nullptr) ? oppositeBus->channels.size() : 0;\r
- const int dir = isInput ? 0 : 1;\r
+ BusesLayout nearest = layouts;\r
+ nearest.inputBuses .resize (hasInputs ? 1 : 0);\r
+ nearest.outputBuses.resize (hasOutputs ? 1 : 0);\r
\r
- // find a compatible channel configuration on the opposite bus which is the closest match\r
- // to the current number of channels on that bus\r
- int distance = std::numeric_limits<int>::max();\r
- int bestConfiguration = -1;\r
+ AudioChannelSet* inBus = (hasInputs ? &nearest.inputBuses. getReference (0) : nullptr);\r
+ AudioChannelSet* outBus = (hasOutputs ? &nearest.outputBuses.getReference (0) : nullptr);\r
\r
- for (int i = 0; i < numChannelConfigs; ++i)\r
- {\r
- // is the configuration compatible with the preferred set\r
- if (channelConfigs[i][dir] == mainBusNumChannels)\r
- {\r
- const int configChannels = channelConfigs[i][dir^1];\r
- const int channelDifference = std::abs (configChannels - mainBusOppositeChannels);\r
+ const int16 inNumChannelsRequested = static_cast<int16> (inBus != nullptr ? inBus->size() : 0);\r
+ const int16 outNumChannelsRequested = static_cast<int16> (outBus != nullptr ? outBus->size() : 0);\r
\r
- if (channelDifference < distance)\r
- {\r
- distance = channelDifference;\r
- bestConfiguration = configChannels;\r
+ int32 distance = std::numeric_limits<int32>::max();\r
+ int bestConfiguration = 0;\r
\r
- // we can exit if we found a perfect match\r
- if (distance == 0)\r
- break;\r
- }\r
- }\r
- }\r
+ for (int i = 0; i < numChannelConfigs; ++i)\r
+ {\r
+ const int16 inChannels = legacyLayouts.getReference (i).inChannels;\r
+ const int16 outChannels = legacyLayouts.getReference (i).outChannels;\r
\r
- // unable to find a good configuration\r
- if (bestConfiguration == -1)\r
- return false;\r
+ const int32 channelDifference = ((std::abs (inChannels - inNumChannelsRequested) & 0xffff) << 16) |\r
+ ((std::abs (outChannels - outNumChannelsRequested) & 0xffff) << 0);\r
\r
- // did the number of channels change on the opposite bus?\r
- if (mainBusOppositeChannels != bestConfiguration && oppositeBus != nullptr)\r
+ if (channelDifference < distance)\r
{\r
- // if the channels on the opposite bus are the same as the preferred set\r
- // then also copy over the layout information. If not, then assume\r
- // a cononical channel layout\r
- if (bestConfiguration == mainBusNumChannels)\r
- oppositeBus->channels = preferredSet;\r
- else\r
- oppositeBus->channels = AudioChannelSet::canonicalChannelSet (bestConfiguration);\r
+ distance = channelDifference;\r
+ bestConfiguration = i;\r
+\r
+ // we can exit if we found a perfect match\r
+ if (distance == 0) return nearest;\r
}\r
}\r
- #endif\r
\r
- bus.channels = preferredSet;\r
+ const int16 inChannels = legacyLayouts.getReference (bestConfiguration).inChannels;\r
+ const int16 outChannels = legacyLayouts.getReference (bestConfiguration).outChannels;\r
+\r
+ BusesLayout currentState = getBusesLayout();\r
+ AudioChannelSet currentInLayout = (getBusCount (true) > 0 ? currentState.inputBuses .getReference(0) : AudioChannelSet());\r
+ AudioChannelSet currentOutLayout = (getBusCount (false) > 0 ? currentState.outputBuses.getReference(0) : AudioChannelSet());\r
\r
- if (oldNumInputs != getTotalNumInputChannels() || oldNumOutputs != getTotalNumOutputChannels())\r
+\r
+ if (inBus != nullptr)\r
{\r
- updateSpeakerFormatStrings();\r
- numChannelsChanged();\r
+ if (inChannels == 0) *inBus = AudioChannelSet::disabled();\r
+ else if (inChannels == currentInLayout. size()) *inBus = currentInLayout;\r
+ else if (inChannels == currentOutLayout.size()) *inBus = currentOutLayout;\r
+ else *inBus = AudioChannelSet::canonicalChannelSet (inChannels);\r
}\r
\r
- return true;\r
+ if (outBus != nullptr)\r
+ {\r
+ if (outChannels == 0) *outBus = AudioChannelSet::disabled();\r
+ else if (outChannels == currentOutLayout.size()) *outBus = currentOutLayout;\r
+ else if (outChannels == currentInLayout .size()) *outBus = currentInLayout;\r
+ else *outBus = AudioChannelSet::canonicalChannelSet (outChannels);\r
+ }\r
+\r
+ return nearest;\r
}\r
\r
-void AudioProcessor::disableNonMainBuses (bool isInput)\r
+bool AudioProcessor::containsLayout (const BusesLayout& layouts, const Array<InOutChannelPair>& channelLayouts)\r
{\r
- const Array<AudioProcessorBus>& buses = (isInput ? busArrangement.inputBuses : busArrangement.outputBuses);\r
+ if (layouts.inputBuses.size() > 1 || layouts.outputBuses.size() > 1)\r
+ return false;\r
\r
- for (int busIdx = 1; busIdx < buses.size(); ++busIdx)\r
- {\r
- if (buses.getReference (busIdx).channels != AudioChannelSet::disabled())\r
- {\r
- bool success = setPreferredBusArrangement (isInput, busIdx, AudioChannelSet::disabled());\r
+ const InOutChannelPair mainLayout (static_cast<int16> (layouts.getNumChannels (true, 0)),\r
+ static_cast<int16> (layouts.getNumChannels (false, 0)));\r
\r
- ignoreUnused (success);\r
- // You are using the setPlayConfigDetails method which should only be used on processors\r
- // with no aux outputs and sidechains. Please use setRateAndBufferSizeDetails and\r
- // setPreferredBusArrangement instead.\r
- jassert (success);\r
- }\r
- }\r
+ return channelLayouts.contains (mainLayout);\r
+}\r
+\r
+//==============================================================================\r
+bool AudioProcessor::disableNonMainBuses()\r
+{\r
+ BusesLayout layouts = getBusesLayout();\r
+\r
+ for (int busIdx = 1; busIdx < layouts.inputBuses.size(); ++busIdx)\r
+ layouts.inputBuses.getReference (busIdx) = AudioChannelSet::disabled();\r
+\r
+ for (int busIdx = 1; busIdx < layouts.outputBuses.size(); ++busIdx)\r
+ layouts.outputBuses.getReference (busIdx) = AudioChannelSet::disabled();\r
+\r
+ return setBusesLayout (layouts);\r
}\r
\r
// Unfortunately the deprecated getInputSpeakerArrangement/getOutputSpeakerArrangement return\r
cachedInputSpeakerArrString.clear();\r
cachedOutputSpeakerArrString.clear();\r
\r
- if (busArrangement.inputBuses.size() > 0)\r
- cachedInputSpeakerArrString = busArrangement.inputBuses. getReference (0).channels.getSpeakerArrangementAsString();\r
+ if (getBusCount (true) > 0)\r
+ cachedInputSpeakerArrString = getBus (true, 0)->getCurrentLayout().getSpeakerArrangementAsString();\r
+\r
+ if (getBusCount (false) > 0)\r
+ cachedOutputSpeakerArrString = getBus (false, 0)->getCurrentLayout().getSpeakerArrangementAsString();\r
+}\r
+\r
+bool AudioProcessor::applyBusLayouts (const BusesLayout& layouts)\r
+{\r
+ if (layouts == getBusesLayout())\r
+ return true;\r
+\r
+ const int numInputBuses = getBusCount (true);\r
+ const int numOutputBuses = getBusCount (false);\r
+\r
+ const int oldNumberOfIns = getTotalNumInputChannels();\r
+ const int oldNumberOfOuts = getTotalNumOutputChannels();\r
+\r
+ if (layouts.inputBuses. size() != numInputBuses\r
+ || layouts.outputBuses.size() != numOutputBuses)\r
+ return false;\r
+\r
+ for (int busIdx = 0; busIdx < numInputBuses; ++busIdx)\r
+ {\r
+ Bus& bus = *getBus (true, busIdx);\r
+ const AudioChannelSet& set = layouts.getChannelSet (true, busIdx);\r
+\r
+ bus.layout = set;\r
+ if (! set.isDisabled())\r
+ bus.lastLayout = set;\r
+ }\r
+\r
+ for (int busIdx = 0; busIdx < numOutputBuses; ++busIdx)\r
+ {\r
+ Bus& bus = *getBus (false, busIdx);\r
+ const AudioChannelSet& set = layouts.getChannelSet (false, busIdx);\r
\r
- if (busArrangement.outputBuses.size() > 0)\r
- cachedOutputSpeakerArrString = busArrangement.outputBuses.getReference (0).channels.getSpeakerArrangementAsString();\r
+ bus.layout = set;\r
+ if (! set.isDisabled())\r
+ bus.lastLayout = set;\r
+ }\r
+\r
+ const bool channelNumChanged = (oldNumberOfIns != getTotalNumInputChannels() || oldNumberOfOuts != getTotalNumOutputChannels());\r
+ audioIOChanged (false, channelNumChanged);\r
+\r
+ return true;\r
+}\r
+\r
+void AudioProcessor::audioIOChanged (bool busNumberChanged, bool channelNumChanged)\r
+{\r
+ const int numInputBuses = getBusCount (true);\r
+ const int numOutputBuses = getBusCount (false);\r
+\r
+ for (int dir = 0; dir < 2; ++dir)\r
+ {\r
+ const bool isInput = (dir == 0);\r
+ const int n = (isInput ? numInputBuses : numOutputBuses);\r
+\r
+ for (int i = 0; i < n; ++i)\r
+ {\r
+ if (Bus* bus = getBus (isInput, i))\r
+ bus->updateChannelCount();\r
+ }\r
+ }\r
+\r
+ cachedTotalIns = countTotalChannels (inputBuses);\r
+ cachedTotalOuts = countTotalChannels (outputBuses);\r
+\r
+ updateSpeakerFormatStrings();\r
+\r
+ if (busNumberChanged)\r
+ numBusesChanged();\r
+\r
+ if (channelNumChanged)\r
+ numChannelsChanged();\r
+\r
+ processorLayoutsChanged();\r
}\r
\r
//==============================================================================\r
return nullptr;\r
}\r
\r
+bool AudioProcessor::canApplyBusCountChange (bool isInput, bool isAdding,\r
+ AudioProcessor::BusProperties& outProperties)\r
+{\r
+ if ( isAdding && ! canAddBus (isInput)) return false;\r
+ if (! isAdding && ! canRemoveBus (isInput)) return false;\r
+\r
+ const int num = getBusCount (isInput);\r
+\r
+ // No way for me to find out the default layout if there are no other busses!!\r
+ if (num == 0) return false;\r
+\r
+ if (isAdding)\r
+ {\r
+ outProperties.busName = String (isInput ? "Input #" : "Output #") + String (getBusCount (isInput));\r
+ outProperties.defaultLayout = (num > 0 ? getBus (isInput, num - 1)->getDefaultLayout() : AudioChannelSet());\r
+ outProperties.isActivatedByDefault = true;\r
+ }\r
+\r
+ return true;\r
+}\r
+\r
//==============================================================================\r
-int AudioProcessor::AudioBusArrangement::getChannelIndexInProcessBlockBuffer (bool isInput, int busIndex, int channelIndex) const noexcept\r
+AudioProcessor::Bus::Bus (AudioProcessor& processor, const String& busName,\r
+ const AudioChannelSet& defaultLayout, bool isDfltEnabled)\r
+ : owner (processor), name (busName),\r
+ layout (isDfltEnabled ? defaultLayout : AudioChannelSet()),\r
+ dfltLayout (defaultLayout), lastLayout (defaultLayout),\r
+ enabledByDefault (isDfltEnabled)\r
{\r
- const Array<AudioProcessorBus>& ioBus = isInput ? inputBuses : outputBuses;\r
- jassert (busIndex < ioBus.size());\r
+ // Your default layout cannot be disabled\r
+ jassert (! dfltLayout.isDisabled());\r
+}\r
\r
- for (int i = 0; i < ioBus.size() && i < busIndex; ++i)\r
- channelIndex += ioBus.getReference(i).channels.size();\r
+bool AudioProcessor::Bus::isInput() const\r
+{\r
+ return owner.inputBuses.contains (this);\r
+}\r
+\r
+int AudioProcessor::Bus::getBusIndex() const\r
+{\r
+ bool ignore;\r
+ int idx;\r
+ busDirAndIndex (ignore, idx);\r
\r
- return channelIndex;\r
+ return idx;\r
}\r
\r
-static int countTotalChannels (const Array<AudioProcessor::AudioProcessorBus>& buses) noexcept\r
+void AudioProcessor::Bus::busDirAndIndex (bool& input, int& idx) const noexcept\r
{\r
- int n = 0;\r
+ idx = owner.inputBuses.indexOf (this);\r
+ input = (idx >= 0);\r
\r
- for (int i = 0; i < buses.size(); ++i)\r
- n += buses.getReference(i).channels.size();\r
+ if (! input)\r
+ idx = owner.outputBuses.indexOf (this);\r
+}\r
\r
- return n;\r
+bool AudioProcessor::Bus::setCurrentLayout (const AudioChannelSet& busLayout)\r
+{\r
+ bool isInput;\r
+ int idx;\r
+ busDirAndIndex (isInput, idx);\r
+\r
+ return owner.setChannelLayoutOfBus (isInput, idx, busLayout);\r
+}\r
+\r
+bool AudioProcessor::Bus::setCurrentLayoutWithoutEnabling (const AudioChannelSet& set)\r
+{\r
+ if (! set.isDisabled())\r
+ {\r
+ if (isEnabled())\r
+ return setCurrentLayout (set);\r
+\r
+ if (isLayoutSupported (set))\r
+ {\r
+ lastLayout = set;\r
+ return true;\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
+ return isLayoutSupported (set);\r
+}\r
+\r
+bool AudioProcessor::Bus::setNumberOfChannels (int channels)\r
+{\r
+ bool isInputBus;\r
+ int busIdx;\r
+ busDirAndIndex (isInputBus, busIdx);\r
+\r
+ if (owner.setChannelLayoutOfBus (isInputBus, busIdx, AudioChannelSet::canonicalChannelSet (channels)))\r
+ return true;\r
+\r
+ if (channels == 0)\r
+ return false;\r
+\r
+ AudioChannelSet namedSet = AudioChannelSet::namedChannelSet (channels);\r
+ if (! namedSet.isDisabled() && owner.setChannelLayoutOfBus (isInputBus, busIdx, namedSet))\r
+ return true;\r
+\r
+ return owner.setChannelLayoutOfBus (isInputBus, busIdx, AudioChannelSet::discreteChannels (channels));\r
+}\r
+\r
+bool AudioProcessor::Bus::enable (bool shouldEnable)\r
+{\r
+ if (isEnabled() == shouldEnable)\r
+ return true;\r
+\r
+ return setCurrentLayout (shouldEnable ? lastLayout : AudioChannelSet::disabled());\r
+}\r
+\r
+int AudioProcessor::Bus::getMaxSupportedChannels (int limit) const\r
+{\r
+ for (int ch = limit; ch > 1; --ch)\r
+ if (isNumberOfChannelsSupported (ch))\r
+ return ch;\r
+\r
+ return (isMain() && isLayoutSupported (AudioChannelSet::disabled())) ? 0 : -1;\r
+}\r
+\r
+bool AudioProcessor::Bus::isLayoutSupported (const AudioChannelSet& set) const\r
+{\r
+ bool isInputBus;\r
+ int busIdx;\r
+ busDirAndIndex (isInputBus, busIdx);\r
+\r
+ BusesLayout layouts = getBusesLayoutForLayoutChangeOfBus (set);\r
+ return (layouts.getChannelSet (isInputBus, busIdx) == set);\r
+}\r
+\r
+bool AudioProcessor::Bus::isNumberOfChannelsSupported (int channels) const\r
+{\r
+ if (channels == 0) return isLayoutSupported(AudioChannelSet::disabled());\r
+\r
+ const AudioChannelSet set = supportedLayoutWithChannels (channels);\r
+ return (! set.isDisabled()) && isLayoutSupported (set);\r
}\r
\r
-int AudioProcessor::AudioBusArrangement::getTotalNumInputChannels() const noexcept { return countTotalChannels (inputBuses); }\r
-int AudioProcessor::AudioBusArrangement::getTotalNumOutputChannels() const noexcept { return countTotalChannels (outputBuses); }\r
+AudioChannelSet AudioProcessor::Bus::supportedLayoutWithChannels (int channels) const\r
+{\r
+ if (channels == 0) return AudioChannelSet::disabled();\r
+\r
+ {\r
+ AudioChannelSet set;\r
+ if (! (set = AudioChannelSet::namedChannelSet (channels)).isDisabled() && isLayoutSupported (set))\r
+ return set;\r
+\r
+ if (! (set = AudioChannelSet::discreteChannels (channels)).isDisabled() && isLayoutSupported (set))\r
+ return set;\r
+ }\r
+\r
+ Array<AudioChannelSet> sets = AudioChannelSet::channelSetsWithNumberOfChannels (channels);\r
+ const int n = sets.size();\r
+\r
+ for (int i = 0; i < n; ++i)\r
+ {\r
+ const AudioChannelSet set = sets.getReference (i);\r
+\r
+ if (isLayoutSupported (set))\r
+ return set;\r
+ }\r
+\r
+ return AudioChannelSet::disabled();\r
+}\r
\r
-AudioProcessor::AudioProcessorBus::AudioProcessorBus (const String& nm, const AudioChannelSet& chans)\r
- : name (nm), channels (chans)\r
+AudioProcessor::BusesLayout AudioProcessor::Bus::getBusesLayoutForLayoutChangeOfBus (const AudioChannelSet& set) const\r
{\r
+ bool isInputBus;\r
+ int busIdx;\r
+ busDirAndIndex (isInputBus, busIdx);\r
+\r
+ BusesLayout currentLayout = owner.getBusesLayout();\r
+ Array<AudioChannelSet>& potentialBusLayout =\r
+ (isInputBus ? currentLayout.inputBuses : currentLayout.outputBuses);\r
+\r
+ if (potentialBusLayout.getReference (busIdx) == set)\r
+ return currentLayout;\r
+\r
+ potentialBusLayout.getReference (busIdx) = set;\r
+\r
+ BusesLayout nearest = owner.getNextBestLayout (currentLayout);\r
+\r
+ // Nearest layout has a different number of buses. JUCE plug-ins MUST\r
+ // have fixed number of buses.\r
+ jassert (currentLayout.inputBuses. size() == owner.getBusCount (true)\r
+ && currentLayout.outputBuses.size() == owner.getBusCount (false));\r
+\r
+ return nearest;\r
}\r
\r
+int AudioProcessor::Bus::getChannelIndexInProcessBlockBuffer (int channelIndex) const noexcept\r
+{\r
+ bool isInputBus;\r
+ int busIdx;\r
+ busDirAndIndex (isInputBus, busIdx);\r
+\r
+ return owner.getChannelIndexInProcessBlockBuffer (isInputBus, busIdx, channelIndex);\r
+}\r
+\r
+void AudioProcessor::Bus::updateChannelCount() noexcept\r
+{\r
+ cachedChannelCount = layout.size();\r
+}\r
+\r
+//==============================================================================\r
+void AudioProcessor::BusesProperties::addBus (bool isInput, const String& name,\r
+ const AudioChannelSet& dfltLayout, bool isActivatedByDefault)\r
+{\r
+ jassert (dfltLayout.size() != 0);\r
+\r
+ BusProperties props;\r
+\r
+ props.busName = name;\r
+ props.defaultLayout = dfltLayout;\r
+ props.isActivatedByDefault = isActivatedByDefault;\r
+\r
+ (isInput ? inputLayouts : outputLayouts).add (props);\r
+}\r
+\r
+AudioProcessor::BusesProperties AudioProcessor::BusesProperties::withInput (const String& name,\r
+ const AudioChannelSet& dfltLayout,\r
+ bool isActivatedByDefault) const\r
+{\r
+ BusesProperties retval (*this);\r
+ retval.addBus (true, name, dfltLayout, isActivatedByDefault);\r
+\r
+ return retval;\r
+}\r
+\r
+AudioProcessor::BusesProperties AudioProcessor::BusesProperties::withOutput (const String& name,\r
+ const AudioChannelSet& dfltLayout,\r
+ bool isActivatedByDefault) const\r
+{\r
+ BusesProperties retval (*this);\r
+ retval.addBus (false, name, dfltLayout, isActivatedByDefault);\r
+\r
+ return retval;\r
+}\r
+\r
+\r
//==============================================================================\r
void AudioProcessorListener::audioProcessorParameterChangeGestureBegin (AudioProcessor*, int) {}\r
void AudioProcessorListener::audioProcessorParameterChangeGestureEnd (AudioProcessor*, int) {}\r
#ifndef JUCE_AUDIOPROCESSOR_H_INCLUDED\r
#define JUCE_AUDIOPROCESSOR_H_INCLUDED\r
\r
+struct PluginBusUtilities;\r
\r
//==============================================================================\r
/**\r
class JUCE_API AudioProcessor\r
{\r
protected:\r
+ struct BusesProperties;\r
+\r
//==============================================================================\r
- /** Constructor. */\r
+ /** Constructor.\r
+\r
+ This constructor will create a main input and output bus which are diabled\r
+ by default. If you need more fine grain control then use the other\r
+ constructors.\r
+ */\r
AudioProcessor();\r
\r
+ /** Constructor for multibus AudioProcessors\r
+\r
+ If your AudioProcessor supports multiple buses than use this constructor\r
+ to initialise the bus layouts and bus names of your plug-in.\r
+ */\r
+ AudioProcessor (const BusesProperties& ioLayouts);\r
+\r
+ /** Constructor for AudioProcessors which use layout maps\r
+\r
+ If your AudioProcessor uses layout maps then use this constructor.\r
+ */\r
+ #if JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS\r
+ AudioProcessor (const std::initializer_list<const short[2]>& channelLayoutList)\r
+ {\r
+ initialise (busesPropertiesFromLayoutArray (layoutListToArray (channelLayoutList)));\r
+ }\r
+ #else\r
+ template <int numLayouts>\r
+ AudioProcessor (const short channelLayoutList[numLayouts][2])\r
+ {\r
+ initialise (busesPropertiesFromLayoutArray (layoutListToArray (channelLayoutList)));\r
+ }\r
+ #endif\r
+\r
public:\r
//==============================================================================\r
enum ProcessingPrecision\r
playback stops.\r
\r
You can call getTotalNumInputChannels and getTotalNumOutputChannels\r
- or query the busArrangement member variable to find out the number of\r
+ or query the busLayout member variable to find out the number of\r
channels your processBlock callback must process.\r
\r
The maximumExpectedSamplesPerBlock value is a strong hint about the maximum\r
uses may be different each time the callback happens: completely variable\r
block sizes can be expected from some hosts.\r
\r
- @see busArrangement, getTotalNumInputChannels, getTotalNumOutputChannels\r
+ @see busLayout, getTotalNumInputChannels, getTotalNumOutputChannels\r
*/\r
virtual void prepareToPlay (double sampleRate,\r
int maximumExpectedSamplesPerBlock) = 0;\r
\r
If your plug-in has more than one input or output buses then the buffer passed\r
to the processBlock methods will contain a bundle of all channels of each bus.\r
- Use AudioBusArrangement::getBusBuffer to obtain an audio buffer for a\r
+ Use AudiobusLayout::getBusBuffer to obtain an audio buffer for a\r
particular bus.\r
\r
Note that if you have more outputs than inputs, then only those channels that\r
processBlock() method to send out an asynchronous message. You could also use\r
the AsyncUpdater class in a similar way.\r
\r
- @see AudioBusArrangement::getBusBuffer\r
+ @see AudiobusLayout::getBusBuffer\r
*/\r
\r
virtual void processBlock (AudioBuffer<float>& buffer,\r
\r
If your plug-in has more than one input or output buses then the buffer passed\r
to the processBlock methods will contain a bundle of all channels of\r
- each bus. Use AudioBusArrangement::getBusBuffer to obtain a audio buffer\r
+ each bus. Use AudiobusLayout::getBusBuffer to obtain a audio buffer\r
for a particular bus.\r
\r
Note that if you have more outputs than inputs, then only those channels that\r
but you should only read/write from the ones that your filter is supposed to\r
be using.\r
\r
- If your plugin uses buses, then you should use AudioBusArrangement::getBusBuffer()\r
- or AudioBusArrangement::getChannelIndexInProcessBlockBuffer() to find out which\r
+ If your plugin uses buses, then you should use AudiobusLayout::getBusBuffer()\r
+ or AudiobusLayout::getChannelIndexInProcessBlockBuffer() to find out which\r
of the input and output channels correspond to which of the buses.\r
\r
The number of samples in these buffers is NOT guaranteed to be the same for every\r
processBlock() method to send out an asynchronous message. You could also use\r
the AsyncUpdater class in a similar way.\r
\r
- @see AudioBusArrangement::getBusBuffer\r
+ @see AudiobusLayout::getBusBuffer\r
*/\r
virtual void processBlock (AudioBuffer<double>& buffer,\r
MidiBuffer& midiMessages);\r
\r
/** Renders the next block when the processor is being bypassed.\r
+\r
The default implementation of this method will pass-through any incoming audio, but\r
you may override this method e.g. to add latency compensation to the data to match\r
the processor's latency characteristics. This will avoid situations where bypassing\r
MidiBuffer& midiMessages);\r
\r
/** Renders the next block when the processor is being bypassed.\r
+\r
The default implementation of this method will pass-through any incoming audio, but\r
you may override this method e.g. to add latency compensation to the data to match\r
the processor's latency characteristics. This will avoid situations where bypassing\r
virtual void processBlockBypassed (AudioBuffer<double>& buffer,\r
MidiBuffer& midiMessages);\r
\r
+\r
//==============================================================================\r
- /** Describes the layout and properties of an audio bus.\r
- Effectively a bus description is a named set of channel types.\r
- @see AudioChannelSet\r
+ /**\r
+ Represents the bus layout state of a plug-in\r
*/\r
- struct AudioProcessorBus\r
+ struct BusesLayout\r
{\r
- /** Creates a bus from a name and set of channel types. */\r
- AudioProcessorBus (const String& busName, const AudioChannelSet& channelTypes);\r
+ /** An array containing the list of input buses that this processor supports. */\r
+ Array<AudioChannelSet> inputBuses;\r
\r
- /** The bus's name. */\r
- String name;\r
+ /** An array containing the list of output buses that this processor supports. */\r
+ Array<AudioChannelSet> outputBuses;\r
\r
- /** The set of channel types that the bus contains. */\r
- AudioChannelSet channels;\r
+ /** Get the number of channels of a particular bus */\r
+ int getNumChannels (bool isInput, int busIndex) const noexcept\r
+ {\r
+ const Array<AudioChannelSet>& bus = (isInput ? inputBuses : outputBuses);\r
+ return isPositiveAndBelow(busIndex, bus.size()) ? bus.getReference (busIndex).size() : 0;\r
+ }\r
+\r
+ /** Get the channel set of a particular bus */\r
+ AudioChannelSet& getChannelSet (bool isInput, int busIndex)\r
+ {\r
+ Array<AudioChannelSet>& sets = isInput ? inputBuses : outputBuses;\r
+ jassert (isPositiveAndBelow (busIndex, sets.size()));\r
+\r
+ return sets.getReference (busIndex);\r
+ }\r
+\r
+ /** Get the channel set of a particular bus */\r
+ AudioChannelSet getChannelSet (bool isInput, int busIndex) const noexcept\r
+ {\r
+ const Array<AudioChannelSet>& sets = isInput ? inputBuses : outputBuses;\r
+\r
+ if (isPositiveAndBelow (busIndex, sets.size()))\r
+ return sets.getReference (busIndex);\r
+ else\r
+ return AudioChannelSet();\r
+ }\r
+\r
+ /** Get the input channel layout on the main bus. */\r
+ AudioChannelSet getMainInputChannelSet() const noexcept { return getChannelSet (true, 0); }\r
+\r
+ /** Get the output channel layout on the main bus. */\r
+ AudioChannelSet getMainOutputChannelSet() const noexcept { return getChannelSet (false, 0); }\r
+\r
+ /** Get the number of input channels on the main bus. */\r
+ int getMainInputChannels() const noexcept { return getNumChannels (true, 0); }\r
+\r
+ /** Get the number of output channels on the main bus. */\r
+ int getMainOutputChannels() const noexcept { return getNumChannels (false, 0); }\r
+\r
+ bool operator== (const BusesLayout& other) const noexcept { return inputBuses == other.inputBuses && outputBuses == other.outputBuses; }\r
+ bool operator!= (const BusesLayout& other) const noexcept { return inputBuses != other.inputBuses || outputBuses != other.outputBuses; }\r
};\r
\r
//==============================================================================\r
/**\r
- Represents a set of input and output buses for an AudioProcessor.\r
- */\r
- struct AudioBusArrangement\r
+ Describes the layout and properties of an audio bus.\r
+ Effectively a bus description is a named set of channel types.\r
+\r
+ @see AudioChannelSet, AudioProcessor::addBus\r
+ */\r
+ class Bus\r
{\r
- /** An array containing the list of input buses that this processor supports. */\r
- Array<AudioProcessorBus> inputBuses;\r
+ public:\r
+ /** Returns true if this bus is an input bus. */\r
+ bool isInput() const;\r
\r
- /** An array containing the list of output buses that this processor supports. */\r
- Array<AudioProcessorBus> outputBuses;\r
+ /** Returns the index of this bus. */\r
+ int getBusIndex() const;\r
+\r
+ /** Returns true if the current bus is the main input or output bus. */\r
+ bool isMain() const { return getBusIndex() == 0; }\r
+\r
+ //==============================================================================\r
+ /** The bus's name. */\r
+ const String &getName() const noexcept { return name; }\r
+\r
+ /** Get the default layout of this bus.\r
+\r
+ @see AudioChannelSet\r
+ */\r
+ const AudioChannelSet& getDefaultLayout() const noexcept { return dfltLayout; }\r
+\r
+ //==============================================================================\r
+ /** The bus's current layout. This will be AudioChannelSet::disabled() if the current\r
+ layout is dfisabled.\r
+\r
+ @see AudioChannelSet\r
+ */\r
+ const AudioChannelSet& getCurrentLayout() const noexcept { return layout; }\r
+\r
+ /** Return the bus's last active channel layout.\r
+\r
+ If the bus is currently enabled then the result will be identical to getCurrentLayout\r
+ otherwise it will return the last enabled layout.\r
+\r
+ @see AudioChannelSet\r
+ */\r
+ const AudioChannelSet& getLastEnabledLayout() const noexcept { return lastLayout; }\r
+\r
+ /** Sets the bus's current layout.\r
+\r
+ If the AudioProcessor does not support this layout then this will return false.\r
+\r
+ @see AudioChannelSet\r
+ */\r
+ bool setCurrentLayout (const AudioChannelSet& layout);\r
+\r
+ /** Sets the bus's current layout without changing the enabled state.\r
+\r
+ If the AudioProcessor does not support this layout then this will return false.\r
+\r
+ @see AudioChannelSet\r
+ */\r
+ bool setCurrentLayoutWithoutEnabling (const AudioChannelSet& layout);\r
+\r
+ /** Return the number of channels of the current bus. */\r
+ inline int getNumberOfChannels() const noexcept { return cachedChannelCount; }\r
+\r
+ /** Set the number of channles of this bus. This will return false if the AudioProcessor\r
+ does not support this layout. */\r
+ bool setNumberOfChannels (int channels);\r
+\r
+ //==============================================================================\r
+ /** Checks if a particular layout is supported.\r
+\r
+ @param set The AudioChannelSet which is to be probed.\r
+ @see AudioChannelSet\r
+ */\r
+ bool isLayoutSupported (const AudioChannelSet& set) const;\r
+\r
+ /** Checks if this bus can support a given number of channels. */\r
+ bool isNumberOfChannelsSupported (int channels) const;\r
+\r
+ /** Returns a ChannelSet that the bus supports with a given number of channels. */\r
+ AudioChannelSet supportedLayoutWithChannels (int channels) const;\r
+\r
+ /** Returns the maximum number of channels that this bus can support.\r
+ @param limit The maximum value to return.\r
+ */\r
+ int getMaxSupportedChannels (int limit = AudioChannelSet::maxChannelsOfNamedLayout) const;\r
+\r
+ /** Returns the resulting layouts of all buses after changing the layout of this bus.\r
+\r
+ Changing an individual layout of a bus may also change the layout of all the other\r
+ buses. This method returns what the layouts of all the buses of the audio processor\r
+ would be, if you were to change the layout of this bus to the given layout. If there\r
+ is no way to support the given layout then this method will return the next best\r
+ layout.\r
+ */\r
+ BusesLayout getBusesLayoutForLayoutChangeOfBus (const AudioChannelSet& set) const;\r
+\r
+ //==============================================================================\r
+ /** Returns true if the current bus is enabled. */\r
+ bool isEnabled() const noexcept { return ! layout.isDisabled(); }\r
+\r
+ /** Enable or disable this bus. This will return false if the AudioProcessor\r
+ does not support disabling this bus. */\r
+ bool enable (bool shouldEnable = true);\r
+\r
+ /** Returns if this bus is enabled by default. */\r
+ bool isEnabledByDefault() const noexcept { return enabledByDefault; }\r
\r
//==============================================================================\r
/** Returns the position of a bus's channels within the processBlock buffer.\r
This can be called in processBlock to figure out which channel of the master AudioSampleBuffer\r
maps onto a specific bus's channel.\r
- */\r
- int getChannelIndexInProcessBlockBuffer (bool isInput, int busIndex, int channelIndex) const noexcept;\r
+ */\r
+ int getChannelIndexInProcessBlockBuffer (int channelIndex) const noexcept;\r
+\r
\r
/** Returns an AudioBuffer containing a set of channel pointers for a specific bus.\r
This can be called in processBlock to get a buffer containing a sub-group of the master\r
AudioSampleBuffer which contains all the plugin channels.\r
- */\r
+ */\r
template <typename FloatType>\r
- AudioBuffer<FloatType> getBusBuffer (AudioBuffer<FloatType>& processBlockBuffer, bool isInput, int busIndex) const\r
+ AudioBuffer<FloatType> getBusBuffer (AudioBuffer<FloatType>& processBlockBuffer) const\r
{\r
- const int busNumChannels = (isInput ? inputBuses : outputBuses).getReference (busIndex).channels.size();\r
- const int channelOffset = getChannelIndexInProcessBlockBuffer (isInput, busIndex, 0);\r
-\r
- return AudioBuffer<FloatType> (processBlockBuffer.getArrayOfWritePointers() + channelOffset,\r
- busNumChannels, processBlockBuffer.getNumSamples());\r
+ bool isIn;\r
+ int busIdx;\r
+ busDirAndIndex (isIn, busIdx);\r
+ return owner.getBusBuffer (processBlockBuffer, isIn, busIdx);\r
}\r
+ private:\r
+ friend class AudioProcessor;\r
+ Bus (AudioProcessor&, const String&, const AudioChannelSet&, bool);\r
+ void busDirAndIndex (bool&, int&) const noexcept;\r
+ void updateChannelCount() noexcept;\r
\r
- /** Returns the total number of channels in all the input buses. */\r
- int getTotalNumInputChannels() const noexcept;\r
+ AudioProcessor& owner;\r
+ String name;\r
+ AudioChannelSet layout, dfltLayout, lastLayout;\r
+ bool enabledByDefault;\r
+ int cachedChannelCount;\r
\r
- /** Returns the total number of channels in all the output buses. */\r
- int getTotalNumOutputChannels() const noexcept;\r
+ JUCE_DECLARE_NON_COPYABLE (Bus);\r
};\r
\r
- /** The processor's bus arrangement.\r
+ //==============================================================================\r
+ /** Returns the number of buses on the input or output side */\r
+ int getBusCount (bool isInput) const noexcept { return (isInput ? inputBuses : outputBuses).size(); }\r
+\r
+ /** Returns the audio bus with a given index and direction.\r
\r
- Your plugin can modify this either\r
- - in the plugin's constructor\r
- - in the setPreferredBusArrangement() callback\r
- Changing it at other times can result in undefined behaviour.\r
+ If busIdx is invalid then this method will return a nullptr.\r
+ */\r
+ Bus* getBus (bool isInput, int busIdx) noexcept { return (isInput ? inputBuses : outputBuses)[busIdx]; }\r
\r
- The host will negotiate with the plugin over its bus configuration by making calls\r
- to setPreferredBusArrangement().\r
+ /** Returns the audio bus with a given index and direction.\r
\r
- @see setPreferredBusArrangement\r
+ If busIdx is invalid then this method will return a nullptr.\r
*/\r
- AudioBusArrangement busArrangement;\r
+ const Bus* getBus (bool isInput, int busIdx) const noexcept { return const_cast<AudioProcessor*> (this)->getBus (isInput, busIdx); }\r
\r
//==============================================================================\r
- /** Called by the host, this attempts to change the plugin's channel layout on a particular bus.\r
- The base class implementation will perform some basic sanity-checking and then apply the\r
- changes to the processor's busArrangement value.\r
- You may override it and return false if you want to make your plugin smarter about refusing\r
- certain layouts that you don't want to support. Your plug-in may also respond to this call by\r
- changing the channel layout of other buses, for example, if your plug-in requires the same\r
- number of input and output channels.\r
+ /** Callback to query if a bus can currently be added.\r
+\r
+ This callback probes if a bus can currently be added. You should override\r
+ this callback if you want to support dynamically adding/removing buses by\r
+ the host. This is useful for mixer audio processors.\r
+\r
+ The default implementation will always return false.\r
+\r
+ @see addBus\r
+ */\r
+ virtual bool canAddBus (bool /*inputBus*/) const { return false; }\r
+\r
+ /** Callback to query if the last bus can currently be removed.\r
+\r
+ This callback probes if the last bus can currently be removed. You should\r
+ override this callback if you want to support dynamically adding/removing\r
+ buses by the host. This is useful for mixer audio processors.\r
+\r
+ If you return true in this callback then the AudioProcessor will go ahead\r
+ and delete the bus.\r
+\r
+ The default implementation will always return false.\r
+ */\r
+ virtual bool canRemoveBus (bool /*inputBus*/) const { return false; }\r
\r
- For most basic plug-ins, which do not require side-chains, aux buses or detailed audio\r
- channel layout information, it is easier to specify the acceptable channel configurations\r
- via the "PlugIn Channel Configurations" field in the Projucer. In this case, you should\r
- not override this method.\r
+ /** Dynamically request an additional bus.\r
\r
- If, on the other hand, you decide to override this method then you need to make sure that\r
- "PlugIn Channel Configurations" field in the Projucer is empty.\r
+ Request an additional bus from the audio processor. If the audio processor\r
+ does not support adding additional buses then this method will return false.\r
\r
- Note, that you must not do any heavy allocations or calculations in this callback as it may\r
- be called several hundred times during initialization. If you require any layout specific\r
- allocations then defer these to prepareToPlay callback.\r
+ Most audio processors will not allow you to dynamically add/remove\r
+ audio buses and will return false.\r
\r
- @returns false if there is no way for the processor to support the given format on the specified bus.\r
+ This method will invoke the canApplyBusCountChange callback to probe\r
+ if a bus can be added and, if yes, will use the supplied bus properties\r
+ of the canApplyBusCountChange callback to create a new bus.\r
\r
- @see prepareToPlay, busArrangement, AudioBusArrangement::getBusBuffer, getTotalNumInputChannels, getTotalNumOutputChannels\r
+ @see canApplyBusCountChange, removeBus\r
*/\r
- virtual bool setPreferredBusArrangement (bool isInputBus, int busIndex, const AudioChannelSet& preferredSet);\r
+ bool addBus (bool isInput);\r
+\r
+ /** Dynamically remove the latest added bus.\r
+\r
+ Request the removal of the last bus from the audio processor. If the\r
+ audio processor does not support removing buses then this method will\r
+ return false.\r
+\r
+ Most audio processors will not allow you to dynamically add/remove\r
+ audio buses and will return false.\r
+\r
+ The default implementation will return false.\r
+\r
+ This method will invoke the canApplyBusCountChange callback to probe if\r
+ a bus can currently be removed and, if yes, will go ahead and remove it.\r
+\r
+ @see addBus, canRemoveBus\r
+ */\r
+ bool removeBus (bool isInput);\r
+\r
+ //==============================================================================\r
+ /** Set the channel layouts of this audio processor.\r
+\r
+ If the layout is not supported by this audio processor then\r
+ this method will return false. You can use the checkBusesLayoutSupported\r
+ and getNextBestLayout methods to probe which layouts this audio\r
+ processor supports.\r
+ */\r
+ bool setBusesLayout (const BusesLayout& arr);\r
+\r
+ /** Set the channel layouts of this audio processor without changing the\r
+ enablement state of the buses.\r
+\r
+ If the layout is not supported by this audio processor then\r
+ this method will return false. You can use the checkBusesLayoutSupported\r
+ and getNextBestLayout methods to probe which layouts this audio\r
+ processor supports.\r
+ */\r
+ bool setBusesLayoutWithoutEnabling (const BusesLayout& arr);\r
+\r
+ /** Provides the current channel layouts of this audio processor. */\r
+ BusesLayout getBusesLayout() const;\r
+\r
+ /** Provides the channel layout of the bus with a given index and direction.\r
+\r
+ If the index, direction combination is invalid then this will return an\r
+ AudioChannelSet with no channels.\r
+ */\r
+ AudioChannelSet getChannelLayoutOfBus (bool isInput, int busIdx) const noexcept;\r
+\r
+ /** Set the channel layout of the bus with a given index and direction.\r
+\r
+ If the index, direction combination is invalid or the layout is not\r
+ supported by the audio processor then this method will return false.\r
+ */\r
+ bool setChannelLayoutOfBus (bool isInput, int busIdx, const AudioChannelSet& layout);\r
+\r
+ /** Provides the number of channels of the bus with a given index and direction.\r
+\r
+ If the index, direction combination is invalid then this will return zero.\r
+ */\r
+ inline int getChannelCountOfBus (bool isInput, int busIdx) const noexcept\r
+ {\r
+ if (const Bus* bus = getBus (isInput, busIdx))\r
+ return bus->getNumberOfChannels();\r
+\r
+ return 0;\r
+ }\r
+\r
+ /** Enables all buses */\r
+ bool enableAllBuses();\r
+\r
+ /** Disables all non-main buses (aux and sidechains). */\r
+ bool disableNonMainBuses();\r
+\r
+ //==============================================================================\r
+ /** Returns the position of a bus's channels within the processBlock buffer.\r
+ This can be called in processBlock to figure out which channel of the master AudioSampleBuffer\r
+ maps onto a specific bus's channel.\r
+ */\r
+ int getChannelIndexInProcessBlockBuffer (bool isInput, int busIndex, int channelIndex) const noexcept;\r
+\r
+ /** Returns the offset in a bus's buffer from an absolute channel indes.\r
+\r
+ This method returns the offset in a bus's buffer given an absolute channel index.\r
+ It also provides the bus index. For example, this method would return one\r
+ for a processor with two stereo buses when given the absolute channel index.\r
+ */\r
+ int getOffsetInBusBufferForAbsoluteChannelIndex (bool isInput, int absoluteChannelIndex, /*out*/ int& busIdx) const noexcept;\r
+\r
+ /** Returns an AudioBuffer containing a set of channel pointers for a specific bus.\r
+ This can be called in processBlock to get a buffer containing a sub-group of the master\r
+ AudioSampleBuffer which contains all the plugin channels.\r
+ */\r
+ template <typename FloatType>\r
+ AudioBuffer<FloatType> getBusBuffer (AudioBuffer<FloatType>& processBlockBuffer, bool isInput, int busIndex) const\r
+ {\r
+ const int busNumChannels = getChannelCountOfBus (isInput, busIndex);\r
+ const int channelOffset = getChannelIndexInProcessBlockBuffer (isInput, busIndex, 0);\r
+\r
+ return AudioBuffer<FloatType> (processBlockBuffer.getArrayOfWritePointers() + channelOffset,\r
+ busNumChannels, processBlockBuffer.getNumSamples());\r
+ }\r
+\r
+ //==============================================================================\r
+ /** Returns true if the Audio processor is likely to support a given layout.\r
+\r
+ This can be called regardless if the processor is currently running.\r
+ */\r
+ bool checkBusesLayoutSupported (const BusesLayout& layouts) const;\r
\r
//==============================================================================\r
/** Returns true if the Audio processor supports double precision floating point processing.\r
getMainBusNumInputChannels if your processor does not have any sidechains\r
or aux buses.\r
*/\r
- int getTotalNumInputChannels() const noexcept { return busArrangement.getTotalNumInputChannels(); }\r
+ int getTotalNumInputChannels() const noexcept { return cachedTotalIns; }\r
\r
/** Returns the total number of output channels.\r
\r
getMainBusNumOutputChannels if your processor does not have any sidechains\r
or aux buses.\r
*/\r
- int getTotalNumOutputChannels() const noexcept { return busArrangement.getTotalNumOutputChannels(); }\r
+ int getTotalNumOutputChannels() const noexcept { return cachedTotalOuts; }\r
\r
/** Returns the number of input channels on the main bus. */\r
- int getMainBusNumInputChannels() const noexcept;\r
+ inline int getMainBusNumInputChannels() const noexcept { return getChannelCountOfBus (true, 0); }\r
\r
/** Returns the number of output channels on the main bus. */\r
- int getMainBusNumOutputChannels() const noexcept;\r
+ inline int getMainBusNumOutputChannels() const noexcept { return getChannelCountOfBus (false, 0); }\r
+\r
+ //==============================================================================\r
+ /** Returns true if the channel layout map contains a certain layout.\r
+\r
+ You can use this method to help you implement the checkBusesLayoutSupported\r
+ method. For example\r
+\r
+ @code\r
+ bool checkBusesLayoutSupported (const BusesLayout& layouts) override\r
+ {\r
+ return containsLayout (layouts, {{1,1},{2,2}});\r
+ }\r
+ @endcode\r
+ */\r
+ #if JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS\r
+ static bool containsLayout (const BusesLayout& layouts, const std::initializer_list<const short[2]>& channelLayoutList)\r
+ {\r
+ return containsLayout (layouts, layoutListToArray (channelLayoutList));\r
+ }\r
+ #endif\r
+ template <int numLayouts>\r
+ static bool containsLayout (const BusesLayout& layouts, const short (&channelLayoutList) [numLayouts][2])\r
+ {\r
+ return containsLayout (layouts, layoutListToArray (channelLayoutList));\r
+ }\r
+\r
+ /** Returns the next best layout which is contained in a channel layout map.\r
+\r
+ You can use this mehtod to help you implement getNextBestLayout. For example:\r
+\r
+ @code\r
+ BusesLayout getNextBestLayout (const BusesLayout& layouts) override\r
+ {\r
+ return getNextBestLayoutInLayoutList (layouts, {{1,1},{2,2}});\r
+ }\r
+ @endcode\r
+ */\r
+ template <int numLayouts>\r
+ BusesLayout getNextBestLayoutInLayoutList (const BusesLayout& layouts,\r
+ const short (&channelLayoutList) [numLayouts][2])\r
+ {\r
+ return getNextBestLayoutInList (layouts, layoutListToArray (channelLayoutList));\r
+ }\r
\r
//==============================================================================\r
/** Returns the current sample rate.\r
/** Returns true if the processor supports MPE. */\r
virtual bool supportsMPE() const { return false; }\r
\r
+ /** Returns true if this is a midi effect plug-in and does no audio processing. */\r
+ virtual bool isMidiEffect() const { return false; }\r
+\r
//==============================================================================\r
/** This returns a critical section that will automatically be locked while the host\r
is calling the processBlock() method.\r
*/\r
virtual void setCurrentProgramStateInformation (const void* data, int sizeInBytes);\r
\r
- /** This method is called when the number of input or output channels is changed. */\r
+ /** This method is called when the total number of input or output channels is changed. */\r
virtual void numChannelsChanged();\r
\r
+ /** This method is called when the number of buses is changed. */\r
+ virtual void numBusesChanged();\r
+\r
+ /** This method is called when the layout of the audio processor changes. */\r
+ virtual void processorLayoutsChanged();\r
+\r
//==============================================================================\r
/** Adds a listener that will be called when an aspect of this processor changes. */\r
virtual void addListener (AudioProcessorListener* newListener);\r
\r
/** This is called by the processor to specify its details before being played. You\r
should call this function after having informed the processor about the channel\r
- and bus layouts via setPreferredBusArrangement.\r
+ and bus layouts via setBusesLayout.\r
\r
- @see setPreferredBusArrangement\r
+ @see setBusesLayout\r
*/\r
void setRateAndBufferSizeDetails (double sampleRate, int blockSize) noexcept;\r
\r
/** Returns the name of one of the processor's input channels.\r
\r
These functions are deprecated: your audio processor can inform the host\r
- on channel layouts and names via the methods in the AudioBusArrangement class.\r
+ on channel layouts and names via the methods in the AudiobusLayout class.\r
*/\r
JUCE_DEPRECATED (virtual const String getInputChannelName (int channelIndex) const);\r
JUCE_DEPRECATED (virtual const String getOutputChannelName (int channelIndex) const);\r
/** Returns true if the specified channel is part of a stereo pair with its neighbour.\r
\r
These functions are deprecated: your audio processor should specify the audio\r
- channel pairing information by modifying the busArrangement member variable in\r
+ channel pairing information by modifying the busLayout member variable in\r
the constructor. */\r
JUCE_DEPRECATED (virtual bool isInputChannelStereoPair (int index) const);\r
JUCE_DEPRECATED (virtual bool isOutputChannelStereoPair (int index) const);\r
static void JUCE_CALLTYPE setTypeOfNextNewPlugin (WrapperType);\r
\r
protected:\r
+ /** Callback to query if the AudioProcessor supports a specific layout.\r
+\r
+ This callback is called when the host probes the supported bus layouts via\r
+ the checkBusesLayoutSupported method. You should override this callback if you\r
+ would like to limit the layouts that your AudioProcessor supports. The default\r
+ implementation will accept any layout. JUCE does basic sanity checks so that\r
+ the provided layouts parameter will have the same number of buses as your\r
+ AudioProcessor.\r
+\r
+ @see checkBusesLayoutSupported\r
+ */\r
+ virtual bool isBusesLayoutSupported (const BusesLayout& /*layouts*/) const { return true; }\r
+\r
+ /** Callback to check if a certain bus layout can now be applied\r
+\r
+ Most subclasses will not need to override this method and should instead\r
+ override the isBusesLayoutSupported callback to reject certain layout changes.\r
+\r
+ This callback is called when the user requests a layout change. It will only be\r
+ called if processing of the AudioProcessor has been stopped by a previous call to\r
+ releaseResources or after the construction of the AudioProcessor. It will be called\r
+ just before the actual layout change. By returning false you will abort the layout\r
+ change and setBusesLayout will return false indicating that the layout change\r
+ was not successful.\r
+\r
+ The default implementation will simply call isBusesLayoutSupported.\r
+\r
+ You only need to override this method if there is a chance that your AudioProcessor\r
+ may not accept a layout although you have previously claimed to support it via the\r
+ isBusesLayoutSupported callback. This can occur if your AudioProcessor's supported\r
+ layouts depend on other plug-in parameters which may have changed since the last\r
+ call to isBusesLayoutSupported, such as the format of an audio file which can be\r
+ selected by the user in the AudioProcessor's editor. This callback gives the\r
+ AudioProcessor a last chance to reject a layout if conditions have changed as it\r
+ is always called just before the actual layout change.\r
+\r
+ As it is never called while the AudioProcessor is processing audio, it can also\r
+ be used for AudioProcessors which wrap other plug-in formats to apply the current\r
+ layout to the underlying plug-in. This callback gives such AudioProcessors a\r
+ chance to reject the layout change should an error occur with the underlying plug-in\r
+ during the layout change.\r
+\r
+ @see isBusesLayoutSupported, setBusesLayout\r
+ */\r
+ virtual bool canApplyBusesLayout (const BusesLayout& layouts) const { return isBusesLayoutSupported (layouts); }\r
+\r
+ //==============================================================================\r
+ /** Structure used for AudioProcessor Callbacks */\r
+ struct BusProperties\r
+ {\r
+ /** The name of the bus */\r
+ String busName;\r
+\r
+ /** The default layout of the bus */\r
+ AudioChannelSet defaultLayout;\r
+\r
+ /** Is this bus activated by default? */\r
+ bool isActivatedByDefault;\r
+ };\r
+\r
+ struct BusesProperties\r
+ {\r
+ /** The layouts of the input buses */\r
+ Array<BusProperties> inputLayouts;\r
+\r
+ /** The layouts of the output buses */\r
+ Array<BusProperties> outputLayouts;\r
+\r
+ void addBus (bool isInput, const String& name, const AudioChannelSet& dfltLayout, bool isActivatedByDefault = true);\r
+\r
+ BusesProperties withInput (const String& name, const AudioChannelSet& dfltLayout, bool isActivatedByDefault = true) const;\r
+ BusesProperties withOutput (const String& name, const AudioChannelSet& dfltLayout, bool isActivatedByDefault = true) const;\r
+ };\r
+\r
+ /** Callback to query if adding/removing buses currently possible.\r
+\r
+ This callback is called when the host calls addBus or removeBus.\r
+ Similar to canApplyBusesLayout, this callback is only called while\r
+ the AudioProcessor is stopped and gives the processor a last\r
+ chance to reject a requested bus change. It can also be used to apply\r
+ the bus count change to an underlying wrapped plug-in.\r
+\r
+ When adding a bus, isAddingBuses will be true and the plug-in is\r
+ expected to fill out outNewBusProperties with the properties of the\r
+ bus which will be created just after the succesful return of this callback.\r
+\r
+ Implementations of AudioProcessor will rarely need to override this\r
+ method. Only override this method if your processor supports adding\r
+ and removing buses and if it needs more fine grain control over the\r
+ naming of new buses or may reject bus number changes although canAddBus\r
+ or canRemoveBus returned true.\r
+\r
+ The default implementation will return false if canAddBus/canRemoveBus\r
+ returns false (the default behavior). Otherwise, this method returns\r
+ "Input #busIdx" for input buses and "Output #busIdx" for output buses\r
+ where busIdx is the index for newly created buses. The default layout\r
+ in this case will be the layout of the previous bus of the same direction.\r
+ */\r
+ virtual bool canApplyBusCountChange (bool isInput, bool isAddingBuses,\r
+ BusProperties& outNewBusProperties);\r
+\r
+ //==============================================================================\r
+ friend struct PluginBusUtilities;\r
+\r
/** @internal */\r
AudioPlayHead* playHead;\r
\r
void sendParamChangeMessageToListeners (int parameterIndex, float newValue);\r
\r
private:\r
+ //==============================================================================\r
+ struct InOutChannelPair\r
+ {\r
+ int16 inChannels, outChannels;\r
+\r
+ InOutChannelPair() noexcept : inChannels (0), outChannels (0) {}\r
+ InOutChannelPair (short inCh, short outCh) noexcept : inChannels (inCh), outChannels (outCh) {}\r
+ InOutChannelPair (const InOutChannelPair& o) noexcept : inChannels (o.inChannels), outChannels (o.outChannels) {}\r
+ InOutChannelPair (const short (&config)[2]) noexcept : inChannels (config[0]), outChannels (config[1]) {}\r
+\r
+ InOutChannelPair& operator= (const InOutChannelPair& o) { inChannels = o.inChannels; outChannels = o.outChannels; return *this; }\r
+\r
+ bool operator== (const InOutChannelPair& other) const noexcept\r
+ {\r
+ return (other.inChannels == inChannels && other.outChannels == outChannels);\r
+ }\r
+ };\r
+\r
+ template <int numLayouts>\r
+ static Array<InOutChannelPair> layoutListToArray (const short (&configuration) [numLayouts][2])\r
+ {\r
+ Array<InOutChannelPair> layouts;\r
+\r
+ for (int i = 0; i < numLayouts; ++i)\r
+ {\r
+ InOutChannelPair pair (configuration [i]);\r
+ layouts.add (pair);\r
+ }\r
+\r
+ return layouts;\r
+ }\r
+\r
+ #if JUCE_COMPILER_SUPPORTS_INITIALIZER_LISTS\r
+ static Array<InOutChannelPair> layoutListToArray (const std::initializer_list<const short[2]>& configuration)\r
+ {\r
+ Array<InOutChannelPair> layouts;\r
+\r
+ for (std::initializer_list<const short[2]>::const_iterator it = configuration.begin();\r
+ it != configuration.end(); ++it)\r
+ {\r
+ InOutChannelPair pair (*it);\r
+ layouts.add (pair);\r
+ }\r
+\r
+ return layouts;\r
+ }\r
+ #endif\r
+\r
+ //==============================================================================\r
+ static BusesProperties busesPropertiesFromLayoutArray (const Array<InOutChannelPair>&);\r
+\r
+ //==============================================================================\r
+ BusesLayout getNextBestLayoutInList (const BusesLayout& layouts,\r
+ const Array<InOutChannelPair>& channelLayouts) const;\r
+ static bool containsLayout (const BusesLayout& layouts, const Array<InOutChannelPair>& channelLayouts);\r
+\r
+ //==============================================================================\r
+ void initialise (const BusesProperties& ioLayouts);\r
+ void createBus (bool inputBus, const BusProperties&);\r
+\r
+ //==============================================================================\r
Array<AudioProcessorListener*> listeners;\r
Component::SafePointer<AudioProcessorEditor> activeEditor;\r
double currentSampleRate;\r
ProcessingPrecision processingPrecision;\r
CriticalSection callbackLock, listenerLock;\r
\r
+ friend class Bus;\r
+ mutable OwnedArray<Bus> inputBuses;\r
+ mutable OwnedArray<Bus> outputBuses;\r
+\r
String cachedInputSpeakerArrString;\r
String cachedOutputSpeakerArrString;\r
\r
+ int cachedTotalIns, cachedTotalOuts;\r
+\r
OwnedArray<AudioProcessorParameter> managedParameters;\r
AudioProcessorParameter* getParamChecked (int) const noexcept;\r
\r
#endif\r
\r
AudioProcessorListener* getListenerLocked (int) const noexcept;\r
- void disableNonMainBuses (bool isInput);\r
void updateSpeakerFormatStrings();\r
+ bool applyBusLayouts (const BusesLayout& arr);\r
+ void audioIOChanged (bool busNumberChanged, bool channelNumChanged);\r
+ BusesLayout getNextBestLayout (const BusesLayout& layouts) const;\r
\r
template <typename floatType>\r
void processBypassed (AudioBuffer<floatType>&, MidiBuffer&);\r
\r
AudioBuffer<FloatType> buffer (channels, totalChans, numSamples);\r
\r
+ if (processor->isSuspended())\r
{\r
- ScopedLock callbackLock (processor->getCallbackLock());\r
+ buffer.clear();\r
+ }\r
+ else\r
+ {\r
+ ScopedLock lock (processor->getCallbackLock());\r
\r
- if (processor->isSuspended())\r
- buffer.clear();\r
- else\r
- callProcess (buffer, *sharedMidiBuffers.getUnchecked (midiBufferToUse));\r
+ callProcess (buffer, *sharedMidiBuffers.getUnchecked (midiBufferToUse));\r
}\r
}\r
\r
processor->setProcessingPrecision (processor->supportsDoublePrecisionProcessing() ? precision\r
: singlePrecision);\r
\r
- processor->setPlayConfigDetails (processor->getMainBusNumInputChannels(),\r
- processor->getMainBusNumOutputChannels(),\r
- newSampleRate, newBlockSize);\r
-\r
- // AudioProcessorGraph currently does not support processors with multiple buses\r
- jassert (processor->getMainBusNumInputChannels() == processor->getTotalNumInputChannels()\r
- && processor->getMainBusNumOutputChannels() == processor->getTotalNumOutputChannels());\r
-\r
+ processor->setRateAndBufferSizeDetails (newSampleRate, newBlockSize);\r
processor->prepareToPlay (newSampleRate, newBlockSize);\r
}\r
}\r
const Node* const source = getNodeForId (sourceNodeId);\r
\r
if (source == nullptr\r
- || (sourceChannelIndex != midiChannelIndex && sourceChannelIndex >= source->processor->getMainBusNumOutputChannels())\r
+ || (sourceChannelIndex != midiChannelIndex && sourceChannelIndex >= source->processor->getTotalNumOutputChannels())\r
|| (sourceChannelIndex == midiChannelIndex && ! source->processor->producesMidi()))\r
return false;\r
\r
const Node* const dest = getNodeForId (destNodeId);\r
\r
if (dest == nullptr\r
- || (destChannelIndex != midiChannelIndex && destChannelIndex >= dest->processor->getMainBusNumInputChannels())\r
+ || (destChannelIndex != midiChannelIndex && destChannelIndex >= dest->processor->getTotalNumInputChannels())\r
|| (destChannelIndex == midiChannelIndex && ! dest->processor->acceptsMidi()))\r
return false;\r
\r
\r
return source != nullptr\r
&& dest != nullptr\r
- && (c->sourceChannelIndex != midiChannelIndex ? isPositiveAndBelow (c->sourceChannelIndex, source->processor->getMainBusNumOutputChannels())\r
+ && (c->sourceChannelIndex != midiChannelIndex ? isPositiveAndBelow (c->sourceChannelIndex, source->processor->getTotalNumOutputChannels())\r
: source->processor->producesMidi())\r
- && (c->destChannelIndex != midiChannelIndex ? isPositiveAndBelow (c->destChannelIndex, dest->processor->getMainBusNumInputChannels())\r
+ && (c->destChannelIndex != midiChannelIndex ? isPositiveAndBelow (c->destChannelIndex, dest->processor->getTotalNumInputChannels())\r
: dest->processor->acceptsMidi());\r
}\r
\r
d.version = "1.0";\r
d.isInstrument = false;\r
\r
- d.numInputChannels = getMainBusNumInputChannels();\r
+ d.numInputChannels = getTotalNumInputChannels();\r
if (type == audioOutputNode && graph != nullptr)\r
- d.numInputChannels = graph->getMainBusNumInputChannels();\r
+ d.numInputChannels = graph->getTotalNumInputChannels();\r
\r
- d.numOutputChannels = getMainBusNumOutputChannels();\r
+ d.numOutputChannels = getTotalNumOutputChannels();\r
if (type == audioInputNode && graph != nullptr)\r
- d.numOutputChannels = graph->getMainBusNumOutputChannels();\r
+ d.numOutputChannels = graph->getTotalNumOutputChannels();\r
}\r
\r
void AudioProcessorGraph::AudioGraphIOProcessor::prepareToPlay (double, int)\r
\r
if (graph != nullptr)\r
{\r
- setPlayConfigDetails (type == audioOutputNode ? graph->getMainBusNumOutputChannels() : 0,\r
- type == audioInputNode ? graph->getMainBusNumInputChannels() : 0,\r
+ setPlayConfigDetails (type == audioOutputNode ? graph->getTotalNumOutputChannels() : 0,\r
+ type == audioInputNode ? graph->getTotalNumInputChannels() : 0,\r
getSampleRate(),\r
getBlockSize());\r
\r
: AudioProcessorParameter::getText (v, length);\r
}\r
\r
- int getNumSteps () const override\r
+ int getNumSteps() const override\r
{\r
if (range.interval > 0)\r
return (static_cast<int> ((range.end - range.start) / range.interval) + 1);\r
- else\r
- return AudioProcessor::getDefaultNumParameterSteps ();\r
+\r
+ return AudioProcessor::getDefaultNumParameterSteps();\r
}\r
\r
void setValue (float newValue) override\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#ifndef JUCE_AUDIOCDBURNER_H_INCLUDED\r
+#define JUCE_AUDIOCDBURNER_H_INCLUDED\r
+\r
+#if JUCE_USE_CDBURNER || DOXYGEN\r
+\r
+\r
+//==============================================================================\r
+/**\r
+*/\r
+class AudioCDBurner : public ChangeBroadcaster\r
+{\r
+public:\r
+ //==============================================================================\r
+ /** Returns a list of available optical drives.\r
+\r
+ Use openDevice() to open one of the items from this list.\r
+ */\r
+ static StringArray findAvailableDevices();\r
+\r
+ /** Tries to open one of the optical drives.\r
+\r
+ The deviceIndex is an index into the array returned by findAvailableDevices().\r
+ */\r
+ static AudioCDBurner* openDevice (const int deviceIndex);\r
+\r
+ /** Destructor. */\r
+ ~AudioCDBurner();\r
+\r
+ //==============================================================================\r
+ enum DiskState\r
+ {\r
+ unknown, /**< An error condition, if the device isn't responding. */\r
+ trayOpen, /**< The drive is currently open. Note that a slot-loading drive\r
+ may seem to be permanently open. */\r
+ noDisc, /**< The drive has no disk in it. */\r
+ writableDiskPresent, /**< The drive contains a writeable disk. */\r
+ readOnlyDiskPresent /**< The drive contains a read-only disk. */\r
+ };\r
+\r
+ /** Returns the current status of the device.\r
+\r
+ To get informed when the drive's status changes, attach a ChangeListener to\r
+ the AudioCDBurner.\r
+ */\r
+ DiskState getDiskState() const;\r
+\r
+ /** Returns true if there's a writable disk in the drive. */\r
+ bool isDiskPresent() const;\r
+\r
+ /** Sends an eject signal to the drive.\r
+ The eject will happen asynchronously, so you can use getDiskState() and\r
+ waitUntilStateChange() to monitor its progress.\r
+ */\r
+ bool openTray();\r
+\r
+ /** Blocks the current thread until the drive's state changes, or until the timeout expires.\r
+ @returns the device's new state\r
+ */\r
+ DiskState waitUntilStateChange (int timeOutMilliseconds);\r
+\r
+ //==============================================================================\r
+ /** Returns the set of possible write speeds that the device can handle.\r
+ These are as a multiple of 'normal' speed, so e.g. '24x' returns 24, etc.\r
+ Note that if there's no media present in the drive, this value may be unavailable!\r
+ @see setWriteSpeed, getWriteSpeed\r
+ */\r
+ Array<int> getAvailableWriteSpeeds() const;\r
+\r
+ //==============================================================================\r
+ /** Tries to enable or disable buffer underrun safety on devices that support it.\r
+ @returns true if it's now enabled. If the device doesn't support it, this\r
+ will always return false.\r
+ */\r
+ bool setBufferUnderrunProtection (bool shouldBeEnabled);\r
+\r
+ //==============================================================================\r
+ /** Returns the number of free blocks on the disk.\r
+\r
+ There are 75 blocks per second, at 44100Hz.\r
+ */\r
+ int getNumAvailableAudioBlocks() const;\r
+\r
+ /** Adds a track to be written.\r
+\r
+ The source passed-in here will be kept by this object, and it will\r
+ be used and deleted at some point in the future, either during the\r
+ burn() method or when this AudioCDBurner object is deleted. Your caller\r
+ method shouldn't keep a reference to it or use it again after passing\r
+ it in here.\r
+ */\r
+ bool addAudioTrack (AudioSource* source, int numSamples);\r
+\r
+ //==============================================================================\r
+ /** Receives progress callbacks during a cd-burn operation.\r
+ @see AudioCDBurner::burn()\r
+ */\r
+ class BurnProgressListener\r
+ {\r
+ public:\r
+ BurnProgressListener() noexcept {}\r
+ virtual ~BurnProgressListener() {}\r
+\r
+ /** Called at intervals to report on the progress of the AudioCDBurner.\r
+\r
+ To cancel the burn, return true from this method.\r
+ */\r
+ virtual bool audioCDBurnProgress (float proportionComplete) = 0;\r
+ };\r
+\r
+ /** Runs the burn process.\r
+ This method will block until the operation is complete.\r
+\r
+ @param listener the object to receive callbacks about progress\r
+ @param ejectDiscAfterwards whether to eject the disk after the burn completes\r
+ @param performFakeBurnForTesting if true, no data will actually be written to the disk\r
+ @param writeSpeed one of the write speeds from getAvailableWriteSpeeds(), or\r
+ 0 or less to mean the fastest speed.\r
+ */\r
+ String burn (BurnProgressListener* listener,\r
+ bool ejectDiscAfterwards,\r
+ bool performFakeBurnForTesting,\r
+ int writeSpeed);\r
+\r
+ /** If a burn operation is currently in progress, this tells it to stop\r
+ as soon as possible.\r
+\r
+ It's also possible to stop the burn process by returning true from\r
+ BurnProgressListener::audioCDBurnProgress()\r
+ */\r
+ void abortBurn();\r
+\r
+private:\r
+ //==============================================================================\r
+ AudioCDBurner (const int deviceIndex);\r
+\r
+ class Pimpl;\r
+ friend struct ContainerDeletePolicy<Pimpl>;\r
+ ScopedPointer<Pimpl> pimpl;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioCDBurner)\r
+};\r
+\r
+\r
+#endif\r
+#endif // JUCE_AUDIOCDBURNER_H_INCLUDED\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#if JUCE_USE_CDREADER\r
+\r
+int AudioCDReader::getNumTracks() const\r
+{\r
+ return trackStartSamples.size() - 1;\r
+}\r
+\r
+int AudioCDReader::getPositionOfTrackStart (int trackNum) const\r
+{\r
+ return trackStartSamples [trackNum];\r
+}\r
+\r
+const Array<int>& AudioCDReader::getTrackOffsets() const\r
+{\r
+ return trackStartSamples;\r
+}\r
+\r
+int AudioCDReader::getCDDBId()\r
+{\r
+ int checksum = 0;\r
+ const int numTracks = getNumTracks();\r
+\r
+ for (int i = 0; i < numTracks; ++i)\r
+ for (int offset = (trackStartSamples.getUnchecked(i) + 88200) / 44100; offset > 0; offset /= 10)\r
+ checksum += offset % 10;\r
+\r
+ const int length = (trackStartSamples.getLast() - trackStartSamples.getFirst()) / 44100;\r
+\r
+ // CCLLLLTT: checksum, length, tracks\r
+ return ((checksum & 0xff) << 24) | (length << 8) | numTracks;\r
+}\r
+\r
+#endif\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#ifndef JUCE_AUDIOCDREADER_H_INCLUDED\r
+#define JUCE_AUDIOCDREADER_H_INCLUDED\r
+\r
+#if JUCE_USE_CDREADER || DOXYGEN\r
+\r
+\r
+//==============================================================================\r
+/**\r
+ A type of AudioFormatReader that reads from an audio CD.\r
+\r
+ One of these can be used to read a CD as if it's one big audio stream. Use the\r
+ getPositionOfTrackStart() method to find where the individual tracks are\r
+ within the stream.\r
+\r
+ @see AudioFormatReader\r
+*/\r
+class JUCE_API AudioCDReader : public AudioFormatReader\r
+{\r
+public:\r
+ //==============================================================================\r
+ /** Returns a list of names of Audio CDs currently available for reading.\r
+\r
+ If there's a CD drive but no CD in it, this might return an empty list, or\r
+ possibly a device that can be opened but which has no tracks, depending\r
+ on the platform.\r
+\r
+ @see createReaderForCD\r
+ */\r
+ static StringArray getAvailableCDNames();\r
+\r
+ /** Tries to create an AudioFormatReader that can read from an Audio CD.\r
+\r
+ @param index the index of one of the available CDs - use getAvailableCDNames()\r
+ to find out how many there are.\r
+ @returns a new AudioCDReader object, or nullptr if it couldn't be created. The\r
+ caller will be responsible for deleting the object returned.\r
+ */\r
+ static AudioCDReader* createReaderForCD (const int index);\r
+\r
+ //==============================================================================\r
+ /** Destructor. */\r
+ ~AudioCDReader();\r
+\r
+ /** Implementation of the AudioFormatReader method. */\r
+ bool readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,\r
+ int64 startSampleInFile, int numSamples) override;\r
+\r
+ /** Checks whether the CD has been removed from the drive. */\r
+ bool isCDStillPresent() const;\r
+\r
+ /** Returns the total number of tracks (audio + data). */\r
+ int getNumTracks() const;\r
+\r
+ /** Finds the sample offset of the start of a track.\r
+ @param trackNum the track number, where trackNum = 0 is the first track\r
+ and trackNum = getNumTracks() means the end of the CD.\r
+ */\r
+ int getPositionOfTrackStart (int trackNum) const;\r
+\r
+ /** Returns true if a given track is an audio track.\r
+ @param trackNum the track number, where 0 is the first track.\r
+ */\r
+ bool isTrackAudio (int trackNum) const;\r
+\r
+ /** Returns an array of sample offsets for the start of each track, followed by\r
+ the sample position of the end of the CD.\r
+ */\r
+ const Array<int>& getTrackOffsets() const;\r
+\r
+ /** Refreshes the object's table of contents.\r
+\r
+ If the disc has been ejected and a different one put in since this\r
+ object was created, this will cause it to update its idea of how many tracks\r
+ there are, etc.\r
+ */\r
+ void refreshTrackLengths();\r
+\r
+ /** Enables scanning for indexes within tracks.\r
+ @see getLastIndex\r
+ */\r
+ void enableIndexScanning (bool enabled);\r
+\r
+ /** Returns the index number found during the last read() call.\r
+\r
+ Index scanning is turned off by default - turn it on with enableIndexScanning().\r
+\r
+ Then when the read() method is called, if it comes across an index within that\r
+ block, the index number is stored and returned by this method.\r
+\r
+ Some devices might not support indexes, of course.\r
+\r
+ (If you don't know what CD indexes are, it's unlikely you'll ever need them).\r
+\r
+ @see enableIndexScanning\r
+ */\r
+ int getLastIndex() const;\r
+\r
+ /** Scans a track to find the position of any indexes within it.\r
+ @param trackNumber the track to look in, where 0 is the first track on the disc\r
+ @returns an array of sample positions of any index points found (not including\r
+ the index that marks the start of the track)\r
+ */\r
+ Array<int> findIndexesInTrack (const int trackNumber);\r
+\r
+ /** Returns the CDDB id number for the CD.\r
+ It's not a great way of identifying a disc, but it's traditional.\r
+ */\r
+ int getCDDBId();\r
+\r
+ /** Tries to eject the disk.\r
+ Ejecting the disk might not actually be possible, e.g. if some other process is using it.\r
+ */\r
+ void ejectDisk();\r
+\r
+ //==============================================================================\r
+ enum\r
+ {\r
+ framesPerSecond = 75,\r
+ samplesPerFrame = 44100 / framesPerSecond\r
+ };\r
+\r
+private:\r
+ //==============================================================================\r
+ Array<int> trackStartSamples;\r
+\r
+ #if JUCE_MAC\r
+ File volumeDir;\r
+ Array<File> tracks;\r
+ int currentReaderTrack;\r
+ ScopedPointer<AudioFormatReader> reader;\r
+ AudioCDReader (const File& volume);\r
+\r
+ #elif JUCE_WINDOWS\r
+ bool audioTracks [100];\r
+ void* handle;\r
+ MemoryBlock buffer;\r
+ bool indexingEnabled;\r
+ int lastIndex, firstFrameInBuffer, samplesInBuffer;\r
+ AudioCDReader (void* handle);\r
+ int getIndexAt (int samplePos);\r
+\r
+ #elif JUCE_LINUX\r
+ AudioCDReader();\r
+ #endif\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioCDReader)\r
+};\r
+\r
+#endif\r
+#endif // JUCE_AUDIOCDREADER_H_INCLUDED\r
jassert (audioSourcePlayer.getCurrentSource() == nullptr);\r
}\r
\r
-void AudioAppComponent::setAudioChannels (int numInputChannels, int numOutputChannels)\r
+void AudioAppComponent::setAudioChannels (int numInputChannels, int numOutputChannels, const XmlElement* const xml)\r
{\r
- String audioError = deviceManager.initialise (numInputChannels, numOutputChannels, nullptr, true);\r
+ String audioError = deviceManager.initialise (numInputChannels, numOutputChannels, xml, true);\r
jassert (audioError.isEmpty());\r
\r
deviceManager.addAudioCallback (&audioSourcePlayer);\r
~AudioAppComponent();\r
\r
/** A subclass should call this from their constructor, to set up the audio. */\r
- void setAudioChannels (int numInputChannels, int numOutputChannels);\r
+ void setAudioChannels (int numInputChannels, int numOutputChannels, const XmlElement* const storedSettings = nullptr);\r
\r
/** Tells the source to prepare for playing.\r
\r
values[1] = 0;\r
}\r
\r
- inline void set (const char newMin, const char newMax) noexcept\r
+ inline void set (const int8 newMin, const int8 newMax) noexcept\r
{\r
values[0] = newMin;\r
values[1] = newMax;\r
}\r
\r
- inline char getMinValue() const noexcept { return values[0]; }\r
- inline char getMaxValue() const noexcept { return values[1]; }\r
+ inline int8 getMinValue() const noexcept { return values[0]; }\r
+ inline int8 getMaxValue() const noexcept { return values[1]; }\r
\r
inline void setFloat (Range<float> newRange) noexcept\r
{\r
- values[0] = (char) jlimit (-128, 127, roundFloatToInt (newRange.getStart() * 127.0f));\r
- values[1] = (char) jlimit (-128, 127, roundFloatToInt (newRange.getEnd() * 127.0f));\r
+ values[0] = (int8) jlimit (-128, 127, roundFloatToInt (newRange.getStart() * 127.0f));\r
+ values[1] = (int8) jlimit (-128, 127, roundFloatToInt (newRange.getEnd() * 127.0f));\r
\r
if (values[0] == values[1])\r
{\r
inline void write (OutputStream& output) { output.write (values, 2); }\r
\r
private:\r
- char values[2];\r
+ int8 values[2];\r
};\r
\r
//==============================================================================\r
{\r
endSample = jmin (endSample, data.size() - 1);\r
\r
- char mx = -128;\r
- char mn = 127;\r
+ int8 mx = -128;\r
+ int8 mn = 127;\r
\r
while (startSample <= endSample)\r
{\r
#include <juce_gui_extra/juce_gui_extra.h>\r
#endif\r
\r
+#if JUCE_MAC\r
+ #import <DiscRecording/DiscRecording.h>\r
+#elif JUCE_WINDOWS\r
+ #if JUCE_USE_CDBURNER\r
+ /* You'll need the Platform SDK for these headers - if you don't have it and don't\r
+ need to use CD-burning, then you might just want to set the JUCE_USE_CDBURNER flag\r
+ to 0, to avoid these includes.\r
+ */\r
+ #include <imapi.h>\r
+ #include <imapierror.h>\r
+ #endif\r
+#endif\r
+\r
namespace juce\r
{\r
\r
#include "gui/juce_AudioVisualiserComponent.cpp"\r
#include "gui/juce_MidiKeyboardComponent.cpp"\r
#include "gui/juce_AudioAppComponent.cpp"\r
+#include "players/juce_SoundPlayer.cpp"\r
#include "players/juce_AudioProcessorPlayer.cpp"\r
+#include "audio_cd/juce_AudioCDReader.cpp"\r
\r
#if JUCE_MAC\r
+\r
#include "native/juce_mac_BluetoothMidiDevicePairingDialogue.mm"\r
+ #include "../juce_core/native/juce_osx_ObjCHelpers.h"\r
+\r
+ #if JUCE_USE_CDREADER\r
+ #include "native/juce_mac_AudioCDReader.mm"\r
+ #endif\r
+\r
+ #if JUCE_USE_CDBURNER\r
+ #include "native/juce_mac_AudioCDBurner.mm"\r
+ #endif\r
+\r
#elif JUCE_IOS\r
+\r
#include "native/juce_ios_BluetoothMidiDevicePairingDialogue.mm"\r
+\r
#elif JUCE_ANDROID\r
+\r
#include "native/juce_android_BluetoothMidiDevicePairingDialogue.cpp"\r
+\r
#elif JUCE_LINUX\r
+\r
+ #if JUCE_USE_CDREADER\r
+ #include "native/juce_linux_AudioCDReader.cpp"\r
+ #endif\r
+\r
#include "native/juce_linux_BluetoothMidiDevicePairingDialogue.cpp"\r
+\r
#elif JUCE_WINDOWS\r
+\r
#include "native/juce_win_BluetoothMidiDevicePairingDialogue.cpp"\r
+ #include "../juce_core/native/juce_win32_ComSmartPtr.h"\r
+\r
+ #if JUCE_USE_CDREADER\r
+ #include "native/juce_win32_AudioCDReader.cpp"\r
+ #endif\r
+\r
+ #if JUCE_USE_CDBURNER\r
+ #include "native/juce_win32_AudioCDBurner.cpp"\r
+ #endif\r
+\r
#endif\r
\r
}\r
\r
ID: juce_audio_utils\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE extra audio utility classes\r
description: Classes for audio-related GUI and miscellaneous tasks.\r
website: http://www.juce.com/juce\r
license: GPL/Commercial\r
\r
dependencies: juce_gui_extra, juce_audio_basics, juce_audio_processors, juce_audio_formats\r
+ OSXFrameworks: DiscRecording\r
iOSFrameworks: CoreAudioKit\r
\r
END_JUCE_MODULE_DECLARATION\r
#include <juce_audio_formats/juce_audio_formats.h>\r
#include <juce_audio_processors/juce_audio_processors.h>\r
\r
+//==============================================================================\r
+/** Config: JUCE_USE_CDREADER\r
+ Enables the AudioCDReader class (on supported platforms).\r
+ */\r
+#ifndef JUCE_USE_CDREADER\r
+#define JUCE_USE_CDREADER 0\r
+#endif\r
+\r
+/** Config: JUCE_USE_CDBURNER\r
+ Enables the AudioCDBurner class (on supported platforms).\r
+ */\r
+#ifndef JUCE_USE_CDBURNER\r
+#define JUCE_USE_CDBURNER 0\r
+#endif\r
+\r
//==============================================================================\r
namespace juce\r
{\r
#include "gui/juce_MidiKeyboardComponent.h"\r
#include "gui/juce_AudioAppComponent.h"\r
#include "gui/juce_BluetoothMidiDevicePairingDialogue.h"\r
+#include "players/juce_SoundPlayer.h"\r
#include "players/juce_AudioProcessorPlayer.h"\r
+#include "audio_cd/juce_AudioCDBurner.h"\r
+#include "audio_cd/juce_AudioCDReader.h"\r
\r
}\r
\r
\r
#include <CoreAudioKit/CoreAudioKit.h>\r
\r
-//==============================================================================\r
-@interface BluetoothSelectorView : NSObject\r
-\r
-@property (nonatomic, retain) CABTMIDICentralViewController *central;\r
-- (UIView*) getView;\r
-\r
-@end\r
-\r
-//==============================================================================\r
-@implementation BluetoothSelectorView\r
-\r
-- (instancetype) init\r
-{\r
- self = [super init];\r
- self.central = [[CABTMIDICentralViewController alloc] init];\r
- return self;\r
-}\r
-\r
-- (UIView*) getView\r
-{\r
- return self.central.view;\r
-}\r
-\r
-@end\r
-\r
namespace juce\r
{\r
\r
setBounds (0, 0, getParentWidth(), getParentHeight());\r
toFront (true);\r
\r
- nativeSelectorComponent.setView ([[[BluetoothSelectorView alloc] init] getView]);\r
+ controller = [[CABTMIDICentralViewController alloc] init];\r
+ nativeSelectorComponent.setView ([controller view]);\r
+\r
addAndMakeVisible (nativeSelectorComponent);\r
\r
enterModalState (true, nullptr, true);\r
}\r
\r
+ ~BluetoothMidiSelectorOverlay()\r
+ {\r
+ nativeSelectorComponent.setView (nullptr);\r
+ [controller release];\r
+ }\r
+\r
void paint (Graphics& g) override\r
{\r
g.fillAll (Colours::black.withAlpha (0.5f));\r
const int ph = getParentHeight();\r
\r
nativeSelectorComponent.setBounds (Rectangle<int> (pw, ph)\r
- .withSizeKeepingCentre (jmin (400, pw - 14),\r
- jmin (500, ph - 40)));\r
+ .withSizeKeepingCentre (jmin (400, pw),\r
+ jmin (450, ph - 40)));\r
}\r
\r
void close()\r
setVisible (false);\r
}\r
\r
+ CABTMIDICentralViewController* controller;\r
UIViewComponent nativeSelectorComponent;\r
\r
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BluetoothMidiSelectorOverlay)\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+AudioCDReader::AudioCDReader()\r
+ : AudioFormatReader (0, "CD Audio")\r
+{\r
+}\r
+\r
+StringArray AudioCDReader::getAvailableCDNames()\r
+{\r
+ StringArray names;\r
+ return names;\r
+}\r
+\r
+AudioCDReader* AudioCDReader::createReaderForCD (const int)\r
+{\r
+ return nullptr;\r
+}\r
+\r
+AudioCDReader::~AudioCDReader()\r
+{\r
+}\r
+\r
+void AudioCDReader::refreshTrackLengths()\r
+{\r
+}\r
+\r
+bool AudioCDReader::readSamples (int**, int, int,\r
+ int64, int)\r
+{\r
+ return false;\r
+}\r
+\r
+bool AudioCDReader::isCDStillPresent() const\r
+{\r
+ return false;\r
+}\r
+\r
+bool AudioCDReader::isTrackAudio (int) const\r
+{\r
+ return false;\r
+}\r
+\r
+void AudioCDReader::enableIndexScanning (bool)\r
+{\r
+}\r
+\r
+int AudioCDReader::getLastIndex() const\r
+{\r
+ return 0;\r
+}\r
+\r
+Array<int> AudioCDReader::findIndexesInTrack (const int)\r
+{\r
+ return Array<int>();\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+const int kilobytesPerSecond1x = 176;\r
+\r
+struct AudioTrackProducerClass : public ObjCClass <NSObject>\r
+{\r
+ AudioTrackProducerClass() : ObjCClass <NSObject> ("JUCEAudioTrackProducer_")\r
+ {\r
+ addIvar<AudioSourceHolder*> ("source");\r
+\r
+ addMethod (@selector (initWithAudioSourceHolder:), initWithAudioSourceHolder, "@@:^v");\r
+ addMethod (@selector (cleanupTrackAfterBurn:), cleanupTrackAfterBurn, "v@:@");\r
+ addMethod (@selector (cleanupTrackAfterVerification:), cleanupTrackAfterVerification, "c@:@");\r
+ addMethod (@selector (estimateLengthOfTrack:), estimateLengthOfTrack, "Q@:@");\r
+ addMethod (@selector (prepareTrack:forBurn:toMedia:), prepareTrack, "c@:@@@");\r
+ addMethod (@selector (prepareTrackForVerification:), prepareTrackForVerification, "c@:@");\r
+ addMethod (@selector (produceDataForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:),\r
+ produceDataForTrack, "I@:@^cIQI^I");\r
+ addMethod (@selector (producePreGapForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:),\r
+ produceDataForTrack, "I@:@^cIQI^I");\r
+ addMethod (@selector (verifyDataForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:),\r
+ produceDataForTrack, "I@:@^cIQI^I");\r
+\r
+ registerClass();\r
+ }\r
+\r
+ struct AudioSourceHolder\r
+ {\r
+ AudioSourceHolder (AudioSource* s, int numFrames)\r
+ : source (s), readPosition (0), lengthInFrames (numFrames)\r
+ {\r
+ }\r
+\r
+ ~AudioSourceHolder()\r
+ {\r
+ if (source != nullptr)\r
+ source->releaseResources();\r
+ }\r
+\r
+ ScopedPointer<AudioSource> source;\r
+ int readPosition, lengthInFrames;\r
+ };\r
+\r
+private:\r
+ static id initWithAudioSourceHolder (id self, SEL, AudioSourceHolder* source)\r
+ {\r
+ self = sendSuperclassMessage (self, @selector (init));\r
+ object_setInstanceVariable (self, "source", source);\r
+ return self;\r
+ }\r
+\r
+ static AudioSourceHolder* getSource (id self)\r
+ {\r
+ return getIvar<AudioSourceHolder*> (self, "source");\r
+ }\r
+\r
+ static void dealloc (id self, SEL)\r
+ {\r
+ delete getSource (self);\r
+ sendSuperclassMessage (self, @selector (dealloc));\r
+ }\r
+\r
+ static void cleanupTrackAfterBurn (id, SEL, DRTrack*) {}\r
+ static BOOL cleanupTrackAfterVerification (id, SEL, DRTrack*) { return true; }\r
+\r
+ static uint64_t estimateLengthOfTrack (id self, SEL, DRTrack*)\r
+ {\r
+ return static_cast<uint64_t> (getSource (self)->lengthInFrames);\r
+ }\r
+\r
+ static BOOL prepareTrack (id self, SEL, DRTrack*, DRBurn*, NSDictionary*)\r
+ {\r
+ if (AudioSourceHolder* const source = getSource (self))\r
+ {\r
+ source->source->prepareToPlay (44100 / 75, 44100);\r
+ source->readPosition = 0;\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+ static BOOL prepareTrackForVerification (id self, SEL, DRTrack*)\r
+ {\r
+ if (AudioSourceHolder* const source = getSource (self))\r
+ source->source->prepareToPlay (44100 / 75, 44100);\r
+\r
+ return true;\r
+ }\r
+\r
+ static uint32_t produceDataForTrack (id self, SEL, DRTrack*, char* buffer,\r
+ uint32_t bufferLength, uint64_t /*address*/,\r
+ uint32_t /*blockSize*/, uint32_t* /*flags*/)\r
+ {\r
+ if (AudioSourceHolder* const source = getSource (self))\r
+ {\r
+ const int numSamples = jmin ((int) bufferLength / 4,\r
+ (source->lengthInFrames * (44100 / 75)) - source->readPosition);\r
+\r
+ if (numSamples > 0)\r
+ {\r
+ AudioSampleBuffer tempBuffer (2, numSamples);\r
+ AudioSourceChannelInfo info (tempBuffer);\r
+\r
+ source->source->getNextAudioBlock (info);\r
+\r
+ typedef AudioData::Pointer <AudioData::Int16, AudioData::LittleEndian, AudioData::Interleaved, AudioData::NonConst> CDSampleFormat;\r
+ typedef AudioData::Pointer <AudioData::Float32, AudioData::NativeEndian, AudioData::NonInterleaved, AudioData::Const> SourceSampleFormat;\r
+\r
+ CDSampleFormat left (buffer, 2);\r
+ left.convertSamples (SourceSampleFormat (tempBuffer.getReadPointer (0)), numSamples);\r
+ CDSampleFormat right (buffer + 2, 2);\r
+ right.convertSamples (SourceSampleFormat (tempBuffer.getReadPointer (1)), numSamples);\r
+\r
+ source->readPosition += numSamples;\r
+ }\r
+\r
+ return static_cast<uint32_t> (numSamples * 4);\r
+ }\r
+\r
+ return 0;\r
+ }\r
+\r
+ static uint32_t producePreGapForTrack (id, SEL, DRTrack*, char* buffer,\r
+ uint32_t bufferLength, uint64_t /*address*/,\r
+ uint32_t /*blockSize*/, uint32_t* /*flags*/)\r
+ {\r
+ zeromem (buffer, bufferLength);\r
+ return bufferLength;\r
+ }\r
+\r
+ static BOOL verifyDataForTrack (id, SEL, DRTrack*, const char*,\r
+ uint32_t /*bufferLength*/, uint64_t /*address*/,\r
+ uint32_t /*blockSize*/, uint32_t* /*flags*/)\r
+ {\r
+ return true;\r
+ }\r
+};\r
+\r
+struct OpenDiskDevice\r
+{\r
+ OpenDiskDevice (DRDevice* d)\r
+ : device (d),\r
+ tracks ([[NSMutableArray alloc] init]),\r
+ underrunProtection (true)\r
+ {\r
+ }\r
+\r
+ ~OpenDiskDevice()\r
+ {\r
+ [tracks release];\r
+ }\r
+\r
+ void addSourceTrack (AudioSource* source, int numSamples)\r
+ {\r
+ if (source != nullptr)\r
+ {\r
+ const int numFrames = (numSamples + 587) / 588;\r
+\r
+ static AudioTrackProducerClass cls;\r
+\r
+ NSObject* producer = [cls.createInstance() performSelector: @selector (initWithAudioSourceHolder:)\r
+ withObject: (id) new AudioTrackProducerClass::AudioSourceHolder (source, numFrames)];\r
+ DRTrack* track = [[DRTrack alloc] initWithProducer: producer];\r
+\r
+ {\r
+ NSMutableDictionary* p = [[track properties] mutableCopy];\r
+ [p setObject: [DRMSF msfWithFrames: static_cast<UInt32> (numFrames)] forKey: DRTrackLengthKey];\r
+ [p setObject: [NSNumber numberWithUnsignedShort: 2352] forKey: DRBlockSizeKey];\r
+ [p setObject: [NSNumber numberWithInt: 0] forKey: DRDataFormKey];\r
+ [p setObject: [NSNumber numberWithInt: 0] forKey: DRBlockTypeKey];\r
+ [p setObject: [NSNumber numberWithInt: 0] forKey: DRTrackModeKey];\r
+ [p setObject: [NSNumber numberWithInt: 0] forKey: DRSessionFormatKey];\r
+ [track setProperties: p];\r
+ [p release];\r
+ }\r
+\r
+ [tracks addObject: track];\r
+\r
+ [track release];\r
+ [producer release];\r
+ }\r
+ }\r
+\r
+ String burn (AudioCDBurner::BurnProgressListener* listener,\r
+ bool shouldEject, bool peformFakeBurnForTesting, int burnSpeed)\r
+ {\r
+ DRBurn* burn = [DRBurn burnForDevice: device];\r
+\r
+ if (! [device acquireExclusiveAccess])\r
+ return "Couldn't open or write to the CD device";\r
+\r
+ [device acquireMediaReservation];\r
+\r
+ NSMutableDictionary* d = [[burn properties] mutableCopy];\r
+ [d autorelease];\r
+ [d setObject: [NSNumber numberWithBool: peformFakeBurnForTesting] forKey: DRBurnTestingKey];\r
+ [d setObject: [NSNumber numberWithBool: false] forKey: DRBurnVerifyDiscKey];\r
+ [d setObject: (shouldEject ? DRBurnCompletionActionEject : DRBurnCompletionActionMount) forKey: DRBurnCompletionActionKey];\r
+\r
+ if (burnSpeed > 0)\r
+ [d setObject: [NSNumber numberWithFloat: burnSpeed * kilobytesPerSecond1x] forKey: DRBurnRequestedSpeedKey];\r
+\r
+ if (! underrunProtection)\r
+ [d setObject: [NSNumber numberWithBool: false] forKey: DRBurnUnderrunProtectionKey];\r
+\r
+ [burn setProperties: d];\r
+\r
+ [burn writeLayout: tracks];\r
+\r
+ for (;;)\r
+ {\r
+ Thread::sleep (300);\r
+ float progress = [[[burn status] objectForKey: DRStatusPercentCompleteKey] floatValue];\r
+\r
+ if (listener != nullptr && listener->audioCDBurnProgress (progress))\r
+ {\r
+ [burn abort];\r
+ return "User cancelled the write operation";\r
+ }\r
+\r
+ if ([[[burn status] objectForKey: DRStatusStateKey] isEqualTo: DRStatusStateFailed])\r
+ return "Write operation failed";\r
+\r
+ if ([[[burn status] objectForKey: DRStatusStateKey] isEqualTo: DRStatusStateDone])\r
+ break;\r
+\r
+ NSString* err = (NSString*) [[[burn status] objectForKey: DRErrorStatusKey]\r
+ objectForKey: DRErrorStatusErrorStringKey];\r
+ if ([err length] > 0)\r
+ return nsStringToJuce (err);\r
+ }\r
+\r
+ [device releaseMediaReservation];\r
+ [device releaseExclusiveAccess];\r
+ return String();\r
+ }\r
+\r
+ DRDevice* device;\r
+ NSMutableArray* tracks;\r
+ bool underrunProtection;\r
+};\r
+\r
+//==============================================================================\r
+class AudioCDBurner::Pimpl : public Timer\r
+{\r
+public:\r
+ Pimpl (AudioCDBurner& b, int deviceIndex) : owner (b)\r
+ {\r
+ if (DRDevice* dev = [[DRDevice devices] objectAtIndex: static_cast<NSUInteger> (deviceIndex)])\r
+ {\r
+ device = new OpenDiskDevice (dev);\r
+ lastState = getDiskState();\r
+ startTimer (1000);\r
+ }\r
+ }\r
+\r
+ ~Pimpl()\r
+ {\r
+ stopTimer();\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ const DiskState state = getDiskState();\r
+\r
+ if (state != lastState)\r
+ {\r
+ lastState = state;\r
+ owner.sendChangeMessage();\r
+ }\r
+ }\r
+\r
+ DiskState getDiskState() const\r
+ {\r
+ if ([device->device isValid])\r
+ {\r
+ NSDictionary* status = [device->device status];\r
+ NSString* state = [status objectForKey: DRDeviceMediaStateKey];\r
+\r
+ if ([state isEqualTo: DRDeviceMediaStateNone])\r
+ {\r
+ if ([[status objectForKey: DRDeviceIsTrayOpenKey] boolValue])\r
+ return trayOpen;\r
+\r
+ return noDisc;\r
+ }\r
+\r
+ if ([state isEqualTo: DRDeviceMediaStateMediaPresent])\r
+ {\r
+ if ([[[status objectForKey: DRDeviceMediaInfoKey] objectForKey: DRDeviceMediaBlocksFreeKey] intValue] > 0)\r
+ return writableDiskPresent;\r
+\r
+ return readOnlyDiskPresent;\r
+ }\r
+ }\r
+\r
+ return unknown;\r
+ }\r
+\r
+ bool openTray() { return [device->device isValid] && [device->device ejectMedia]; }\r
+\r
+ Array<int> getAvailableWriteSpeeds() const\r
+ {\r
+ Array<int> results;\r
+\r
+ if ([device->device isValid])\r
+ for (id kbPerSec in [[[device->device status] objectForKey: DRDeviceMediaInfoKey] objectForKey: DRDeviceBurnSpeedsKey])\r
+ results.add ([kbPerSec intValue] / kilobytesPerSecond1x);\r
+\r
+ return results;\r
+ }\r
+\r
+ bool setBufferUnderrunProtection (const bool shouldBeEnabled)\r
+ {\r
+ if ([device->device isValid])\r
+ {\r
+ device->underrunProtection = shouldBeEnabled;\r
+ return shouldBeEnabled && [[[device->device status] objectForKey: DRDeviceCanUnderrunProtectCDKey] boolValue];\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
+ int getNumAvailableAudioBlocks() const\r
+ {\r
+ return [[[[device->device status] objectForKey: DRDeviceMediaInfoKey]\r
+ objectForKey: DRDeviceMediaBlocksFreeKey] intValue];\r
+ }\r
+\r
+ ScopedPointer<OpenDiskDevice> device;\r
+\r
+private:\r
+ DiskState lastState;\r
+ AudioCDBurner& owner;\r
+};\r
+\r
+//==============================================================================\r
+AudioCDBurner::AudioCDBurner (const int deviceIndex)\r
+{\r
+ pimpl = new Pimpl (*this, deviceIndex);\r
+}\r
+\r
+AudioCDBurner::~AudioCDBurner()\r
+{\r
+}\r
+\r
+AudioCDBurner* AudioCDBurner::openDevice (const int deviceIndex)\r
+{\r
+ ScopedPointer<AudioCDBurner> b (new AudioCDBurner (deviceIndex));\r
+\r
+ if (b->pimpl->device == nil)\r
+ b = nullptr;\r
+\r
+ return b.release();\r
+}\r
+\r
+StringArray AudioCDBurner::findAvailableDevices()\r
+{\r
+ StringArray s;\r
+\r
+ for (NSDictionary* dic in [DRDevice devices])\r
+ if (NSString* name = [dic valueForKey: DRDeviceProductNameKey])\r
+ s.add (nsStringToJuce (name));\r
+\r
+ return s;\r
+}\r
+\r
+AudioCDBurner::DiskState AudioCDBurner::getDiskState() const\r
+{\r
+ return pimpl->getDiskState();\r
+}\r
+\r
+bool AudioCDBurner::isDiskPresent() const\r
+{\r
+ return getDiskState() == writableDiskPresent;\r
+}\r
+\r
+bool AudioCDBurner::openTray()\r
+{\r
+ return pimpl->openTray();\r
+}\r
+\r
+AudioCDBurner::DiskState AudioCDBurner::waitUntilStateChange (int timeOutMilliseconds)\r
+{\r
+ const int64 timeout = Time::currentTimeMillis() + timeOutMilliseconds;\r
+ DiskState oldState = getDiskState();\r
+ DiskState newState = oldState;\r
+\r
+ while (newState == oldState && Time::currentTimeMillis() < timeout)\r
+ {\r
+ newState = getDiskState();\r
+ Thread::sleep (100);\r
+ }\r
+\r
+ return newState;\r
+}\r
+\r
+Array<int> AudioCDBurner::getAvailableWriteSpeeds() const\r
+{\r
+ return pimpl->getAvailableWriteSpeeds();\r
+}\r
+\r
+bool AudioCDBurner::setBufferUnderrunProtection (const bool shouldBeEnabled)\r
+{\r
+ return pimpl->setBufferUnderrunProtection (shouldBeEnabled);\r
+}\r
+\r
+int AudioCDBurner::getNumAvailableAudioBlocks() const\r
+{\r
+ return pimpl->getNumAvailableAudioBlocks();\r
+}\r
+\r
+bool AudioCDBurner::addAudioTrack (AudioSource* source, int numSamps)\r
+{\r
+ if ([pimpl->device->device isValid])\r
+ {\r
+ pimpl->device->addSourceTrack (source, numSamps);\r
+ return true;\r
+ }\r
+\r
+ return false;\r
+}\r
+\r
+String AudioCDBurner::burn (AudioCDBurner::BurnProgressListener* listener,\r
+ bool ejectDiscAfterwards,\r
+ bool performFakeBurnForTesting,\r
+ int writeSpeed)\r
+{\r
+ if ([pimpl->device->device isValid])\r
+ return pimpl->device->burn (listener, ejectDiscAfterwards, performFakeBurnForTesting, writeSpeed);\r
+\r
+ return "Couldn't open or write to the CD device";\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+namespace CDReaderHelpers\r
+{\r
+ inline const XmlElement* getElementForKey (const XmlElement& xml, const String& key)\r
+ {\r
+ forEachXmlChildElementWithTagName (xml, child, "key")\r
+ if (child->getAllSubText().trim() == key)\r
+ return child->getNextElement();\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ static int getIntValueForKey (const XmlElement& xml, const String& key, int defaultValue = -1)\r
+ {\r
+ const XmlElement* const block = getElementForKey (xml, key);\r
+ return block != nullptr ? block->getAllSubText().trim().getIntValue() : defaultValue;\r
+ }\r
+\r
+ // Get the track offsets for a CD given an XmlElement representing its TOC.Plist.\r
+ // Returns NULL on success, otherwise a const char* representing an error.\r
+ static const char* getTrackOffsets (XmlDocument& xmlDocument, Array<int>& offsets)\r
+ {\r
+ const ScopedPointer<XmlElement> xml (xmlDocument.getDocumentElement());\r
+ if (xml == nullptr)\r
+ return "Couldn't parse XML in file";\r
+\r
+ const XmlElement* const dict = xml->getChildByName ("dict");\r
+ if (dict == nullptr)\r
+ return "Couldn't get top level dictionary";\r
+\r
+ const XmlElement* const sessions = getElementForKey (*dict, "Sessions");\r
+ if (sessions == nullptr)\r
+ return "Couldn't find sessions key";\r
+\r
+ const XmlElement* const session = sessions->getFirstChildElement();\r
+ if (session == nullptr)\r
+ return "Couldn't find first session";\r
+\r
+ const int leadOut = getIntValueForKey (*session, "Leadout Block");\r
+ if (leadOut < 0)\r
+ return "Couldn't find Leadout Block";\r
+\r
+ const XmlElement* const trackArray = getElementForKey (*session, "Track Array");\r
+ if (trackArray == nullptr)\r
+ return "Couldn't find Track Array";\r
+\r
+ forEachXmlChildElement (*trackArray, track)\r
+ {\r
+ const int trackValue = getIntValueForKey (*track, "Start Block");\r
+ if (trackValue < 0)\r
+ return "Couldn't find Start Block in the track";\r
+\r
+ offsets.add (trackValue * AudioCDReader::samplesPerFrame - 88200);\r
+ }\r
+\r
+ offsets.add (leadOut * AudioCDReader::samplesPerFrame - 88200);\r
+ return nullptr;\r
+ }\r
+\r
+ static void findDevices (Array<File>& cds)\r
+ {\r
+ File volumes ("/Volumes");\r
+ volumes.findChildFiles (cds, File::findDirectories, false);\r
+\r
+ for (int i = cds.size(); --i >= 0;)\r
+ if (! cds.getReference(i).getChildFile (".TOC.plist").exists())\r
+ cds.remove (i);\r
+ }\r
+\r
+ struct TrackSorter\r
+ {\r
+ static int getCDTrackNumber (const File& file)\r
+ {\r
+ return file.getFileName().initialSectionContainingOnly ("0123456789").getIntValue();\r
+ }\r
+\r
+ static int compareElements (const File& first, const File& second)\r
+ {\r
+ const int firstTrack = getCDTrackNumber (first);\r
+ const int secondTrack = getCDTrackNumber (second);\r
+\r
+ jassert (firstTrack > 0 && secondTrack > 0);\r
+\r
+ return firstTrack - secondTrack;\r
+ }\r
+ };\r
+}\r
+\r
+//==============================================================================\r
+StringArray AudioCDReader::getAvailableCDNames()\r
+{\r
+ Array<File> cds;\r
+ CDReaderHelpers::findDevices (cds);\r
+\r
+ StringArray names;\r
+\r
+ for (int i = 0; i < cds.size(); ++i)\r
+ names.add (cds.getReference(i).getFileName());\r
+\r
+ return names;\r
+}\r
+\r
+AudioCDReader* AudioCDReader::createReaderForCD (const int index)\r
+{\r
+ Array<File> cds;\r
+ CDReaderHelpers::findDevices (cds);\r
+\r
+ if (cds[index].exists())\r
+ return new AudioCDReader (cds[index]);\r
+\r
+ return nullptr;\r
+}\r
+\r
+AudioCDReader::AudioCDReader (const File& volume)\r
+ : AudioFormatReader (0, "CD Audio"),\r
+ volumeDir (volume),\r
+ currentReaderTrack (-1)\r
+{\r
+ sampleRate = 44100.0;\r
+ bitsPerSample = 16;\r
+ numChannels = 2;\r
+ usesFloatingPointData = false;\r
+\r
+ refreshTrackLengths();\r
+}\r
+\r
+AudioCDReader::~AudioCDReader()\r
+{\r
+}\r
+\r
+void AudioCDReader::refreshTrackLengths()\r
+{\r
+ tracks.clear();\r
+ trackStartSamples.clear();\r
+ lengthInSamples = 0;\r
+\r
+ volumeDir.findChildFiles (tracks, File::findFiles | File::ignoreHiddenFiles, false, "*.aiff");\r
+\r
+ CDReaderHelpers::TrackSorter sorter;\r
+ tracks.sort (sorter);\r
+\r
+ const File toc (volumeDir.getChildFile (".TOC.plist"));\r
+\r
+ if (toc.exists())\r
+ {\r
+ XmlDocument doc (toc);\r
+ const char* error = CDReaderHelpers::getTrackOffsets (doc, trackStartSamples);\r
+ ignoreUnused (error); // could be logged..\r
+\r
+ lengthInSamples = trackStartSamples.getLast() - trackStartSamples.getFirst();\r
+ }\r
+}\r
+\r
+bool AudioCDReader::readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,\r
+ int64 startSampleInFile, int numSamples)\r
+{\r
+ while (numSamples > 0)\r
+ {\r
+ int track = -1;\r
+\r
+ for (int i = 0; i < trackStartSamples.size() - 1; ++i)\r
+ {\r
+ if (startSampleInFile < trackStartSamples.getUnchecked (i + 1))\r
+ {\r
+ track = i;\r
+ break;\r
+ }\r
+ }\r
+\r
+ if (track < 0)\r
+ return false;\r
+\r
+ if (track != currentReaderTrack)\r
+ {\r
+ reader = nullptr;\r
+\r
+ if (FileInputStream* const in = tracks [track].createInputStream())\r
+ {\r
+ BufferedInputStream* const bin = new BufferedInputStream (in, 65536, true);\r
+\r
+ AiffAudioFormat format;\r
+ reader = format.createReaderFor (bin, true);\r
+\r
+ if (reader == nullptr)\r
+ currentReaderTrack = -1;\r
+ else\r
+ currentReaderTrack = track;\r
+ }\r
+ }\r
+\r
+ if (reader == nullptr)\r
+ return false;\r
+\r
+ const int startPos = (int) (startSampleInFile - trackStartSamples.getUnchecked (track));\r
+ const int numAvailable = (int) jmin ((int64) numSamples, reader->lengthInSamples - startPos);\r
+\r
+ reader->readSamples (destSamples, numDestChannels, startOffsetInDestBuffer, startPos, numAvailable);\r
+\r
+ numSamples -= numAvailable;\r
+ startSampleInFile += numAvailable;\r
+ }\r
+\r
+ return true;\r
+}\r
+\r
+bool AudioCDReader::isCDStillPresent() const\r
+{\r
+ return volumeDir.exists();\r
+}\r
+\r
+void AudioCDReader::ejectDisk()\r
+{\r
+ JUCE_AUTORELEASEPOOL\r
+ {\r
+ [[NSWorkspace sharedWorkspace] unmountAndEjectDeviceAtPath: juceStringToNS (volumeDir.getFullPathName())];\r
+ }\r
+}\r
+\r
+bool AudioCDReader::isTrackAudio (int trackNum) const\r
+{\r
+ return tracks [trackNum].hasFileExtension (".aiff");\r
+}\r
+\r
+void AudioCDReader::enableIndexScanning (bool)\r
+{\r
+ // any way to do this on a Mac??\r
+}\r
+\r
+int AudioCDReader::getLastIndex() const\r
+{\r
+ return 0;\r
+}\r
+\r
+Array<int> AudioCDReader::findIndexesInTrack (const int /*trackNumber*/)\r
+{\r
+ return Array<int>();\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+namespace CDBurnerHelpers\r
+{\r
+ IDiscRecorder* enumCDBurners (StringArray* list, int indexToOpen, IDiscMaster** master)\r
+ {\r
+ CoInitialize (0);\r
+\r
+ IDiscMaster* dm;\r
+ IDiscRecorder* result = nullptr;\r
+\r
+ if (SUCCEEDED (CoCreateInstance (CLSID_MSDiscMasterObj, 0,\r
+ CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,\r
+ IID_IDiscMaster,\r
+ (void**) &dm)))\r
+ {\r
+ if (SUCCEEDED (dm->Open()))\r
+ {\r
+ IEnumDiscRecorders* drEnum = nullptr;\r
+\r
+ if (SUCCEEDED (dm->EnumDiscRecorders (&drEnum)))\r
+ {\r
+ IDiscRecorder* dr = nullptr;\r
+ DWORD dummy;\r
+ int index = 0;\r
+\r
+ while (drEnum->Next (1, &dr, &dummy) == S_OK)\r
+ {\r
+ if (indexToOpen == index)\r
+ {\r
+ result = dr;\r
+ break;\r
+ }\r
+ else if (list != nullptr)\r
+ {\r
+ BSTR path;\r
+\r
+ if (SUCCEEDED (dr->GetPath (&path)))\r
+ list->add ((const WCHAR*) path);\r
+ }\r
+\r
+ ++index;\r
+ dr->Release();\r
+ }\r
+\r
+ drEnum->Release();\r
+ }\r
+\r
+ if (master == 0)\r
+ dm->Close();\r
+ }\r
+\r
+ if (master != nullptr)\r
+ *master = dm;\r
+ else\r
+ dm->Release();\r
+ }\r
+\r
+ return result;\r
+ }\r
+}\r
+\r
+//==============================================================================\r
+class AudioCDBurner::Pimpl : public ComBaseClassHelper <IDiscMasterProgressEvents>,\r
+ public Timer\r
+{\r
+public:\r
+ Pimpl (AudioCDBurner& owner_, IDiscMaster* discMaster_, IDiscRecorder* discRecorder_)\r
+ : owner (owner_), discMaster (discMaster_), discRecorder (discRecorder_), redbook (0),\r
+ listener (0), progress (0), shouldCancel (false)\r
+ {\r
+ HRESULT hr = discMaster->SetActiveDiscMasterFormat (IID_IRedbookDiscMaster, (void**) &redbook);\r
+ jassert (SUCCEEDED (hr));\r
+ hr = discMaster->SetActiveDiscRecorder (discRecorder);\r
+ //jassert (SUCCEEDED (hr));\r
+\r
+ lastState = getDiskState();\r
+ startTimer (2000);\r
+ }\r
+\r
+ ~Pimpl() {}\r
+\r
+ void releaseObjects()\r
+ {\r
+ discRecorder->Close();\r
+ if (redbook != nullptr)\r
+ redbook->Release();\r
+ discRecorder->Release();\r
+ discMaster->Release();\r
+ Release();\r
+ }\r
+\r
+ JUCE_COMRESULT QueryCancel (boolean* pbCancel)\r
+ {\r
+ if (listener != nullptr && ! shouldCancel)\r
+ shouldCancel = listener->audioCDBurnProgress (progress);\r
+\r
+ *pbCancel = shouldCancel;\r
+\r
+ return S_OK;\r
+ }\r
+\r
+ JUCE_COMRESULT NotifyBlockProgress (long nCompleted, long nTotal)\r
+ {\r
+ progress = nCompleted / (float) nTotal;\r
+ shouldCancel = listener != nullptr && listener->audioCDBurnProgress (progress);\r
+\r
+ return E_NOTIMPL;\r
+ }\r
+\r
+ JUCE_COMRESULT NotifyPnPActivity (void) { return E_NOTIMPL; }\r
+ JUCE_COMRESULT NotifyAddProgress (long /*nCompletedSteps*/, long /*nTotalSteps*/) { return E_NOTIMPL; }\r
+ JUCE_COMRESULT NotifyTrackProgress (long /*nCurrentTrack*/, long /*nTotalTracks*/) { return E_NOTIMPL; }\r
+ JUCE_COMRESULT NotifyPreparingBurn (long /*nEstimatedSeconds*/) { return E_NOTIMPL; }\r
+ JUCE_COMRESULT NotifyClosingDisc (long /*nEstimatedSeconds*/) { return E_NOTIMPL; }\r
+ JUCE_COMRESULT NotifyBurnComplete (HRESULT /*status*/) { return E_NOTIMPL; }\r
+ JUCE_COMRESULT NotifyEraseComplete (HRESULT /*status*/) { return E_NOTIMPL; }\r
+\r
+ class ScopedDiscOpener\r
+ {\r
+ public:\r
+ ScopedDiscOpener (Pimpl& p) : pimpl (p) { pimpl.discRecorder->OpenExclusive(); }\r
+ ~ScopedDiscOpener() { pimpl.discRecorder->Close(); }\r
+\r
+ private:\r
+ Pimpl& pimpl;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE (ScopedDiscOpener)\r
+ };\r
+\r
+ DiskState getDiskState()\r
+ {\r
+ const ScopedDiscOpener opener (*this);\r
+\r
+ long type, flags;\r
+ HRESULT hr = discRecorder->QueryMediaType (&type, &flags);\r
+\r
+ if (FAILED (hr))\r
+ return unknown;\r
+\r
+ if (type != 0 && (flags & MEDIA_WRITABLE) != 0)\r
+ return writableDiskPresent;\r
+\r
+ if (type == 0)\r
+ return noDisc;\r
+\r
+ return readOnlyDiskPresent;\r
+ }\r
+\r
+ int getIntProperty (const LPOLESTR name, const int defaultReturn) const\r
+ {\r
+ ComSmartPtr<IPropertyStorage> prop;\r
+ if (FAILED (discRecorder->GetRecorderProperties (prop.resetAndGetPointerAddress())))\r
+ return defaultReturn;\r
+\r
+ PROPSPEC iPropSpec;\r
+ iPropSpec.ulKind = PRSPEC_LPWSTR;\r
+ iPropSpec.lpwstr = name;\r
+\r
+ PROPVARIANT iPropVariant;\r
+ return FAILED (prop->ReadMultiple (1, &iPropSpec, &iPropVariant))\r
+ ? defaultReturn : (int) iPropVariant.lVal;\r
+ }\r
+\r
+ bool setIntProperty (const LPOLESTR name, const int value) const\r
+ {\r
+ ComSmartPtr<IPropertyStorage> prop;\r
+ if (FAILED (discRecorder->GetRecorderProperties (prop.resetAndGetPointerAddress())))\r
+ return false;\r
+\r
+ PROPSPEC iPropSpec;\r
+ iPropSpec.ulKind = PRSPEC_LPWSTR;\r
+ iPropSpec.lpwstr = name;\r
+\r
+ PROPVARIANT iPropVariant;\r
+ if (FAILED (prop->ReadMultiple (1, &iPropSpec, &iPropVariant)))\r
+ return false;\r
+\r
+ iPropVariant.lVal = (long) value;\r
+ return SUCCEEDED (prop->WriteMultiple (1, &iPropSpec, &iPropVariant, iPropVariant.vt))\r
+ && SUCCEEDED (discRecorder->SetRecorderProperties (prop));\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ const DiskState state = getDiskState();\r
+\r
+ if (state != lastState)\r
+ {\r
+ lastState = state;\r
+ owner.sendChangeMessage();\r
+ }\r
+ }\r
+\r
+ AudioCDBurner& owner;\r
+ DiskState lastState;\r
+ IDiscMaster* discMaster;\r
+ IDiscRecorder* discRecorder;\r
+ IRedbookDiscMaster* redbook;\r
+ AudioCDBurner::BurnProgressListener* listener;\r
+ float progress;\r
+ bool shouldCancel;\r
+};\r
+\r
+//==============================================================================\r
+AudioCDBurner::AudioCDBurner (const int deviceIndex)\r
+{\r
+ IDiscMaster* discMaster = nullptr;\r
+ IDiscRecorder* discRecorder = CDBurnerHelpers::enumCDBurners (0, deviceIndex, &discMaster);\r
+\r
+ if (discRecorder != nullptr)\r
+ pimpl = new Pimpl (*this, discMaster, discRecorder);\r
+}\r
+\r
+AudioCDBurner::~AudioCDBurner()\r
+{\r
+ if (pimpl != nullptr)\r
+ pimpl.release()->releaseObjects();\r
+}\r
+\r
+StringArray AudioCDBurner::findAvailableDevices()\r
+{\r
+ StringArray devs;\r
+ CDBurnerHelpers::enumCDBurners (&devs, -1, 0);\r
+ return devs;\r
+}\r
+\r
+AudioCDBurner* AudioCDBurner::openDevice (const int deviceIndex)\r
+{\r
+ ScopedPointer<AudioCDBurner> b (new AudioCDBurner (deviceIndex));\r
+\r
+ if (b->pimpl == 0)\r
+ b = nullptr;\r
+\r
+ return b.release();\r
+}\r
+\r
+AudioCDBurner::DiskState AudioCDBurner::getDiskState() const\r
+{\r
+ return pimpl->getDiskState();\r
+}\r
+\r
+bool AudioCDBurner::isDiskPresent() const\r
+{\r
+ return getDiskState() == writableDiskPresent;\r
+}\r
+\r
+bool AudioCDBurner::openTray()\r
+{\r
+ const Pimpl::ScopedDiscOpener opener (*pimpl);\r
+ return SUCCEEDED (pimpl->discRecorder->Eject());\r
+}\r
+\r
+AudioCDBurner::DiskState AudioCDBurner::waitUntilStateChange (int timeOutMilliseconds)\r
+{\r
+ const int64 timeout = Time::currentTimeMillis() + timeOutMilliseconds;\r
+ DiskState oldState = getDiskState();\r
+ DiskState newState = oldState;\r
+\r
+ while (newState == oldState && Time::currentTimeMillis() < timeout)\r
+ {\r
+ newState = getDiskState();\r
+ Thread::sleep (jmin (250, (int) (timeout - Time::currentTimeMillis())));\r
+ }\r
+\r
+ return newState;\r
+}\r
+\r
+Array<int> AudioCDBurner::getAvailableWriteSpeeds() const\r
+{\r
+ Array<int> results;\r
+ const int maxSpeed = pimpl->getIntProperty (L"MaxWriteSpeed", 1);\r
+ const int speeds[] = { 1, 2, 4, 8, 12, 16, 20, 24, 32, 40, 64, 80 };\r
+\r
+ for (int i = 0; i < numElementsInArray (speeds); ++i)\r
+ if (speeds[i] <= maxSpeed)\r
+ results.add (speeds[i]);\r
+\r
+ results.addIfNotAlreadyThere (maxSpeed);\r
+ return results;\r
+}\r
+\r
+bool AudioCDBurner::setBufferUnderrunProtection (const bool shouldBeEnabled)\r
+{\r
+ if (pimpl->getIntProperty (L"BufferUnderrunFreeCapable", 0) == 0)\r
+ return false;\r
+\r
+ pimpl->setIntProperty (L"EnableBufferUnderrunFree", shouldBeEnabled ? -1 : 0);\r
+ return pimpl->getIntProperty (L"EnableBufferUnderrunFree", 0) != 0;\r
+}\r
+\r
+int AudioCDBurner::getNumAvailableAudioBlocks() const\r
+{\r
+ long blocksFree = 0;\r
+ pimpl->redbook->GetAvailableAudioTrackBlocks (&blocksFree);\r
+ return blocksFree;\r
+}\r
+\r
+String AudioCDBurner::burn (AudioCDBurner::BurnProgressListener* listener, bool ejectDiscAfterwards,\r
+ bool performFakeBurnForTesting, int writeSpeed)\r
+{\r
+ pimpl->setIntProperty (L"WriteSpeed", writeSpeed > 0 ? writeSpeed : -1);\r
+\r
+ pimpl->listener = listener;\r
+ pimpl->progress = 0;\r
+ pimpl->shouldCancel = false;\r
+\r
+ UINT_PTR cookie;\r
+ HRESULT hr = pimpl->discMaster->ProgressAdvise ((AudioCDBurner::Pimpl*) pimpl, &cookie);\r
+\r
+ hr = pimpl->discMaster->RecordDisc (performFakeBurnForTesting,\r
+ ejectDiscAfterwards);\r
+\r
+ String error;\r
+ if (hr != S_OK)\r
+ {\r
+ const char* e = "Couldn't open or write to the CD device";\r
+\r
+ if (hr == IMAPI_E_USERABORT)\r
+ e = "User cancelled the write operation";\r
+ else if (hr == IMAPI_E_MEDIUM_NOTPRESENT || hr == IMAPI_E_TRACKOPEN)\r
+ e = "No Disk present";\r
+\r
+ error = e;\r
+ }\r
+\r
+ pimpl->discMaster->ProgressUnadvise (cookie);\r
+ pimpl->listener = 0;\r
+\r
+ return error;\r
+}\r
+\r
+bool AudioCDBurner::addAudioTrack (AudioSource* audioSource, int numSamples)\r
+{\r
+ if (audioSource == 0)\r
+ return false;\r
+\r
+ ScopedPointer<AudioSource> source (audioSource);\r
+\r
+ long bytesPerBlock;\r
+ HRESULT hr = pimpl->redbook->GetAudioBlockSize (&bytesPerBlock);\r
+\r
+ const int samplesPerBlock = bytesPerBlock / 4;\r
+ bool ok = true;\r
+\r
+ hr = pimpl->redbook->CreateAudioTrack ((long) numSamples / (bytesPerBlock * 4));\r
+\r
+ HeapBlock<byte> buffer (bytesPerBlock);\r
+ AudioSampleBuffer sourceBuffer (2, samplesPerBlock);\r
+ int samplesDone = 0;\r
+\r
+ source->prepareToPlay (samplesPerBlock, 44100.0);\r
+\r
+ while (ok)\r
+ {\r
+ {\r
+ AudioSourceChannelInfo info (&sourceBuffer, 0, samplesPerBlock);\r
+ sourceBuffer.clear();\r
+\r
+ source->getNextAudioBlock (info);\r
+ }\r
+\r
+ buffer.clear (bytesPerBlock);\r
+\r
+ typedef AudioData::Pointer <AudioData::Int16, AudioData::LittleEndian,\r
+ AudioData::Interleaved, AudioData::NonConst> CDSampleFormat;\r
+\r
+ typedef AudioData::Pointer <AudioData::Float32, AudioData::NativeEndian,\r
+ AudioData::NonInterleaved, AudioData::Const> SourceSampleFormat;\r
+\r
+ CDSampleFormat left (buffer, 2);\r
+ left.convertSamples (SourceSampleFormat (sourceBuffer.getReadPointer (0)), samplesPerBlock);\r
+ CDSampleFormat right (buffer + 2, 2);\r
+ right.convertSamples (SourceSampleFormat (sourceBuffer.getReadPointer (1)), samplesPerBlock);\r
+\r
+ hr = pimpl->redbook->AddAudioTrackBlocks (buffer, bytesPerBlock);\r
+\r
+ if (FAILED (hr))\r
+ ok = false;\r
+\r
+ samplesDone += samplesPerBlock;\r
+\r
+ if (samplesDone >= numSamples)\r
+ break;\r
+ }\r
+\r
+ hr = pimpl->redbook->CloseAudioTrack();\r
+ return ok && hr == S_OK;\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+namespace CDReaderHelpers\r
+{\r
+\r
+#define FILE_ANY_ACCESS 0\r
+#ifndef FILE_READ_ACCESS\r
+ #define FILE_READ_ACCESS 1\r
+#endif\r
+#ifndef FILE_WRITE_ACCESS\r
+ #define FILE_WRITE_ACCESS 2\r
+#endif\r
+\r
+#define METHOD_BUFFERED 0\r
+#define IOCTL_SCSI_BASE 4\r
+#define SCSI_IOCTL_DATA_OUT 0\r
+#define SCSI_IOCTL_DATA_IN 1\r
+#define SCSI_IOCTL_DATA_UNSPECIFIED 2\r
+\r
+#define CTL_CODE2(DevType, Function, Method, Access) (((DevType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))\r
+#define IOCTL_SCSI_PASS_THROUGH_DIRECT CTL_CODE2( IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS )\r
+#define IOCTL_SCSI_GET_ADDRESS CTL_CODE2( IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS )\r
+\r
+#define SENSE_LEN 14\r
+#define SRB_ENABLE_RESIDUAL_COUNT 0x04\r
+#define SRB_DIR_IN 0x08\r
+#define SRB_DIR_OUT 0x10\r
+#define SRB_EVENT_NOTIFY 0x40\r
+#define SC_HA_INQUIRY 0x00\r
+#define SC_GET_DEV_TYPE 0x01\r
+#define SC_EXEC_SCSI_CMD 0x02\r
+#define SS_PENDING 0x00\r
+#define SS_COMP 0x01\r
+#define SS_ERR 0x04\r
+\r
+enum\r
+{\r
+ READTYPE_ANY = 0,\r
+ READTYPE_ATAPI1 = 1,\r
+ READTYPE_ATAPI2 = 2,\r
+ READTYPE_READ6 = 3,\r
+ READTYPE_READ10 = 4,\r
+ READTYPE_READ_D8 = 5,\r
+ READTYPE_READ_D4 = 6,\r
+ READTYPE_READ_D4_1 = 7,\r
+ READTYPE_READ10_2 = 8\r
+};\r
+\r
+struct SCSI_PASS_THROUGH\r
+{\r
+ USHORT Length;\r
+ UCHAR ScsiStatus;\r
+ UCHAR PathId;\r
+ UCHAR TargetId;\r
+ UCHAR Lun;\r
+ UCHAR CdbLength;\r
+ UCHAR SenseInfoLength;\r
+ UCHAR DataIn;\r
+ ULONG DataTransferLength;\r
+ ULONG TimeOutValue;\r
+ ULONG DataBufferOffset;\r
+ ULONG SenseInfoOffset;\r
+ UCHAR Cdb[16];\r
+};\r
+\r
+struct SCSI_PASS_THROUGH_DIRECT\r
+{\r
+ USHORT Length;\r
+ UCHAR ScsiStatus;\r
+ UCHAR PathId;\r
+ UCHAR TargetId;\r
+ UCHAR Lun;\r
+ UCHAR CdbLength;\r
+ UCHAR SenseInfoLength;\r
+ UCHAR DataIn;\r
+ ULONG DataTransferLength;\r
+ ULONG TimeOutValue;\r
+ PVOID DataBuffer;\r
+ ULONG SenseInfoOffset;\r
+ UCHAR Cdb[16];\r
+};\r
+\r
+struct SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER\r
+{\r
+ SCSI_PASS_THROUGH_DIRECT spt;\r
+ ULONG Filler;\r
+ UCHAR ucSenseBuf[32];\r
+};\r
+\r
+struct SCSI_ADDRESS\r
+{\r
+ ULONG Length;\r
+ UCHAR PortNumber;\r
+ UCHAR PathId;\r
+ UCHAR TargetId;\r
+ UCHAR Lun;\r
+};\r
+\r
+#pragma pack(1)\r
+\r
+struct SRB_GDEVBlock\r
+{\r
+ BYTE SRB_Cmd;\r
+ BYTE SRB_Status;\r
+ BYTE SRB_HaID;\r
+ BYTE SRB_Flags;\r
+ DWORD SRB_Hdr_Rsvd;\r
+ BYTE SRB_Target;\r
+ BYTE SRB_Lun;\r
+ BYTE SRB_DeviceType;\r
+ BYTE SRB_Rsvd1;\r
+ BYTE pad[68];\r
+};\r
+\r
+\r
+struct SRB_ExecSCSICmd\r
+{\r
+ BYTE SRB_Cmd;\r
+ BYTE SRB_Status;\r
+ BYTE SRB_HaID;\r
+ BYTE SRB_Flags;\r
+ DWORD SRB_Hdr_Rsvd;\r
+ BYTE SRB_Target;\r
+ BYTE SRB_Lun;\r
+ WORD SRB_Rsvd1;\r
+ DWORD SRB_BufLen;\r
+ BYTE *SRB_BufPointer;\r
+ BYTE SRB_SenseLen;\r
+ BYTE SRB_CDBLen;\r
+ BYTE SRB_HaStat;\r
+ BYTE SRB_TargStat;\r
+ VOID *SRB_PostProc;\r
+ BYTE SRB_Rsvd2[20];\r
+ BYTE CDBByte[16];\r
+ BYTE SenseArea[SENSE_LEN + 2];\r
+};\r
+\r
+struct SRB\r
+{\r
+ BYTE SRB_Cmd;\r
+ BYTE SRB_Status;\r
+ BYTE SRB_HaId;\r
+ BYTE SRB_Flags;\r
+ DWORD SRB_Hdr_Rsvd;\r
+};\r
+\r
+struct TOCTRACK\r
+{\r
+ BYTE rsvd;\r
+ BYTE ADR;\r
+ BYTE trackNumber;\r
+ BYTE rsvd2;\r
+ BYTE addr[4];\r
+};\r
+\r
+struct TOC\r
+{\r
+ WORD tocLen;\r
+ BYTE firstTrack;\r
+ BYTE lastTrack;\r
+ TOCTRACK tracks[100];\r
+};\r
+\r
+#pragma pack()\r
+\r
+//==============================================================================\r
+struct CDDeviceDescription\r
+{\r
+ CDDeviceDescription() : ha (0), tgt (0), lun (0), scsiDriveLetter (0)\r
+ {\r
+ }\r
+\r
+ void createDescription (const char* data)\r
+ {\r
+ description << String (data + 8, 8).trim() // vendor\r
+ << ' ' << String (data + 16, 16).trim() // product id\r
+ << ' ' << String (data + 32, 4).trim(); // rev\r
+ }\r
+\r
+ String description;\r
+ BYTE ha, tgt, lun;\r
+ char scsiDriveLetter; // will be 0 if not using scsi\r
+};\r
+\r
+//==============================================================================\r
+class CDReadBuffer\r
+{\r
+public:\r
+ CDReadBuffer (const int numberOfFrames)\r
+ : startFrame (0), numFrames (0), dataStartOffset (0),\r
+ dataLength (0), bufferSize (2352 * numberOfFrames), index (0),\r
+ buffer (bufferSize), wantsIndex (false)\r
+ {\r
+ }\r
+\r
+ bool isZero() const noexcept\r
+ {\r
+ for (int i = 0; i < dataLength; ++i)\r
+ if (buffer [dataStartOffset + i] != 0)\r
+ return false;\r
+\r
+ return true;\r
+ }\r
+\r
+ int startFrame, numFrames, dataStartOffset;\r
+ int dataLength, bufferSize, index;\r
+ HeapBlock<BYTE> buffer;\r
+ bool wantsIndex;\r
+};\r
+\r
+class CDDeviceHandle;\r
+\r
+//==============================================================================\r
+class CDController\r
+{\r
+public:\r
+ CDController() : initialised (false) {}\r
+ virtual ~CDController() {}\r
+\r
+ virtual bool read (CDReadBuffer&) = 0;\r
+ virtual void shutDown() {}\r
+\r
+ bool readAudio (CDReadBuffer& rb, CDReadBuffer* overlapBuffer = 0);\r
+ int getLastIndex();\r
+\r
+public:\r
+ CDDeviceHandle* deviceInfo;\r
+ int framesToCheck, framesOverlap;\r
+ bool initialised;\r
+\r
+ void prepare (SRB_ExecSCSICmd& s);\r
+ void perform (SRB_ExecSCSICmd& s);\r
+ void setPaused (bool paused);\r
+};\r
+\r
+\r
+//==============================================================================\r
+class CDDeviceHandle\r
+{\r
+public:\r
+ CDDeviceHandle (const CDDeviceDescription& device, HANDLE scsiHandle_)\r
+ : info (device), scsiHandle (scsiHandle_), readType (READTYPE_ANY)\r
+ {\r
+ }\r
+\r
+ ~CDDeviceHandle()\r
+ {\r
+ if (controller != nullptr)\r
+ {\r
+ controller->shutDown();\r
+ controller = 0;\r
+ }\r
+\r
+ if (scsiHandle != 0)\r
+ CloseHandle (scsiHandle);\r
+ }\r
+\r
+ bool readTOC (TOC* lpToc);\r
+ bool readAudio (CDReadBuffer& buffer, CDReadBuffer* overlapBuffer = 0);\r
+ void openDrawer (bool shouldBeOpen);\r
+ void performScsiCommand (HANDLE event, SRB_ExecSCSICmd& s);\r
+\r
+ CDDeviceDescription info;\r
+ HANDLE scsiHandle;\r
+ BYTE readType;\r
+\r
+private:\r
+ ScopedPointer<CDController> controller;\r
+\r
+ bool testController (int readType, CDController* newController, CDReadBuffer& bufferToUse);\r
+};\r
+\r
+//==============================================================================\r
+HANDLE createSCSIDeviceHandle (const char driveLetter)\r
+{\r
+ TCHAR devicePath[] = { L'\\', L'\\', L'.', L'\\', static_cast<TCHAR> (driveLetter), L':', 0, 0 };\r
+ DWORD flags = GENERIC_READ | GENERIC_WRITE;\r
+ HANDLE h = CreateFile (devicePath, flags, FILE_SHARE_WRITE | FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);\r
+\r
+ if (h == INVALID_HANDLE_VALUE)\r
+ {\r
+ flags ^= GENERIC_WRITE;\r
+ h = CreateFile (devicePath, flags, FILE_SHARE_WRITE | FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);\r
+ }\r
+\r
+ return h;\r
+}\r
+\r
+void findCDDevices (Array<CDDeviceDescription>& list)\r
+{\r
+ for (char driveLetter = 'b'; driveLetter <= 'z'; ++driveLetter)\r
+ {\r
+ TCHAR drivePath[] = { static_cast<TCHAR> (driveLetter), L':', L'\\', 0, 0 };\r
+\r
+ if (GetDriveType (drivePath) == DRIVE_CDROM)\r
+ {\r
+ HANDLE h = createSCSIDeviceHandle (driveLetter);\r
+\r
+ if (h != INVALID_HANDLE_VALUE)\r
+ {\r
+ char buffer[100] = { 0 };\r
+\r
+ SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER p = { 0 };\r
+ p.spt.Length = sizeof (SCSI_PASS_THROUGH);\r
+ p.spt.CdbLength = 6;\r
+ p.spt.SenseInfoLength = 24;\r
+ p.spt.DataIn = SCSI_IOCTL_DATA_IN;\r
+ p.spt.DataTransferLength = sizeof (buffer);\r
+ p.spt.TimeOutValue = 2;\r
+ p.spt.DataBuffer = buffer;\r
+ p.spt.SenseInfoOffset = offsetof (SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER, ucSenseBuf);\r
+ p.spt.Cdb[0] = 0x12;\r
+ p.spt.Cdb[4] = 100;\r
+\r
+ DWORD bytesReturned = 0;\r
+\r
+ if (DeviceIoControl (h, IOCTL_SCSI_PASS_THROUGH_DIRECT,\r
+ &p, sizeof (p), &p, sizeof (p),\r
+ &bytesReturned, 0) != 0)\r
+ {\r
+ CDDeviceDescription dev;\r
+ dev.scsiDriveLetter = driveLetter;\r
+ dev.createDescription (buffer);\r
+\r
+ SCSI_ADDRESS scsiAddr = { 0 };\r
+ scsiAddr.Length = sizeof (scsiAddr);\r
+\r
+ if (DeviceIoControl (h, IOCTL_SCSI_GET_ADDRESS,\r
+ 0, 0, &scsiAddr, sizeof (scsiAddr),\r
+ &bytesReturned, 0) != 0)\r
+ {\r
+ dev.ha = scsiAddr.PortNumber;\r
+ dev.tgt = scsiAddr.TargetId;\r
+ dev.lun = scsiAddr.Lun;\r
+ list.add (dev);\r
+ }\r
+ }\r
+\r
+ CloseHandle (h);\r
+ }\r
+ }\r
+ }\r
+}\r
+\r
+DWORD performScsiPassThroughCommand (SRB_ExecSCSICmd* const srb, const char driveLetter,\r
+ HANDLE& deviceHandle, const bool retryOnFailure)\r
+{\r
+ SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER s = { 0 };\r
+ s.spt.Length = sizeof (SCSI_PASS_THROUGH);\r
+ s.spt.CdbLength = srb->SRB_CDBLen;\r
+\r
+ s.spt.DataIn = (BYTE) ((srb->SRB_Flags & SRB_DIR_IN)\r
+ ? SCSI_IOCTL_DATA_IN\r
+ : ((srb->SRB_Flags & SRB_DIR_OUT)\r
+ ? SCSI_IOCTL_DATA_OUT\r
+ : SCSI_IOCTL_DATA_UNSPECIFIED));\r
+\r
+ s.spt.DataTransferLength = srb->SRB_BufLen;\r
+ s.spt.TimeOutValue = 5;\r
+ s.spt.DataBuffer = srb->SRB_BufPointer;\r
+ s.spt.SenseInfoOffset = offsetof (SCSI_PASS_THROUGH_DIRECT_WITH_BUFFER, ucSenseBuf);\r
+\r
+ memcpy (s.spt.Cdb, srb->CDBByte, srb->SRB_CDBLen);\r
+\r
+ srb->SRB_Status = SS_ERR;\r
+ srb->SRB_TargStat = 0x0004;\r
+\r
+ DWORD bytesReturned = 0;\r
+\r
+ if (DeviceIoControl (deviceHandle, IOCTL_SCSI_PASS_THROUGH_DIRECT,\r
+ &s, sizeof (s), &s, sizeof (s), &bytesReturned, 0) != 0)\r
+ {\r
+ srb->SRB_Status = SS_COMP;\r
+ }\r
+ else if (retryOnFailure)\r
+ {\r
+ const DWORD error = GetLastError();\r
+\r
+ if ((error == ERROR_MEDIA_CHANGED) || (error == ERROR_INVALID_HANDLE))\r
+ {\r
+ if (error != ERROR_INVALID_HANDLE)\r
+ CloseHandle (deviceHandle);\r
+\r
+ deviceHandle = createSCSIDeviceHandle (driveLetter);\r
+\r
+ return performScsiPassThroughCommand (srb, driveLetter, deviceHandle, false);\r
+ }\r
+ }\r
+\r
+ return srb->SRB_Status;\r
+}\r
+\r
+\r
+//==============================================================================\r
+// Controller types..\r
+\r
+class ControllerType1 : public CDController\r
+{\r
+public:\r
+ ControllerType1() {}\r
+\r
+ bool read (CDReadBuffer& rb)\r
+ {\r
+ if (rb.numFrames * 2352 > rb.bufferSize)\r
+ return false;\r
+\r
+ SRB_ExecSCSICmd s;\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = rb.bufferSize;\r
+ s.SRB_BufPointer = rb.buffer;\r
+ s.SRB_CDBLen = 12;\r
+ s.CDBByte[0] = 0xBE;\r
+ s.CDBByte[3] = (BYTE) ((rb.startFrame >> 16) & 0xFF);\r
+ s.CDBByte[4] = (BYTE) ((rb.startFrame >> 8) & 0xFF);\r
+ s.CDBByte[5] = (BYTE) (rb.startFrame & 0xFF);\r
+ s.CDBByte[8] = (BYTE) (rb.numFrames & 0xFF);\r
+ s.CDBByte[9] = (BYTE) (deviceInfo->readType == READTYPE_ATAPI1 ? 0x10 : 0xF0);\r
+ perform (s);\r
+\r
+ if (s.SRB_Status != SS_COMP)\r
+ return false;\r
+\r
+ rb.dataLength = rb.numFrames * 2352;\r
+ rb.dataStartOffset = 0;\r
+ return true;\r
+ }\r
+};\r
+\r
+//==============================================================================\r
+class ControllerType2 : public CDController\r
+{\r
+public:\r
+ ControllerType2() {}\r
+\r
+ void shutDown()\r
+ {\r
+ if (initialised)\r
+ {\r
+ BYTE bufPointer[] = { 0, 0, 0, 8, 83, 0, 0, 0, 0, 0, 8, 0 };\r
+\r
+ SRB_ExecSCSICmd s;\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_EVENT_NOTIFY | SRB_ENABLE_RESIDUAL_COUNT;\r
+ s.SRB_BufLen = 0x0C;\r
+ s.SRB_BufPointer = bufPointer;\r
+ s.SRB_CDBLen = 6;\r
+ s.CDBByte[0] = 0x15;\r
+ s.CDBByte[4] = 0x0C;\r
+ perform (s);\r
+ }\r
+ }\r
+\r
+ bool init()\r
+ {\r
+ SRB_ExecSCSICmd s;\r
+ s.SRB_Status = SS_ERR;\r
+\r
+ if (deviceInfo->readType == READTYPE_READ10_2)\r
+ {\r
+ BYTE bufPointer1[] = { 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 48, 35, 6, 0, 0, 0, 0, 0, 128 };\r
+ BYTE bufPointer2[] = { 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 48, 1, 6, 32, 7, 0, 0, 0, 0 };\r
+\r
+ for (int i = 0; i < 2; ++i)\r
+ {\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = 0x14;\r
+ s.SRB_BufPointer = (i == 0) ? bufPointer1 : bufPointer2;\r
+ s.SRB_CDBLen = 6;\r
+ s.CDBByte[0] = 0x15;\r
+ s.CDBByte[1] = 0x10;\r
+ s.CDBByte[4] = 0x14;\r
+ perform (s);\r
+\r
+ if (s.SRB_Status != SS_COMP)\r
+ return false;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ BYTE bufPointer[] = { 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 9, 48 };\r
+\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = 0x0C;\r
+ s.SRB_BufPointer = bufPointer;\r
+ s.SRB_CDBLen = 6;\r
+ s.CDBByte[0] = 0x15;\r
+ s.CDBByte[4] = 0x0C;\r
+ perform (s);\r
+ }\r
+\r
+ return s.SRB_Status == SS_COMP;\r
+ }\r
+\r
+ bool read (CDReadBuffer& rb)\r
+ {\r
+ if (rb.numFrames * 2352 > rb.bufferSize)\r
+ return false;\r
+\r
+ if (! initialised)\r
+ {\r
+ initialised = init();\r
+\r
+ if (! initialised)\r
+ return false;\r
+ }\r
+\r
+ SRB_ExecSCSICmd s;\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = rb.bufferSize;\r
+ s.SRB_BufPointer = rb.buffer;\r
+ s.SRB_CDBLen = 10;\r
+ s.CDBByte[0] = 0x28;\r
+ s.CDBByte[1] = (BYTE) (deviceInfo->info.lun << 5);\r
+ s.CDBByte[3] = (BYTE) ((rb.startFrame >> 16) & 0xFF);\r
+ s.CDBByte[4] = (BYTE) ((rb.startFrame >> 8) & 0xFF);\r
+ s.CDBByte[5] = (BYTE) (rb.startFrame & 0xFF);\r
+ s.CDBByte[8] = (BYTE) (rb.numFrames & 0xFF);\r
+ perform (s);\r
+\r
+ if (s.SRB_Status != SS_COMP)\r
+ return false;\r
+\r
+ rb.dataLength = rb.numFrames * 2352;\r
+ rb.dataStartOffset = 0;\r
+ return true;\r
+ }\r
+};\r
+\r
+//==============================================================================\r
+class ControllerType3 : public CDController\r
+{\r
+public:\r
+ ControllerType3() {}\r
+\r
+ bool read (CDReadBuffer& rb)\r
+ {\r
+ if (rb.numFrames * 2352 > rb.bufferSize)\r
+ return false;\r
+\r
+ if (! initialised)\r
+ {\r
+ setPaused (false);\r
+ initialised = true;\r
+ }\r
+\r
+ SRB_ExecSCSICmd s;\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = rb.numFrames * 2352;\r
+ s.SRB_BufPointer = rb.buffer;\r
+ s.SRB_CDBLen = 12;\r
+ s.CDBByte[0] = 0xD8;\r
+ s.CDBByte[3] = (BYTE) ((rb.startFrame >> 16) & 0xFF);\r
+ s.CDBByte[4] = (BYTE) ((rb.startFrame >> 8) & 0xFF);\r
+ s.CDBByte[5] = (BYTE) (rb.startFrame & 0xFF);\r
+ s.CDBByte[9] = (BYTE) (rb.numFrames & 0xFF);\r
+ perform (s);\r
+\r
+ if (s.SRB_Status != SS_COMP)\r
+ return false;\r
+\r
+ rb.dataLength = rb.numFrames * 2352;\r
+ rb.dataStartOffset = 0;\r
+ return true;\r
+ }\r
+};\r
+\r
+//==============================================================================\r
+class ControllerType4 : public CDController\r
+{\r
+public:\r
+ ControllerType4() {}\r
+\r
+ bool selectD4Mode()\r
+ {\r
+ BYTE bufPointer[12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 48 };\r
+\r
+ SRB_ExecSCSICmd s;\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_EVENT_NOTIFY;\r
+ s.SRB_CDBLen = 6;\r
+ s.SRB_BufLen = 12;\r
+ s.SRB_BufPointer = bufPointer;\r
+ s.CDBByte[0] = 0x15;\r
+ s.CDBByte[1] = 0x10;\r
+ s.CDBByte[4] = 0x08;\r
+ perform (s);\r
+\r
+ return s.SRB_Status == SS_COMP;\r
+ }\r
+\r
+ bool read (CDReadBuffer& rb)\r
+ {\r
+ if (rb.numFrames * 2352 > rb.bufferSize)\r
+ return false;\r
+\r
+ if (! initialised)\r
+ {\r
+ setPaused (true);\r
+\r
+ if (deviceInfo->readType == READTYPE_READ_D4_1)\r
+ selectD4Mode();\r
+\r
+ initialised = true;\r
+ }\r
+\r
+ SRB_ExecSCSICmd s;\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = rb.bufferSize;\r
+ s.SRB_BufPointer = rb.buffer;\r
+ s.SRB_CDBLen = 10;\r
+ s.CDBByte[0] = 0xD4;\r
+ s.CDBByte[3] = (BYTE) ((rb.startFrame >> 16) & 0xFF);\r
+ s.CDBByte[4] = (BYTE) ((rb.startFrame >> 8) & 0xFF);\r
+ s.CDBByte[5] = (BYTE) (rb.startFrame & 0xFF);\r
+ s.CDBByte[8] = (BYTE) (rb.numFrames & 0xFF);\r
+ perform (s);\r
+\r
+ if (s.SRB_Status != SS_COMP)\r
+ return false;\r
+\r
+ rb.dataLength = rb.numFrames * 2352;\r
+ rb.dataStartOffset = 0;\r
+ return true;\r
+ }\r
+};\r
+\r
+\r
+//==============================================================================\r
+void CDController::prepare (SRB_ExecSCSICmd& s)\r
+{\r
+ zerostruct (s);\r
+ s.SRB_Cmd = SC_EXEC_SCSI_CMD;\r
+ s.SRB_HaID = deviceInfo->info.ha;\r
+ s.SRB_Target = deviceInfo->info.tgt;\r
+ s.SRB_Lun = deviceInfo->info.lun;\r
+ s.SRB_SenseLen = SENSE_LEN;\r
+}\r
+\r
+void CDController::perform (SRB_ExecSCSICmd& s)\r
+{\r
+ s.SRB_PostProc = CreateEvent (0, TRUE, FALSE, 0);\r
+\r
+ deviceInfo->performScsiCommand (s.SRB_PostProc, s);\r
+}\r
+\r
+void CDController::setPaused (bool paused)\r
+{\r
+ SRB_ExecSCSICmd s;\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_EVENT_NOTIFY;\r
+ s.SRB_CDBLen = 10;\r
+ s.CDBByte[0] = 0x4B;\r
+ s.CDBByte[8] = (BYTE) (paused ? 0 : 1);\r
+ perform (s);\r
+}\r
+\r
+bool CDController::readAudio (CDReadBuffer& rb, CDReadBuffer* overlapBuffer)\r
+{\r
+ if (overlapBuffer != nullptr)\r
+ {\r
+ const bool canDoJitter = (overlapBuffer->bufferSize >= 2352 * framesToCheck);\r
+ const bool doJitter = canDoJitter && ! overlapBuffer->isZero();\r
+\r
+ if (doJitter\r
+ && overlapBuffer->startFrame > 0\r
+ && overlapBuffer->numFrames > 0\r
+ && overlapBuffer->dataLength > 0)\r
+ {\r
+ const int numFrames = rb.numFrames;\r
+\r
+ if (overlapBuffer->startFrame == (rb.startFrame - framesToCheck))\r
+ {\r
+ rb.startFrame -= framesOverlap;\r
+\r
+ if (framesToCheck < framesOverlap\r
+ && numFrames + framesOverlap <= rb.bufferSize / 2352)\r
+ rb.numFrames += framesOverlap;\r
+ }\r
+ else\r
+ {\r
+ overlapBuffer->dataLength = 0;\r
+ overlapBuffer->startFrame = 0;\r
+ overlapBuffer->numFrames = 0;\r
+ }\r
+ }\r
+\r
+ if (! read (rb))\r
+ return false;\r
+\r
+ if (doJitter)\r
+ {\r
+ const int checkLen = framesToCheck * 2352;\r
+ const int maxToCheck = rb.dataLength - checkLen;\r
+\r
+ if (overlapBuffer->dataLength == 0 || overlapBuffer->isZero())\r
+ return true;\r
+\r
+ BYTE* const p = overlapBuffer->buffer + overlapBuffer->dataStartOffset;\r
+ bool found = false;\r
+\r
+ for (int i = 0; i < maxToCheck; ++i)\r
+ {\r
+ if (memcmp (p, rb.buffer + i, checkLen) == 0)\r
+ {\r
+ i += checkLen;\r
+ rb.dataStartOffset = i;\r
+ rb.dataLength -= i;\r
+ rb.startFrame = overlapBuffer->startFrame + framesToCheck;\r
+ found = true;\r
+ break;\r
+ }\r
+ }\r
+\r
+ rb.numFrames = rb.dataLength / 2352;\r
+ rb.dataLength = 2352 * rb.numFrames;\r
+\r
+ if (! found)\r
+ return false;\r
+ }\r
+\r
+ if (canDoJitter)\r
+ {\r
+ memcpy (overlapBuffer->buffer,\r
+ rb.buffer + rb.dataStartOffset + 2352 * (rb.numFrames - framesToCheck),\r
+ 2352 * framesToCheck);\r
+\r
+ overlapBuffer->startFrame = rb.startFrame + rb.numFrames - framesToCheck;\r
+ overlapBuffer->numFrames = framesToCheck;\r
+ overlapBuffer->dataLength = 2352 * framesToCheck;\r
+ overlapBuffer->dataStartOffset = 0;\r
+ }\r
+ else\r
+ {\r
+ overlapBuffer->startFrame = 0;\r
+ overlapBuffer->numFrames = 0;\r
+ overlapBuffer->dataLength = 0;\r
+ }\r
+\r
+ return true;\r
+ }\r
+\r
+ return read (rb);\r
+}\r
+\r
+int CDController::getLastIndex()\r
+{\r
+ char qdata[100];\r
+\r
+ SRB_ExecSCSICmd s;\r
+ prepare (s);\r
+ s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = sizeof (qdata);\r
+ s.SRB_BufPointer = (BYTE*) qdata;\r
+ s.SRB_CDBLen = 12;\r
+ s.CDBByte[0] = 0x42;\r
+ s.CDBByte[1] = (BYTE) (deviceInfo->info.lun << 5);\r
+ s.CDBByte[2] = 64;\r
+ s.CDBByte[3] = 1; // get current position\r
+ s.CDBByte[7] = 0;\r
+ s.CDBByte[8] = (BYTE) sizeof (qdata);\r
+ perform (s);\r
+\r
+ return s.SRB_Status == SS_COMP ? qdata[7] : 0;\r
+}\r
+\r
+//==============================================================================\r
+bool CDDeviceHandle::readTOC (TOC* lpToc)\r
+{\r
+ SRB_ExecSCSICmd s = { 0 };\r
+ s.SRB_Cmd = SC_EXEC_SCSI_CMD;\r
+ s.SRB_HaID = info.ha;\r
+ s.SRB_Target = info.tgt;\r
+ s.SRB_Lun = info.lun;\r
+ s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = 0x324;\r
+ s.SRB_BufPointer = (BYTE*) lpToc;\r
+ s.SRB_SenseLen = 0x0E;\r
+ s.SRB_CDBLen = 0x0A;\r
+ s.SRB_PostProc = CreateEvent (0, TRUE, FALSE, 0);\r
+ s.CDBByte[0] = 0x43;\r
+ s.CDBByte[1] = 0x00;\r
+ s.CDBByte[7] = 0x03;\r
+ s.CDBByte[8] = 0x24;\r
+\r
+ performScsiCommand (s.SRB_PostProc, s);\r
+ return (s.SRB_Status == SS_COMP);\r
+}\r
+\r
+void CDDeviceHandle::performScsiCommand (HANDLE event, SRB_ExecSCSICmd& s)\r
+{\r
+ ResetEvent (event);\r
+ DWORD status = performScsiPassThroughCommand ((SRB_ExecSCSICmd*) &s, info.scsiDriveLetter, scsiHandle, true);\r
+\r
+ if (status == SS_PENDING)\r
+ WaitForSingleObject (event, 4000);\r
+\r
+ CloseHandle (event);\r
+}\r
+\r
+bool CDDeviceHandle::readAudio (CDReadBuffer& buffer, CDReadBuffer* overlapBuffer)\r
+{\r
+ if (controller == 0)\r
+ {\r
+ testController (READTYPE_ATAPI2, new ControllerType1(), buffer)\r
+ || testController (READTYPE_ATAPI1, new ControllerType1(), buffer)\r
+ || testController (READTYPE_READ10_2, new ControllerType2(), buffer)\r
+ || testController (READTYPE_READ10, new ControllerType2(), buffer)\r
+ || testController (READTYPE_READ_D8, new ControllerType3(), buffer)\r
+ || testController (READTYPE_READ_D4, new ControllerType4(), buffer)\r
+ || testController (READTYPE_READ_D4_1, new ControllerType4(), buffer);\r
+ }\r
+\r
+ buffer.index = 0;\r
+\r
+ if (controller != nullptr && controller->readAudio (buffer, overlapBuffer))\r
+ {\r
+ if (buffer.wantsIndex)\r
+ buffer.index = controller->getLastIndex();\r
+\r
+ return true;\r
+ }\r
+\r
+ return false;\r
+}\r
+\r
+void CDDeviceHandle::openDrawer (bool shouldBeOpen)\r
+{\r
+ if (shouldBeOpen)\r
+ {\r
+ if (controller != nullptr)\r
+ {\r
+ controller->shutDown();\r
+ controller = nullptr;\r
+ }\r
+\r
+ if (scsiHandle != 0)\r
+ {\r
+ CloseHandle (scsiHandle);\r
+ scsiHandle = 0;\r
+ }\r
+ }\r
+\r
+ SRB_ExecSCSICmd s = { 0 };\r
+ s.SRB_Cmd = SC_EXEC_SCSI_CMD;\r
+ s.SRB_HaID = info.ha;\r
+ s.SRB_Target = info.tgt;\r
+ s.SRB_Lun = info.lun;\r
+ s.SRB_SenseLen = SENSE_LEN;\r
+ s.SRB_Flags = SRB_DIR_IN | SRB_EVENT_NOTIFY;\r
+ s.SRB_BufLen = 0;\r
+ s.SRB_BufPointer = 0;\r
+ s.SRB_CDBLen = 12;\r
+ s.CDBByte[0] = 0x1b;\r
+ s.CDBByte[1] = (BYTE) (info.lun << 5);\r
+ s.CDBByte[4] = (BYTE) (shouldBeOpen ? 2 : 3);\r
+ s.SRB_PostProc = CreateEvent (0, TRUE, FALSE, 0);\r
+\r
+ performScsiCommand (s.SRB_PostProc, s);\r
+}\r
+\r
+bool CDDeviceHandle::testController (const int type, CDController* const newController, CDReadBuffer& rb)\r
+{\r
+ controller = newController;\r
+ readType = (BYTE) type;\r
+\r
+ controller->deviceInfo = this;\r
+ controller->framesToCheck = 1;\r
+ controller->framesOverlap = 3;\r
+\r
+ bool passed = false;\r
+ memset (rb.buffer, 0xcd, rb.bufferSize);\r
+\r
+ if (controller->read (rb))\r
+ {\r
+ passed = true;\r
+ int* p = (int*) (rb.buffer + rb.dataStartOffset);\r
+ int wrong = 0;\r
+\r
+ for (int i = rb.dataLength / 4; --i >= 0;)\r
+ {\r
+ if (*p++ == (int) 0xcdcdcdcd)\r
+ {\r
+ if (++wrong == 4)\r
+ {\r
+ passed = false;\r
+ break;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ wrong = 0;\r
+ }\r
+ }\r
+ }\r
+\r
+ if (! passed)\r
+ {\r
+ controller->shutDown();\r
+ controller = nullptr;\r
+ }\r
+\r
+ return passed;\r
+}\r
+\r
+\r
+//==============================================================================\r
+struct CDDeviceWrapper\r
+{\r
+ CDDeviceWrapper (const CDDeviceDescription& device, HANDLE scsiHandle)\r
+ : deviceHandle (device, scsiHandle), overlapBuffer (3), jitter (false)\r
+ {\r
+ // xxx jitter never seemed to actually be enabled (??)\r
+ }\r
+\r
+ CDDeviceHandle deviceHandle;\r
+ CDReadBuffer overlapBuffer;\r
+ bool jitter;\r
+};\r
+\r
+//==============================================================================\r
+int getAddressOfTrack (const TOCTRACK& t) noexcept\r
+{\r
+ return (((DWORD) t.addr[0]) << 24) + (((DWORD) t.addr[1]) << 16)\r
+ + (((DWORD) t.addr[2]) << 8) + ((DWORD) t.addr[3]);\r
+}\r
+\r
+const int samplesPerFrame = 44100 / 75;\r
+const int bytesPerFrame = samplesPerFrame * 4;\r
+const int framesPerIndexRead = 4;\r
+\r
+}\r
+\r
+//==============================================================================\r
+StringArray AudioCDReader::getAvailableCDNames()\r
+{\r
+ using namespace CDReaderHelpers;\r
+ StringArray results;\r
+\r
+ Array<CDDeviceDescription> list;\r
+ findCDDevices (list);\r
+\r
+ for (int i = 0; i < list.size(); ++i)\r
+ {\r
+ String s;\r
+ if (list[i].scsiDriveLetter > 0)\r
+ s << String::charToString (list[i].scsiDriveLetter).toUpperCase() << ": ";\r
+\r
+ s << list[i].description;\r
+ results.add (s);\r
+ }\r
+\r
+ return results;\r
+}\r
+\r
+AudioCDReader* AudioCDReader::createReaderForCD (const int deviceIndex)\r
+{\r
+ using namespace CDReaderHelpers;\r
+\r
+ Array<CDDeviceDescription> list;\r
+ findCDDevices (list);\r
+\r
+ if (isPositiveAndBelow (deviceIndex, list.size()))\r
+ {\r
+ HANDLE h = createSCSIDeviceHandle (list [deviceIndex].scsiDriveLetter);\r
+\r
+ if (h != INVALID_HANDLE_VALUE)\r
+ {\r
+ ScopedPointer<AudioCDReader> cd (new AudioCDReader (new CDDeviceWrapper (list [deviceIndex], h)));\r
+\r
+ if (cd->lengthInSamples > 0)\r
+ return cd.release();\r
+ }\r
+ }\r
+\r
+ return nullptr;\r
+}\r
+\r
+AudioCDReader::AudioCDReader (void* handle_)\r
+ : AudioFormatReader (0, "CD Audio"),\r
+ handle (handle_),\r
+ indexingEnabled (false),\r
+ lastIndex (0),\r
+ firstFrameInBuffer (0),\r
+ samplesInBuffer (0)\r
+{\r
+ using namespace CDReaderHelpers;\r
+ jassert (handle_ != nullptr);\r
+\r
+ refreshTrackLengths();\r
+\r
+ sampleRate = 44100.0;\r
+ bitsPerSample = 16;\r
+ numChannels = 2;\r
+ usesFloatingPointData = false;\r
+\r
+ buffer.setSize (4 * bytesPerFrame, true);\r
+}\r
+\r
+AudioCDReader::~AudioCDReader()\r
+{\r
+ using namespace CDReaderHelpers;\r
+ CDDeviceWrapper* const device = static_cast<CDDeviceWrapper*> (handle);\r
+ delete device;\r
+}\r
+\r
+bool AudioCDReader::readSamples (int** destSamples, int numDestChannels, int startOffsetInDestBuffer,\r
+ int64 startSampleInFile, int numSamples)\r
+{\r
+ using namespace CDReaderHelpers;\r
+ CDDeviceWrapper* const device = static_cast<CDDeviceWrapper*> (handle);\r
+\r
+ bool ok = true;\r
+\r
+ while (numSamples > 0)\r
+ {\r
+ const int bufferStartSample = firstFrameInBuffer * samplesPerFrame;\r
+ const int bufferEndSample = bufferStartSample + samplesInBuffer;\r
+\r
+ if (startSampleInFile >= bufferStartSample\r
+ && startSampleInFile < bufferEndSample)\r
+ {\r
+ const int toDo = (int) jmin ((int64) numSamples, bufferEndSample - startSampleInFile);\r
+\r
+ int* const l = destSamples[0] + startOffsetInDestBuffer;\r
+ int* const r = numDestChannels > 1 ? (destSamples[1] + startOffsetInDestBuffer) : nullptr;\r
+ const short* src = (const short*) buffer.getData();\r
+ src += 2 * (startSampleInFile - bufferStartSample);\r
+\r
+ for (int i = 0; i < toDo; ++i)\r
+ {\r
+ l[i] = src [i << 1] << 16;\r
+\r
+ if (r != nullptr)\r
+ r[i] = src [(i << 1) + 1] << 16;\r
+ }\r
+\r
+ startOffsetInDestBuffer += toDo;\r
+ startSampleInFile += toDo;\r
+ numSamples -= toDo;\r
+ }\r
+ else\r
+ {\r
+ const int framesInBuffer = (int) (buffer.getSize() / bytesPerFrame);\r
+ const int frameNeeded = (int) (startSampleInFile / samplesPerFrame);\r
+\r
+ if (firstFrameInBuffer + framesInBuffer != frameNeeded)\r
+ {\r
+ device->overlapBuffer.dataLength = 0;\r
+ device->overlapBuffer.startFrame = 0;\r
+ device->overlapBuffer.numFrames = 0;\r
+ device->jitter = false;\r
+ }\r
+\r
+ firstFrameInBuffer = frameNeeded;\r
+ lastIndex = 0;\r
+\r
+ CDReadBuffer readBuffer (framesInBuffer + 4);\r
+ readBuffer.wantsIndex = indexingEnabled;\r
+\r
+ int i;\r
+ for (i = 5; --i >= 0;)\r
+ {\r
+ readBuffer.startFrame = frameNeeded;\r
+ readBuffer.numFrames = framesInBuffer;\r
+\r
+ if (device->deviceHandle.readAudio (readBuffer, device->jitter ? &device->overlapBuffer : 0))\r
+ break;\r
+ else\r
+ device->overlapBuffer.dataLength = 0;\r
+ }\r
+\r
+ if (i >= 0)\r
+ {\r
+ buffer.copyFrom (readBuffer.buffer + readBuffer.dataStartOffset, 0, readBuffer.dataLength);\r
+ samplesInBuffer = readBuffer.dataLength >> 2;\r
+ lastIndex = readBuffer.index;\r
+ }\r
+ else\r
+ {\r
+ int* l = destSamples[0] + startOffsetInDestBuffer;\r
+ int* r = numDestChannels > 1 ? (destSamples[1] + startOffsetInDestBuffer) : nullptr;\r
+\r
+ while (--numSamples >= 0)\r
+ {\r
+ *l++ = 0;\r
+\r
+ if (r != nullptr)\r
+ *r++ = 0;\r
+ }\r
+\r
+ // sometimes the read fails for just the very last couple of blocks, so\r
+ // we'll ignore and errors in the last half-second of the disk..\r
+ ok = startSampleInFile > (trackStartSamples [getNumTracks()] - 20000);\r
+ break;\r
+ }\r
+ }\r
+ }\r
+\r
+ return ok;\r
+}\r
+\r
+bool AudioCDReader::isCDStillPresent() const\r
+{\r
+ using namespace CDReaderHelpers;\r
+ TOC toc = { 0 };\r
+ return static_cast<CDDeviceWrapper*> (handle)->deviceHandle.readTOC (&toc);\r
+}\r
+\r
+void AudioCDReader::refreshTrackLengths()\r
+{\r
+ using namespace CDReaderHelpers;\r
+ trackStartSamples.clear();\r
+ zeromem (audioTracks, sizeof (audioTracks));\r
+\r
+ TOC toc = { 0 };\r
+\r
+ if (static_cast<CDDeviceWrapper*> (handle)->deviceHandle.readTOC (&toc))\r
+ {\r
+ int numTracks = 1 + toc.lastTrack - toc.firstTrack;\r
+\r
+ for (int i = 0; i <= numTracks; ++i)\r
+ {\r
+ trackStartSamples.add (samplesPerFrame * getAddressOfTrack (toc.tracks [i]));\r
+ audioTracks [i] = ((toc.tracks[i].ADR & 4) == 0);\r
+ }\r
+ }\r
+\r
+ lengthInSamples = getPositionOfTrackStart (getNumTracks());\r
+}\r
+\r
+bool AudioCDReader::isTrackAudio (int trackNum) const\r
+{\r
+ return trackNum >= 0 && trackNum < getNumTracks() && audioTracks [trackNum];\r
+}\r
+\r
+void AudioCDReader::enableIndexScanning (bool b)\r
+{\r
+ indexingEnabled = b;\r
+}\r
+\r
+int AudioCDReader::getLastIndex() const\r
+{\r
+ return lastIndex;\r
+}\r
+\r
+int AudioCDReader::getIndexAt (int samplePos)\r
+{\r
+ using namespace CDReaderHelpers;\r
+ CDDeviceWrapper* const device = static_cast<CDDeviceWrapper*> (handle);\r
+\r
+ const int frameNeeded = samplePos / samplesPerFrame;\r
+\r
+ device->overlapBuffer.dataLength = 0;\r
+ device->overlapBuffer.startFrame = 0;\r
+ device->overlapBuffer.numFrames = 0;\r
+ device->jitter = false;\r
+\r
+ firstFrameInBuffer = 0;\r
+ lastIndex = 0;\r
+\r
+ CDReadBuffer readBuffer (4 + framesPerIndexRead);\r
+ readBuffer.wantsIndex = true;\r
+\r
+ int i;\r
+ for (i = 5; --i >= 0;)\r
+ {\r
+ readBuffer.startFrame = frameNeeded;\r
+ readBuffer.numFrames = framesPerIndexRead;\r
+\r
+ if (device->deviceHandle.readAudio (readBuffer))\r
+ break;\r
+ }\r
+\r
+ if (i >= 0)\r
+ return readBuffer.index;\r
+\r
+ return -1;\r
+}\r
+\r
+Array<int> AudioCDReader::findIndexesInTrack (const int trackNumber)\r
+{\r
+ using namespace CDReaderHelpers;\r
+ Array <int> indexes;\r
+\r
+ const int trackStart = getPositionOfTrackStart (trackNumber);\r
+ const int trackEnd = getPositionOfTrackStart (trackNumber + 1);\r
+\r
+ bool needToScan = true;\r
+\r
+ if (trackEnd - trackStart > 20 * 44100)\r
+ {\r
+ // check the end of the track for indexes before scanning the whole thing\r
+ needToScan = false;\r
+ int pos = jmax (trackStart, trackEnd - 44100 * 5);\r
+ bool seenAnIndex = false;\r
+\r
+ while (pos <= trackEnd - samplesPerFrame)\r
+ {\r
+ const int index = getIndexAt (pos);\r
+\r
+ if (index == 0)\r
+ {\r
+ // lead-out, so skip back a bit if we've not found any indexes yet..\r
+ if (seenAnIndex)\r
+ break;\r
+\r
+ pos -= 44100 * 5;\r
+\r
+ if (pos < trackStart)\r
+ break;\r
+ }\r
+ else\r
+ {\r
+ if (index > 0)\r
+ seenAnIndex = true;\r
+\r
+ if (index > 1)\r
+ {\r
+ needToScan = true;\r
+ break;\r
+ }\r
+\r
+ pos += samplesPerFrame * framesPerIndexRead;\r
+ }\r
+ }\r
+ }\r
+\r
+ if (needToScan)\r
+ {\r
+ CDDeviceWrapper* const device = static_cast<CDDeviceWrapper*> (handle);\r
+\r
+ int pos = trackStart;\r
+ int last = -1;\r
+\r
+ while (pos < trackEnd - samplesPerFrame * 10)\r
+ {\r
+ const int frameNeeded = pos / samplesPerFrame;\r
+\r
+ device->overlapBuffer.dataLength = 0;\r
+ device->overlapBuffer.startFrame = 0;\r
+ device->overlapBuffer.numFrames = 0;\r
+ device->jitter = false;\r
+\r
+ firstFrameInBuffer = 0;\r
+\r
+ CDReadBuffer readBuffer (4);\r
+ readBuffer.wantsIndex = true;\r
+\r
+ int i;\r
+ for (i = 5; --i >= 0;)\r
+ {\r
+ readBuffer.startFrame = frameNeeded;\r
+ readBuffer.numFrames = framesPerIndexRead;\r
+\r
+ if (device->deviceHandle.readAudio (readBuffer))\r
+ break;\r
+ }\r
+\r
+ if (i < 0)\r
+ break;\r
+\r
+ if (readBuffer.index > last && readBuffer.index > 1)\r
+ {\r
+ last = readBuffer.index;\r
+ indexes.add (pos);\r
+ }\r
+\r
+ pos += samplesPerFrame * framesPerIndexRead;\r
+ }\r
+\r
+ indexes.removeFirstMatchingValue (trackStart);\r
+ }\r
+\r
+ return indexes;\r
+}\r
+\r
+void AudioCDReader::ejectDisk()\r
+{\r
+ using namespace CDReaderHelpers;\r
+ static_cast<CDDeviceWrapper*> (handle)->deviceHandle.openDrawer (true);\r
+}\r
{\r
if (processorToPlay != nullptr && sampleRate > 0 && blockSize > 0)\r
{\r
- const int numInBuses = processorToPlay->busArrangement.inputBuses. size();\r
- const int numOutBuses = processorToPlay->busArrangement.outputBuses.size();\r
-\r
- for (int i = 1; i < numInBuses; ++i)\r
- {\r
- bool success = processorToPlay->setPreferredBusArrangement (true, i, AudioChannelSet::disabled());\r
-\r
- // if using in audio processor player, it must be possible to disable sidechains\r
- jassert (success);\r
-\r
- ignoreUnused (success);\r
- }\r
-\r
- for (int i = 1; i < numOutBuses; ++i)\r
- {\r
- bool success = processorToPlay->setPreferredBusArrangement (false, i, AudioChannelSet::disabled());\r
-\r
- // if using in audio processor player, it must be possible to disable aux outputs\r
- jassert (success);\r
-\r
- ignoreUnused(success);\r
- }\r
-\r
- if (numInBuses > 0 && processorToPlay->busArrangement.inputBuses.getReference(0).channels.size() != numInputChans)\r
- processorToPlay->setPreferredBusArrangement (true, 0, AudioChannelSet::canonicalChannelSet(numInputChans));\r
-\r
- if (numOutBuses > 0 && processorToPlay->busArrangement.outputBuses.getReference(0).channels.size() != numOutputChans)\r
- processorToPlay->setPreferredBusArrangement (false, 0, AudioChannelSet::canonicalChannelSet(numOutputChans));\r
-\r
- jassert (processorToPlay->getTotalNumInputChannels() == numInputChans);\r
- jassert (processorToPlay->getTotalNumOutputChannels() == numOutputChans);\r
-\r
- processorToPlay->setRateAndBufferSizeDetails (sampleRate, blockSize);\r
-\r
+ processorToPlay->setPlayConfigDetails(numInputChans, numOutputChans, sampleRate, blockSize);\r
const bool supportsDouble = processorToPlay->supportsDoublePrecisionProcessing() && isDoublePrecision;\r
AudioProcessor::ProcessingPrecision precision = supportsDouble ? AudioProcessor::doublePrecision\r
: AudioProcessor::singlePrecision;\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+//==============================================================================\r
+// This is an AudioTransportSource which will own it's assigned source\r
+struct AudioSourceOwningTransportSource : public AudioTransportSource\r
+{\r
+ AudioSourceOwningTransportSource (PositionableAudioSource* s) : source (s)\r
+ {\r
+ AudioTransportSource::setSource (s);\r
+ }\r
+\r
+ ~AudioSourceOwningTransportSource()\r
+ {\r
+ setSource (nullptr);\r
+ }\r
+\r
+private:\r
+ ScopedPointer<PositionableAudioSource> source;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioSourceOwningTransportSource)\r
+};\r
+\r
+//==============================================================================\r
+// An AudioSourcePlayer which will remove itself from the AudioDeviceManager's\r
+// callback list once it finishes playing its source\r
+struct AutoRemovingTransportSource : public AudioTransportSource, private Timer\r
+{\r
+ AutoRemovingTransportSource (MixerAudioSource& mixerToUse, AudioTransportSource* ts, bool ownSource,\r
+ int samplesPerBlock, double sampleRate)\r
+ : mixer (mixerToUse), transportSource (ts, ownSource)\r
+ {\r
+ jassert (ts != nullptr);\r
+\r
+ setSource (transportSource);\r
+\r
+ prepareToPlay (samplesPerBlock, sampleRate);\r
+ start();\r
+\r
+ mixer.addInputSource (this, true);\r
+ startTimerHz (10);\r
+ }\r
+\r
+ ~AutoRemovingTransportSource()\r
+ {\r
+ setSource (nullptr);\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ if (! transportSource->isPlaying())\r
+ mixer.removeInputSource (this);\r
+ }\r
+\r
+private:\r
+ MixerAudioSource& mixer;\r
+ OptionalScopedPointer<AudioTransportSource> transportSource;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AutoRemovingTransportSource)\r
+};\r
+\r
+// An AudioSource which simply outputs a buffer\r
+class AudioSampleBufferSource : public PositionableAudioSource\r
+{\r
+public:\r
+ AudioSampleBufferSource (AudioSampleBuffer* audioBuffer, bool ownBuffer, bool playOnAllChannels)\r
+ : buffer (audioBuffer, ownBuffer),\r
+ position (0), looping (false),\r
+ playAcrossAllChannels (playOnAllChannels)\r
+ {}\r
+\r
+ //==============================================================================\r
+ void setNextReadPosition (int64 newPosition) override\r
+ {\r
+ jassert (newPosition >= 0);\r
+\r
+ if (looping)\r
+ newPosition = newPosition % static_cast<int64> (buffer->getNumSamples());\r
+\r
+ position = jmin (buffer->getNumSamples(), static_cast<int> (newPosition));\r
+ }\r
+\r
+ int64 getNextReadPosition() const override { return static_cast<int64> (position); }\r
+ int64 getTotalLength() const override { return static_cast<int64> (buffer->getNumSamples()); }\r
+\r
+ bool isLooping() const override { return looping; }\r
+ void setLooping (bool shouldLoop) override { looping = shouldLoop; }\r
+\r
+ //==============================================================================\r
+ void prepareToPlay (int, double) override {}\r
+ void releaseResources() override {}\r
+\r
+ void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override\r
+ {\r
+ bufferToFill.clearActiveBufferRegion();\r
+\r
+ const int bufferSize = buffer->getNumSamples();\r
+ const int samplesNeeded = bufferToFill.numSamples;\r
+ const int samplesToCopy = jmin (bufferSize - position, samplesNeeded);\r
+\r
+ if (samplesToCopy > 0)\r
+ {\r
+ int maxInChannels = buffer->getNumChannels();\r
+ int maxOutChannels = bufferToFill.buffer->getNumChannels();\r
+\r
+ if (! playAcrossAllChannels)\r
+ maxOutChannels = jmin (maxOutChannels, maxInChannels);\r
+\r
+ for (int i = 0; i < maxOutChannels; ++i)\r
+ bufferToFill.buffer->copyFrom (i, bufferToFill.startSample, *buffer,\r
+ i % maxInChannels, position, samplesToCopy);\r
+ }\r
+\r
+ position += samplesNeeded;\r
+\r
+ if (looping)\r
+ position %= bufferSize;\r
+ }\r
+\r
+private:\r
+ //==============================================================================\r
+ OptionalScopedPointer<AudioSampleBuffer> buffer;\r
+ int position;\r
+ bool looping, playAcrossAllChannels;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioSampleBufferSource)\r
+};\r
+\r
+SoundPlayer::SoundPlayer()\r
+ : sampleRate (44100.0), bufferSize (512)\r
+{\r
+ formatManager.registerBasicFormats();\r
+ player.setSource (&mixer);\r
+}\r
+\r
+SoundPlayer::~SoundPlayer()\r
+{\r
+ mixer.removeAllInputs();\r
+ player.setSource (nullptr);\r
+}\r
+\r
+void SoundPlayer::play (const File& file)\r
+{\r
+ if (file.existsAsFile())\r
+ play (formatManager.createReaderFor (file), true);\r
+}\r
+\r
+void SoundPlayer::play (const void* resourceData, size_t resourceSize)\r
+{\r
+ if (resourceData != nullptr && resourceSize > 0)\r
+ {\r
+ MemoryInputStream* mem = new MemoryInputStream (resourceData, resourceSize, false);\r
+ play (formatManager.createReaderFor (mem), true);\r
+ }\r
+}\r
+\r
+void SoundPlayer::play (AudioFormatReader* reader, bool deleteWhenFinished)\r
+{\r
+ if (reader != nullptr)\r
+ play (new AudioFormatReaderSource (reader, deleteWhenFinished), true);\r
+}\r
+\r
+void SoundPlayer::play (AudioSampleBuffer* buffer, bool deleteWhenFinished, bool playOnAllOutputChannels)\r
+{\r
+ if (buffer != nullptr)\r
+ play (new AudioSampleBufferSource (buffer, deleteWhenFinished, playOnAllOutputChannels), true);\r
+}\r
+\r
+void SoundPlayer::play (PositionableAudioSource* audioSource, bool deleteWhenFinished)\r
+{\r
+ if (audioSource != nullptr)\r
+ {\r
+ AudioTransportSource* transport = dynamic_cast<AudioTransportSource*> (audioSource);\r
+\r
+ if (transport == nullptr)\r
+ {\r
+ if (deleteWhenFinished)\r
+ {\r
+ transport = new AudioSourceOwningTransportSource (audioSource);\r
+ }\r
+ else\r
+ {\r
+ transport = new AudioTransportSource();\r
+ transport->setSource (audioSource);\r
+ deleteWhenFinished = true;\r
+ }\r
+ }\r
+\r
+ transport->start();\r
+ transport->prepareToPlay (bufferSize, sampleRate);\r
+\r
+ new AutoRemovingTransportSource (mixer, transport, deleteWhenFinished, bufferSize, sampleRate);\r
+ }\r
+ else\r
+ {\r
+ if (deleteWhenFinished)\r
+ delete audioSource;\r
+ }\r
+}\r
+\r
+void SoundPlayer::playTestSound()\r
+{\r
+ const int soundLength = (int) sampleRate;\r
+\r
+ const double frequency = 440.0;\r
+ const float amplitude = 0.5f;\r
+\r
+ const double phasePerSample = double_Pi * 2.0 / (sampleRate / frequency);\r
+\r
+ AudioSampleBuffer* newSound = new AudioSampleBuffer (1, soundLength);\r
+\r
+ for (int i = 0; i < soundLength; ++i)\r
+ newSound->setSample (0, i, amplitude * (float) std::sin (i * phasePerSample));\r
+\r
+ newSound->applyGainRamp (0, 0, soundLength / 10, 0.0f, 1.0f);\r
+ newSound->applyGainRamp (0, soundLength - soundLength / 4, soundLength / 4, 1.0f, 0.0f);\r
+\r
+ play (newSound, true, true);\r
+}\r
+\r
+//==============================================================================\r
+void SoundPlayer::audioDeviceIOCallback (const float** inputChannelData,\r
+ int numInputChannels,\r
+ float** outputChannelData,\r
+ int numOutputChannels,\r
+ int numSamples)\r
+{\r
+ player.audioDeviceIOCallback (inputChannelData, numInputChannels,\r
+ outputChannelData, numOutputChannels,\r
+ numSamples);\r
+}\r
+\r
+void SoundPlayer::audioDeviceAboutToStart (AudioIODevice* device)\r
+{\r
+ if (device != nullptr)\r
+ {\r
+ sampleRate = device->getCurrentSampleRate();\r
+ bufferSize = device->getCurrentBufferSizeSamples();\r
+ }\r
+\r
+ player.audioDeviceAboutToStart (device);\r
+}\r
+\r
+void SoundPlayer::audioDeviceStopped()\r
+{\r
+ player.audioDeviceStopped();\r
+}\r
+\r
+void SoundPlayer::audioDeviceError (const String& errorMessage)\r
+{\r
+ player.audioDeviceError (errorMessage);\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2015 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#ifndef JUCE_SOUNDPLAYER_H_INCLUDED\r
+#define JUCE_SOUNDPLAYER_H_INCLUDED\r
+\r
+//==============================================================================\r
+/**\r
+ A simple sound player that you can add to the AudioDeviceManager to play\r
+ simple sounds.\r
+\r
+ @see AudioProcessor, AudioProcessorGraph\r
+*/\r
+class JUCE_API SoundPlayer : public AudioIODeviceCallback\r
+{\r
+public:\r
+ //==============================================================================\r
+ SoundPlayer ();\r
+\r
+ /** Destructor. */\r
+ virtual ~SoundPlayer();\r
+\r
+ //==============================================================================\r
+ /** Plays a sound from a file. */\r
+ void play (const File& file);\r
+\r
+ /** Convenient method to play sound from a JUCE resource. */\r
+ void play (const void* resourceData, size_t resourceSize);\r
+\r
+ /** Plays the sound from an audio format reader.\r
+\r
+ If deleteWhenFinished is true then the format reader will be\r
+ automatically deleted once the sound has finished playing.\r
+ */\r
+ void play (AudioFormatReader* buffer, bool deleteWhenFinished = false);\r
+\r
+ /** Plays the sound from a positionable audio source.\r
+\r
+ This will output the sound coming from a positionable audio source.\r
+ This gives you slightly more control over the sound playback compared\r
+ to the other playSound methods. For example, if you would like to\r
+ stop the sound prematurely you can call this method with a\r
+ TransportAudioSource and then call audioSource->stop. Note that,\r
+ you must call audioSource->start to start the playback, if your\r
+ audioSource is a TransportAudioSource.\r
+\r
+ The audio device manager will not hold any references to this audio\r
+ source once the audio source has stopped playing for any reason,\r
+ for example when the sound has finished playing or when you have\r
+ called audioSource->stop. Therefore, calling audioSource->start() on\r
+ a finished audioSource will not restart the sound again. If this is\r
+ desired simply call playSound with the same audioSource again.\r
+\r
+ @param audioSource the audio source to play\r
+ @param deleteWhenFinished If this is true then the audio source will\r
+ be deleted once the device manager has finished\r
+ playing.\r
+ */\r
+ void play (PositionableAudioSource* audioSource, bool deleteWhenFinished = false);\r
+\r
+ /** Plays the sound from an audio sample buffer.\r
+\r
+ This will output the sound contained in an audio sample buffer. If\r
+ deleteWhenFinished is true then the audio sample buffer will be\r
+ automatically deleted once the sound has finished playing.\r
+\r
+ If playOnAllOutputChannels is true, then if there are more output channels\r
+ than buffer channels, then the ones that are available will be re-used on\r
+ multiple outputs so that something is sent to all output channels. If it\r
+ is false, then the buffer will just be played on the first output channels.\r
+ */\r
+ void play (AudioSampleBuffer* buffer,\r
+ bool deleteWhenFinished = false,\r
+ bool playOnAllOutputChannels = false);\r
+\r
+ /** Plays a beep through the current audio device.\r
+\r
+ This is here to allow the audio setup UI panels to easily include a "test"\r
+ button so that the user can check where the audio is coming from.\r
+ */\r
+ void playTestSound();\r
+\r
+ //==============================================================================\r
+ /** @internal */\r
+ void audioDeviceIOCallback (const float**, int, float**, int, int) override;\r
+ /** @internal */\r
+ void audioDeviceAboutToStart (AudioIODevice*) override;\r
+ /** @internal */\r
+ void audioDeviceStopped() override;\r
+ /** @internal */\r
+ void audioDeviceError (const String& errorMessage) override;\r
+\r
+private:\r
+ //==============================================================================\r
+ AudioFormatManager formatManager;\r
+ AudioSourcePlayer player;\r
+ MixerAudioSource mixer;\r
+ OwnedArray<AudioSource> sources;\r
+\r
+ //==============================================================================\r
+ double sampleRate;\r
+ int bufferSize;\r
+\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SoundPlayer)\r
+};\r
+\r
+\r
+#endif // JUCE_SOUNDPLAYER_H_INCLUDED\r
--- /dev/null
+\r
+This is a JUCE module which discovers any connected BLOCKS devices and provides low-level\r
+access to their physical properties.\r
+\r
+Its job is to provide:\r
+- topology and status information about the list of connected devices\r
+- callbacks for touch events, control button presses and rotary dial movements\r
+- simple control over individual LEDs\r
+- optional rule-based virtual device aggregation functionality\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+static Block::UID getBlockUIDFromSerialNumber (const uint8* serial) noexcept\r
+{\r
+ Block::UID n = {};\r
+\r
+ for (int i = 0; i < (int) sizeof (BlocksProtocol::BlockSerialNumber); ++i)\r
+ n += n * 127 + serial[i];\r
+\r
+ return n;\r
+}\r
+\r
+static Block::UID getBlockUIDFromSerialNumber (const BlocksProtocol::BlockSerialNumber& serial) noexcept\r
+{\r
+ return getBlockUIDFromSerialNumber (serial.serial);\r
+}\r
+\r
+static Block::UID getBlockUIDFromSerialNumber (const juce::String& serial) noexcept\r
+{\r
+ if (serial.length() < (int) sizeof (BlocksProtocol::BlockSerialNumber))\r
+ {\r
+ jassertfalse;\r
+ return getBlockUIDFromSerialNumber (serial.paddedRight ('0', sizeof (BlocksProtocol::BlockSerialNumber)));\r
+ }\r
+\r
+ return getBlockUIDFromSerialNumber ((const uint8*) serial.toRawUTF8());\r
+}\r
+\r
+Block::Block (const juce::String& serial)\r
+ : serialNumber (serial), uid (getBlockUIDFromSerialNumber (serial))\r
+{\r
+}\r
+\r
+Block::~Block() {}\r
+\r
+void Block::addDataInputPortListener (DataInputPortListener* listener) { dataInputPortListeners.add (listener); }\r
+void Block::removeDataInputPortListener (DataInputPortListener* listener) { dataInputPortListeners.remove (listener); }\r
+\r
+bool Block::ConnectionPort::operator== (const ConnectionPort& other) const noexcept { return edge == other.edge && index == other.index; }\r
+bool Block::ConnectionPort::operator!= (const ConnectionPort& other) const noexcept { return ! operator== (other); }\r
+\r
+//==============================================================================\r
+TouchSurface::TouchSurface (Block& b) : block (b) {}\r
+TouchSurface::~TouchSurface() {}\r
+\r
+TouchSurface::Listener::~Listener() {}\r
+\r
+void TouchSurface::addListener (Listener* l) { listeners.add (l); }\r
+void TouchSurface::removeListener (Listener* l) { listeners.remove (l); }\r
+\r
+//==============================================================================\r
+ControlButton::ControlButton (Block& b) : block (b) {}\r
+ControlButton::~ControlButton() {}\r
+\r
+ControlButton::Listener::~Listener() {}\r
+\r
+void ControlButton::addListener (Listener* l) { listeners.add (l); }\r
+void ControlButton::removeListener (Listener* l) { listeners.remove (l); }\r
+\r
+\r
+//==============================================================================\r
+LEDGrid::LEDGrid (Block& b) : block (b) {}\r
+LEDGrid::~LEDGrid() {}\r
+\r
+LEDGrid::Program::Program (LEDGrid& l) : ledGrid (l) {}\r
+LEDGrid::Program::~Program() {}\r
+\r
+LEDGrid::Renderer::~Renderer() {}\r
+\r
+//==============================================================================\r
+LEDRow::LEDRow (Block& b) : block (b) {}\r
+LEDRow::~LEDRow() {}\r
+\r
+//==============================================================================\r
+StatusLight::StatusLight (Block& b) : block (b) {}\r
+StatusLight::~StatusLight() {}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ Represents an individual BLOCKS device.\r
+*/\r
+class Block : public juce::ReferenceCountedObject\r
+{\r
+public:\r
+ //==============================================================================\r
+ /** Destructor. */\r
+ virtual ~Block();\r
+\r
+ /** The different block types.\r
+\r
+ @see Block::getType()\r
+ */\r
+ enum Type\r
+ {\r
+ unknown = 0,\r
+ lightPadBlock,\r
+ liveBlock,\r
+ loopBlock,\r
+ developerControlBlock\r
+ };\r
+\r
+ /** The Block class is reference-counted, so always use a Block::Ptr when\r
+ you are keeping references to them.\r
+ */\r
+ using Ptr = juce::ReferenceCountedObjectPtr<Block>;\r
+\r
+ /** The Block class is reference-counted, so Block::Array is useful when\r
+ you are storing lists of them.\r
+ */\r
+ using Array = juce::ReferenceCountedArray<Block>;\r
+\r
+ /** The Block's serial number. */\r
+ const juce::String serialNumber;\r
+\r
+ using UID = uint64;\r
+\r
+ /** This Block's UID.\r
+\r
+ This will be globally unique, and remains constant for a particular device.\r
+ */\r
+ const UID uid;\r
+\r
+ //==============================================================================\r
+ /** Returns the type of this device.\r
+\r
+ @see Block::Type\r
+ */\r
+ virtual Type getType() const = 0;\r
+\r
+ /** Returns a human-readable description of this device type. */\r
+ virtual juce::String getDeviceDescription() const = 0;\r
+\r
+ /** Returns the battery level in the range 0.0 to 1.0. */\r
+ virtual float getBatteryLevel() const = 0;\r
+\r
+ /** Returns true if the battery is charging. */\r
+ virtual bool isBatteryCharging() const = 0;\r
+\r
+ //==============================================================================\r
+ /** Returns true if this block is connected and active. */\r
+ virtual bool isConnected() const = 0;\r
+\r
+ /** Returns true if this block is directly connected to the application,\r
+ as opposed to only being connected to a different block via a connection port.\r
+\r
+ @see ConnectionPort\r
+ */\r
+ virtual bool isMasterBlock() const = 0;\r
+\r
+ //==============================================================================\r
+ /** Returns the width of the device in logical device units. */\r
+ virtual int getWidth() const = 0;\r
+\r
+ /** Returns the height of the device in logical device units. */\r
+ virtual int getHeight() const = 0;\r
+\r
+ /** Returns true if the device is a physical hardware block (i.e. not a virtual block). */\r
+ virtual bool isHardwareBlock() const = 0;\r
+\r
+ /** Returns the length of one logical device unit as physical millimeters. */\r
+ virtual float getMillimetersPerUnit() const = 0;\r
+\r
+ //==============================================================================\r
+ /** If this block has a grid of LEDs, this will return an object to control it.\r
+ Note that the pointer that is returned belongs to this object, and the caller must\r
+ neither delete it or use it after the lifetime of this Block object has finished.\r
+ If there are no LEDs, then this method will return nullptr.\r
+ */\r
+ virtual LEDGrid* getLEDGrid() const = 0;\r
+\r
+ /** If this block has a row of LEDs, this will return an object to control it.\r
+ Note that the pointer that is returned belongs to this object, and the caller must\r
+ neither delete it or use it after the lifetime of this Block object has finished.\r
+ If there are no LEDs, then this method will return nullptr.\r
+ */\r
+ virtual LEDRow* getLEDRow() const = 0;\r
+\r
+ /** If this block has any status LEDs, this will return an array of objects to control them.\r
+ Note that the objects in the array belong to this Block object, and the caller must\r
+ neither delete them or use them after the lifetime of this Block object has finished.\r
+ */\r
+ virtual juce::Array<StatusLight*> getStatusLights() const = 0;\r
+\r
+ /** If this block has a pressure-sensitive surface, this will return an object to\r
+ access its data.\r
+ Note that the pointer returned does is owned by this object, and the caller must\r
+ neither delete it or use it after the lifetime of this Block object has finished.\r
+ If the device is not touch-sensitive, then this method will return nullptr.\r
+ */\r
+ virtual TouchSurface* getTouchSurface() const = 0;\r
+\r
+ /** If this block has any control buttons, this will return an array of objects to control them.\r
+ Note that the objects in the array belong to this Block object, and the caller must\r
+ neither delete them or use them after the lifetime of this Block object has finished.\r
+ */\r
+ virtual juce::Array<ControlButton*> getButtons() const = 0;\r
+\r
+ //==============================================================================\r
+ /** This returns true if the block supports generating graphics by drawing into a JUCE\r
+ Graphics context. This should only be true for virtual on-screen blocks; hardware\r
+ blocks will instead use the LED Grid for visuals.\r
+ */\r
+ virtual bool supportsGraphics() const = 0;\r
+\r
+ //==============================================================================\r
+ /** These are the edge-connectors that a device may have. */\r
+ struct ConnectionPort\r
+ {\r
+ enum class DeviceEdge\r
+ {\r
+ north,\r
+ south,\r
+ east,\r
+ west\r
+ };\r
+\r
+ /** The side of the device on which this port is located. */\r
+ DeviceEdge edge;\r
+\r
+ /** The index of this port along the device edge.\r
+ For north and south edges, index 0 is the left-most port.\r
+ For east and west edges, index 0 is the top-most port.\r
+ */\r
+ int index;\r
+\r
+ bool operator== (const ConnectionPort&) const noexcept;\r
+ bool operator!= (const ConnectionPort&) const noexcept;\r
+ };\r
+\r
+ /** Returns a list of the connectors that this device has. */\r
+ virtual juce::Array<ConnectionPort> getPorts() const = 0;\r
+\r
+ //==============================================================================\r
+ /** Interface for objects listening to input data port. */\r
+ struct DataInputPortListener\r
+ {\r
+ virtual ~DataInputPortListener() {}\r
+\r
+ /** Called whenever a message from a block is received. */\r
+ virtual void handleIncomingDataPortMessage (Block& source, const void* messageData, size_t messageSize) = 0;\r
+ };\r
+\r
+ /** Adds a new listener of data input port. */\r
+ virtual void addDataInputPortListener (DataInputPortListener*);\r
+\r
+ /** Removes a listener of data input port. */\r
+ virtual void removeDataInputPortListener (DataInputPortListener*);\r
+\r
+ /** Sends a message to the block. */\r
+ virtual void sendMessage (const void* messageData, size_t messageSize) = 0;\r
+\r
+ //==============================================================================\r
+ /** This type is used for timestamping events. It represents a number of milliseconds since the block\r
+ device was booted.\r
+ */\r
+ using Timestamp = uint32;\r
+\r
+protected:\r
+ //==============================================================================\r
+ Block (const juce::String& serialNumberToUse);\r
+\r
+ juce::ListenerList<DataInputPortListener> dataInputPortListeners;\r
+\r
+private:\r
+ //==============================================================================\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Block)\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ Represents a button on a block device.\r
+*/\r
+class ControlButton\r
+{\r
+public:\r
+ ControlButton (Block&);\r
+\r
+ /** Destructor. */\r
+ virtual ~ControlButton();\r
+\r
+ /** These are all known types of control buttons.\r
+ You can find out which buttons a device has by calling getButtons(),\r
+ and can get the name of a button type with getButtonName().\r
+ */\r
+ enum ButtonFunction\r
+ {\r
+ mode, // The button on the side of a lightpad block and the first button on a live/loop block\r
+\r
+ volume, // on live + loop blocks\r
+\r
+ // common to all types of block\r
+ up,\r
+ down,\r
+\r
+ // live block buttons\r
+ scale,\r
+ chord,\r
+ arp,\r
+ sustain,\r
+ octave,\r
+ love,\r
+\r
+ // loop block buttons\r
+ click,\r
+ snap,\r
+ back,\r
+ playOrPause,\r
+ record,\r
+ learn,\r
+\r
+ // developer block buttons\r
+ button0,\r
+ button1,\r
+ button2,\r
+ button3,\r
+ button4,\r
+ button5,\r
+ button6,\r
+ button7\r
+ };\r
+\r
+ /** Returns the button's type. */\r
+ virtual ButtonFunction getType() const = 0;\r
+\r
+ /** Returns the button's description. */\r
+ virtual juce::String getName() const = 0;\r
+\r
+ /** Returns the position of this button on the device, in device units.\r
+ For buttons that are on the side of the device, this may want to return a value that\r
+ is beyond the phyiscal block size.\r
+ */\r
+ virtual float getPositionX() const = 0;\r
+\r
+ /** Returns the position of this button on the device, in device units.\r
+ For buttons that are on the side of the device, this may want to return a value that\r
+ is beyond the phyiscal block size.\r
+ */\r
+ virtual float getPositionY() const = 0;\r
+\r
+ /** Returns true if this button has a controllable light. */\r
+ virtual bool hasLight() const = 0;\r
+\r
+ /** If the button can light-up, this sets its colour. */\r
+ virtual bool setLightColour (LEDColour newColour) = 0;\r
+\r
+ /** A listener that can be attached to a ControlButton object so that it\r
+ gets called when the button is pushed or released.\r
+ */\r
+ struct Listener\r
+ {\r
+ virtual ~Listener();\r
+\r
+ /** */\r
+ virtual void buttonPressed (ControlButton&, Block::Timestamp) = 0;\r
+ virtual void buttonReleased (ControlButton&, Block::Timestamp) = 0;\r
+ };\r
+\r
+ /** */\r
+ void addListener (Listener*);\r
+ /** */\r
+ void removeListener (Listener*);\r
+\r
+ /** */\r
+ Block& block;\r
+\r
+protected:\r
+ juce::ListenerList<Listener> listeners;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ControlButton)\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ A simple ARGB colour class for setting LEDs.\r
+*/\r
+struct LEDColour\r
+{\r
+ LEDColour() noexcept = default;\r
+ LEDColour (const LEDColour&) noexcept = default;\r
+ LEDColour& operator= (const LEDColour&) noexcept = default;\r
+\r
+ LEDColour (uint32 argbColour) noexcept : argb (argbColour) {}\r
+\r
+ template <typename ColourType>\r
+ LEDColour (const ColourType& colour) : LEDColour (colour.getARGB()) {}\r
+\r
+ uint8 getAlpha() const noexcept { return (uint8) (argb >> 24); }\r
+ uint8 getRed() const noexcept { return (uint8) (argb >> 16); }\r
+ uint8 getGreen() const noexcept { return (uint8) (argb >> 8); }\r
+ uint8 getBlue() const noexcept { return (uint8) argb; }\r
+\r
+ uint32 getARGB() const noexcept { return argb; }\r
+\r
+ uint32 argb = 0;\r
+};\r
+\r
+\r
+//==============================================================================\r
+/**\r
+ Represents a 2D grid of LEDs on a block device.\r
+*/\r
+class LEDGrid\r
+{\r
+public:\r
+ LEDGrid (Block&);\r
+\r
+ /** Destructor. */\r
+ virtual ~LEDGrid();\r
+\r
+ //==============================================================================\r
+ /** Returns the number of columns in the LED grid. */\r
+ virtual int getNumColumns() const = 0;\r
+\r
+ /** Returns the number of rows in the LED grid. */\r
+ virtual int getNumRows() const = 0;\r
+\r
+ /** A program that can be loaded onto an LEDGrid.\r
+\r
+ This class facilitates the execution of a LittleFoot program on a BLOCKS\r
+ device with an LEDGrid.\r
+ */\r
+ struct Program\r
+ {\r
+ /** Creates a Program for the corresponding LEDGrid. */\r
+ Program (LEDGrid&);\r
+\r
+ /** Destructor. */\r
+ virtual ~Program();\r
+\r
+ /** Returns the LittleFoot program to execute on the BLOCKS device. */\r
+ virtual juce::String getLittleFootProgram() = 0;\r
+\r
+ /** Sets the size of the shared area of memory used to communicate with\r
+ the host computer.\r
+ */\r
+ virtual uint32 getHeapSize() = 0;\r
+\r
+ LEDGrid& ledGrid;\r
+ };\r
+\r
+ /** Sets the Program to run on this LEDGrid.\r
+\r
+ The supplied Program's lifetime will be managed by this class, so do not\r
+ use the Program in other places in your code.\r
+ */\r
+ virtual juce::Result setProgram (Program*) = 0;\r
+\r
+ /** Returns a pointer to the currently loaded program. */\r
+ virtual Program* getProgram() const = 0;\r
+\r
+ /** A message that can be sent to the currently loaded program. */\r
+ struct ProgramEventMessage\r
+ {\r
+ int32 values[2];\r
+ };\r
+\r
+ /** Sends a message to the currently loaded program.\r
+\r
+ To receive the message the program must provide a function called\r
+ handleMessage with the following form:\r
+ @code\r
+ void handleMessage (int param1, int param2)\r
+ {\r
+ // Do something with the two integer parameters that the app has sent...\r
+ }\r
+ @endcode\r
+ */\r
+ virtual void sendProgramEvent (const ProgramEventMessage&) = 0;\r
+\r
+ /** Sets a single byte on the heap. */\r
+ virtual void setDataByte (size_t offset, uint8 value) = 0;\r
+\r
+ /** Sets multiple bytes on the heap. */\r
+ virtual void setDataBytes (size_t offset, const void* data, size_t num) = 0;\r
+\r
+ /** Sets multiple bits on the heap. */\r
+ virtual void setDataBits (uint32 startBit, uint32 numBits, uint32 value) = 0;\r
+\r
+ /** Gets a byte from the heap. */\r
+ virtual uint8 getDataByte (size_t offset) = 0;\r
+\r
+ //==============================================================================\r
+ struct Renderer\r
+ {\r
+ virtual ~Renderer();\r
+ virtual void renderLEDGrid (LEDGrid&) = 0;\r
+ };\r
+\r
+ /** Set the visualiser that will create visuals for this block (nullptr for none).\r
+ Note that the LEDGrid will NOT take ownership of this object, so the caller\r
+ must ensure that it doesn't get deleted while in use here.\r
+ */\r
+ void setRenderer (Renderer* newRenderer) noexcept { renderer = newRenderer; }\r
+\r
+ /** Returns the visualiser currently attached to this block (nullptr for none). */\r
+ Renderer* getRenderer() const noexcept { return renderer; }\r
+\r
+ /** The device that this LEDGrid belongs to. */\r
+ Block& block;\r
+\r
+private:\r
+ Renderer* renderer = nullptr;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LEDGrid)\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ Represents an LED strip on a device.\r
+*/\r
+class LEDRow\r
+{\r
+public:\r
+ LEDRow (Block&);\r
+\r
+ /** Destructor. */\r
+ virtual ~LEDRow();\r
+\r
+ //==============================================================================\r
+ /** Return the number of LEDs in the row. */\r
+ virtual int getNumLEDs() const = 0;\r
+\r
+ /** Sets the colour of the corresponding LED. */\r
+ virtual void setLEDColour (int index, LEDColour newColour) = 0;\r
+\r
+ /** Overlays all LEDs with a single colour.\r
+\r
+ Whilst the overlay is set subsequent calls to setLEDColour will happen\r
+ *behind* the overlay, and will be invisible to the user until the\r
+ overlay is removed.\r
+ */\r
+ virtual void setOverlayColour (LEDColour newColour) = 0;\r
+\r
+ /* Removes an overlay colour. */\r
+ virtual void resetOverlayColour() = 0;\r
+\r
+ /** The device that these lights belong to. */\r
+ Block& block;\r
+\r
+private:\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LEDRow)\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ Represents a status LED on a device.\r
+*/\r
+class StatusLight\r
+{\r
+public:\r
+ StatusLight (Block&);\r
+\r
+ /** Destructor. */\r
+ virtual ~StatusLight();\r
+\r
+ //==============================================================================\r
+ /** Returns a name to describe this light. */\r
+ virtual juce::String getName() const = 0;\r
+\r
+ /** Changes the light's colour. */\r
+ virtual bool setColour (LEDColour newColour) = 0;\r
+\r
+ /** The device that this LED belongs to. */\r
+ Block& block;\r
+\r
+private:\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StatusLight)\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ Utility class to hold a list of TouchSurface::Touch objects with different\r
+ indices and blockUIDs, where each touch has a mapping to some kind of\r
+ user-supplied data value.\r
+\r
+ The Type template is a user-defined type of object that will be stored for\r
+ each touch element. The type must be default-constructable and copyable.\r
+*/\r
+template <typename Type>\r
+class TouchList\r
+{\r
+public:\r
+ /** Creates an empty touch list. */\r
+ TouchList() {}\r
+\r
+ /** Destructor. */\r
+ ~TouchList() {}\r
+\r
+ /** Returns the number of entries in the touch list. */\r
+ int size() const noexcept { return touches.size(); }\r
+\r
+ /** Returns the user data object that corresponds to the given touch.\r
+ This will also update the stored state of the TouchEntry::touch value\r
+ for this touch index.\r
+ */\r
+ Type& getValue (const TouchSurface::Touch& touch)\r
+ {\r
+ auto* t = find (touch);\r
+\r
+ if (t == nullptr)\r
+ {\r
+ touches.add ({ touch, {} });\r
+ return touches.getReference (touches.size() - 1).value;\r
+ }\r
+ else\r
+ {\r
+ t->touch = touch;\r
+ return t->value;\r
+ }\r
+ }\r
+\r
+ /** Returns true if a touch is already in the list. */\r
+ bool contains (const TouchSurface::Touch& touch) const noexcept\r
+ {\r
+ return find (touch) != nullptr;\r
+ }\r
+\r
+ /** Updates the entry for the given touch, copying in the new state.\r
+ If no entry with the same index and blockUID exists then a new entry is\r
+ created. If given a touch which is a touch-end, this will *remove* any\r
+ corresponding entries from the list.\r
+ */\r
+ void updateTouch (const TouchSurface::Touch& touch)\r
+ {\r
+ if (touch.isTouchEnd)\r
+ {\r
+ for (int i = touches.size(); --i >= 0;)\r
+ if (matches (touches.getReference(i).touch, touch))\r
+ touches.remove (i);\r
+\r
+ jassert (! contains (touch));\r
+ }\r
+ else\r
+ {\r
+ auto t = find (touch);\r
+\r
+ if (t == nullptr)\r
+ touches.add ({ touch, {} });\r
+ else\r
+ t->touch = touch;\r
+ }\r
+ }\r
+\r
+ /** Holds the current state of a touch, along with the user-data associated with it. */\r
+ struct TouchEntry\r
+ {\r
+ TouchSurface::Touch touch;\r
+ Type value;\r
+ };\r
+\r
+ /** If a touch is in the list, returns a pointer to the TouchEntry.\r
+ Otherwise, returns nullptr.\r
+ */\r
+ TouchEntry* find (const TouchSurface::Touch& touch) const noexcept\r
+ {\r
+ for (auto& t : touches)\r
+ if (matches (t.touch, touch))\r
+ return &t;\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ /** Allows iterator access to the list of touch entries. */\r
+ TouchEntry* begin() const noexcept { return touches.begin(); }\r
+\r
+ /** Allows iterator access to the list of touch entries. */\r
+ TouchEntry* end() const noexcept { return touches.end(); }\r
+\r
+ /** Retrieve a reference to particular item in the list of touch entires. */\r
+ TouchEntry& operator[] (const int index) { return touches.getReference (index); }\r
+\r
+ /** Resets all contents, doest not generate any call-backs. */\r
+ void clear() noexcept { touches.clear(); }\r
+\r
+private:\r
+ //==========================================================================\r
+ static bool matches (const TouchSurface::Touch& t1,\r
+ const TouchSurface::Touch& t2) noexcept\r
+ {\r
+ return t1.index == t2.index && t1.blockUID == t2.blockUID;\r
+ }\r
+\r
+ juce::Array<TouchEntry> touches;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TouchList)\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ Represents the touch surface of a BLOCKS device.\r
+*/\r
+class TouchSurface\r
+{\r
+public:\r
+ TouchSurface (Block&);\r
+\r
+ /** Destructor. */\r
+ virtual ~TouchSurface();\r
+\r
+ //==============================================================================\r
+ struct Touch\r
+ {\r
+ /** A touch index, which will stay constant for each finger as it is tracked. */\r
+ int index;\r
+\r
+ /** The X position of this touch on the device, in logical units starting from 0 (left).\r
+\r
+ See Block::getWidth() for the maximum X value on the device.\r
+ */\r
+ float x;\r
+\r
+ /** An approximation of the velocity at which the X value is changing, measured in\r
+ units/second. This is intended as a useful hint to help with gesture detection, but\r
+ may be 0 if the device doesn't provide this data.\r
+ */\r
+ float xVelocity;\r
+\r
+ /** The Y position of this touch on the device, in logical units starting from 0 (top).\r
+\r
+ See Block::getHeight() to find the maximum Y on the device.\r
+ */\r
+ float y;\r
+\r
+ /** An approximation of the velocity at which the Y value is changing, measured in\r
+ units/second. This is intended as a useful hint to help with gesture detection, but\r
+ may be 0 if the device doesn't provide this data.\r
+ */\r
+ float yVelocity;\r
+\r
+ /** The current pressure of this touch, in the range 0.0 (no pressure) to 1.o (very hard). */\r
+ float z;\r
+\r
+ /** The rate at which pressure is currently changing, measured in units/second. This is\r
+ intended as a useful hint to help with gesture detection, but may be 0 if the device\r
+ doesn't provide this data.\r
+ */\r
+ float zVelocity;\r
+\r
+ /** The timestamp of this event, in milliseconds since the device was booted. */\r
+ Block::Timestamp eventTimestamp;\r
+\r
+ /** True if this is the first event for this finger/index. */\r
+ bool isTouchStart;\r
+\r
+ /** True if this is the final event as this finger/index is lifted off. */\r
+ bool isTouchEnd;\r
+\r
+ /** The ID of the block that generated this touch. */\r
+ Block::UID blockUID;\r
+\r
+ /** The initial X position of the touchStart event corresponding to this finger/index. */\r
+ float startX;\r
+\r
+ /** The initial Y position of the touchStart event corresponding to this finger/index. */\r
+ float startY;\r
+ };\r
+\r
+ //==============================================================================\r
+ /** Forces a touch-off message for all active touches. */\r
+ virtual void cancelAllActiveTouches() noexcept = 0;\r
+\r
+ //==============================================================================\r
+ /** Receives callbacks when a touch moves or changes pressure. */\r
+ struct Listener\r
+ {\r
+ virtual ~Listener();\r
+\r
+ virtual void touchChanged (TouchSurface&, const Touch&) = 0;\r
+ };\r
+\r
+ /** Testing feature: this allows you to inject touches onto a touch surface. */\r
+ void callListenersTouchChanged (const TouchSurface::Touch& t)\r
+ {\r
+ listeners.call (&Listener::touchChanged, *this, t);\r
+ }\r
+\r
+ /** Adds a listener to be called when the surface is touched. */\r
+ void addListener (Listener*);\r
+\r
+ /** Removes a previously-registered listener. */\r
+ void removeListener (Listener*);\r
+\r
+ //==============================================================================\r
+ /** The block that owns this touch surface. */\r
+ Block& block;\r
+\r
+protected:\r
+ //==============================================================================\r
+ juce::ListenerList<Listener> listeners;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TouchSurface)\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+#include "juce_blocks_basics.h"\r
+\r
+namespace juce\r
+{\r
+ namespace BlocksProtocol\r
+ {\r
+ #include "protocol/juce_BitPackingUtilities.h"\r
+ #include "protocol/juce_BlocksProtocolDefinitions.h"\r
+ #include "protocol/juce_HostPacketDecoder.h"\r
+ #include "protocol/juce_HostPacketBuilder.h"\r
+ #include "protocol/juce_BlockModels.h"\r
+ }\r
+\r
+ #include "blocks/juce_Block.cpp"\r
+ #include "topology/juce_PhysicalTopologySource.cpp"\r
+ #include "topology/juce_RuleBasedTopologySource.cpp"\r
+ #include "visualisers/juce_DrumPadLEDProgram.cpp"\r
+ #include "visualisers/juce_BitmapLEDProgram.cpp"\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+/*******************************************************************************\r
+ The block below describes the properties of this module, and is read by\r
+ the Projucer to automatically generate project code that uses it.\r
+ For details about the syntax and how to create or use a module, see the\r
+ JUCE Module Format.txt file.\r
+\r
+\r
+ BEGIN_JUCE_MODULE_DECLARATION\r
+\r
+ ID: juce_blocks_basics\r
+ vendor: ROLI\r
+ version: 4.3.0\r
+ name: Provides low-level control over ROLI BLOCKS devices\r
+ description: JUCE wrapper for low-level control over ROLI BLOCKS devices.\r
+ website: http://developer.roli.com\r
+ license: GPL/Commercial\r
+\r
+ dependencies: juce_events juce_audio_devices\r
+\r
+ END_JUCE_MODULE_DECLARATION\r
+\r
+*******************************************************************************/\r
+\r
+\r
+#ifndef JUCE_BLOCKS_BASICS_H_INCLUDED\r
+#define JUCE_BLOCKS_BASICS_H_INCLUDED\r
+\r
+//==============================================================================\r
+#include <juce_events/juce_events.h>\r
+#include <juce_audio_devices/juce_audio_devices.h>\r
+\r
+namespace juce\r
+{\r
+ class TouchSurface;\r
+ class LEDGrid;\r
+ class LEDRow;\r
+ class StatusLight;\r
+ class LightRing;\r
+ class ControlButton;\r
+\r
+ #include "blocks/juce_Block.h"\r
+ #include "blocks/juce_TouchSurface.h"\r
+ #include "blocks/juce_LEDGrid.h"\r
+ #include "blocks/juce_LEDRow.h"\r
+ #include "blocks/juce_ControlButton.h"\r
+ #include "blocks/juce_TouchList.h"\r
+ #include "blocks/juce_StatusLight.h"\r
+ #include "topology/juce_Topology.h"\r
+ #include "topology/juce_TopologySource.h"\r
+ #include "topology/juce_PhysicalTopologySource.h"\r
+ #include "topology/juce_RuleBasedTopologySource.h"\r
+ #include "littlefoot/juce_LittleFootRunner.h"\r
+ #include "littlefoot/juce_LittleFootCompiler.h"\r
+ #include "littlefoot/juce_LittleFootRemoteHeap.h"\r
+ #include "visualisers/juce_DrumPadLEDProgram.h"\r
+ #include "visualisers/juce_BitmapLEDProgram.h"\r
+}\r
+\r
+\r
+#endif // JUCE_BLOCKS_BASICS_H_INCLUDED\r
--- /dev/null
+@verbatim\r
+\r
+This is a brief description of the LittleFoot language syntax\r
+\r
+Littlefoot basically looks like C, but has no pointers, and the only types are:\r
+\r
+- int (32-bit signed integer)\r
+- float (32-bit float)\r
+- bool\r
+\r
+The top-level syntax of a program is a list of global variables and global functions. Order\r
+of declaration isn't important, you can use functions and variables that are declared later\r
+in the file without needing to pre-declare anything.\r
+\r
+Comments are the same format as C/C++/java/etc\r
+\r
+So for example:\r
+\r
+\r
+ // global variables. These are initialised to 0 or false when the program is loaded, and\r
+ // you can't currently provide any other initial values\r
+ int foo, bar;\r
+\r
+ int getTheNextNumber()\r
+ {\r
+ return addTwoNumbers (++foo, 2.0) * 3;\r
+ }\r
+\r
+ float addTwoNumbers (int x, float y)\r
+ {\r
+ return float (x) + y;\r
+ }\r
+\r
+The usual control-flow operators are provided, all with C++ style syntax:\r
+\r
+ if/else\r
+ for\r
+ while\r
+ do...while\r
+ continue\r
+ break\r
+ return\r
+\r
+(There isn't currently a switch statement though)\r
+\r
+Arithmetic ops are the usual suspects, (with the standard operator precedence):\r
+\r
+ +, -, *, /, %\r
+ ||, &&, |, &, |, ~\r
+ ++, --, +=, -=, *=, /=, %=, ^=, |=, &=, ^=\r
+ ==, !=, <, >, <=, >=, !\r
+ <<, >>, <<=, >>=\r
+ Ternary operator (x ? y : z)\r
+\r
+Local variables are declared in C++-style syntax:\r
+\r
+ void foo()\r
+ {\r
+ int x = 123;\r
+ float y = 12.0, z = 1.0e5;\r
+ bool b = y > 20.0;\r
+ }\r
+\r
+Casts of primitive types are done with function-style syntax, e.g.\r
+\r
+ int x = int (123.0);\r
+ float f = float (getIntegerValue());\r
+\r
+The program communicates with the host computer by using a shared area of memory\r
+called the heap which the host can change. There are some built-in functions\r
+available for the program to use to read from the heap:\r
+\r
+ int getHeapByte (int byteIndex); // reads a single byte from the heap\r
+ int getHeapInt (int byteIndex); // reads 4 bytes from the heap as an integer\r
+ int getHeapBits (int startBitIndex, int numBits); // reads a sequence of bits from the heap and returns it as an integer\r
+ void setHeapByte (int byteIndex, int newValue); // writes a single byte to the heap\r
+ void setHeapInt (int byteIndex, int newValue); // writes 4 bytes to the heap\r
+\r
+Depending on the context, there will also be some built-in functions that the\r
+program can use to do what it needs to do. Currently in the standard Pad BLOCK program,\r
+you have the following functions available:\r
+\r
+ int makeARGB (int alpha, int red, int green, int blue); // combines a set of 8-bit ARGB values into a 32-bit colour\r
+ int blendARGB (int baseColour, int overlaidColour); // blends the overlaid ARGB colour onto the base one and returns the new colour\r
+ void setLED (int x, int y, int argb); // sets a LED colour on the display\r
+ void fillRect (int argb, int x, int y, int width, int height); // fills a rectangle on the display\r
+\r
+A BLOCKs program needs to provide a repaint() function which the block will call\r
+at approximately 25Hz to draw the display. For example, here's a simple program that\r
+draws a moving rectangle:\r
+\r
+ int rectangleX;\r
+\r
+ void repaint()\r
+ {\r
+ fillRect (0xff000044, 0, 0, 15, 15); // fill the display with dark blue\r
+ fillRect (0xffffffff, rectangleX, 5, 4, 4); // draw a white rectangle\r
+\r
+ rectangleX = (rectangleX + 1) % 15; // animate our position and make it wrap\r
+ }\r
+\r
+The host can also send simple event messages to the program, and to receive these you must\r
+provide a function called "handleMessage", e.g.\r
+\r
+ void handleMessage (int param1, int param2)\r
+ {\r
+ // do something with the two integer parameters that the app has sent...\r
+ }\r
+\r
+@endverbatim\r
+\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+namespace littlefoot\r
+{\r
+\r
+using namespace juce;\r
+\r
+/**\r
+ This class compiles littlefoot source code into a littlefoot::Program object\r
+ which can be executed by a littlefoot::Runner.\r
+*/\r
+struct Compiler\r
+{\r
+ Compiler() {}\r
+\r
+ /**\r
+ */\r
+ void addNativeFunctions (const char* const* functionPrototypes)\r
+ {\r
+ for (; *functionPrototypes != nullptr; ++functionPrototypes)\r
+ nativeFunctions.add (NativeFunction (*functionPrototypes, nullptr));\r
+ }\r
+\r
+ /**\r
+ */\r
+ template <typename RunnerType>\r
+ void addNativeFunctions (const RunnerType& runner)\r
+ {\r
+ for (int i = 0; i < runner.getNumNativeFunctions(); ++i)\r
+ nativeFunctions.add (runner.getNativeFunction (i));\r
+ }\r
+\r
+ /**\r
+ */\r
+ Result compile (const String& sourceCode, uint32 heapSizeBytesRequired)\r
+ {\r
+ try\r
+ {\r
+ SyntaxTreeBuilder stb (sourceCode);\r
+ stb.compile();\r
+ stb.simplify();\r
+\r
+ compiledObjectCode.clear();\r
+\r
+ CodeGenerator codeGen (compiledObjectCode, nativeFunctions, stb.functions);\r
+ codeGen.generateCode (stb.blockBeingParsed, (heapSizeBytesRequired + 3) & ~3u);\r
+ return Result::ok();\r
+ }\r
+ catch (String error)\r
+ {\r
+ return Result::fail (error);\r
+ }\r
+ }\r
+\r
+ /**\r
+ */\r
+ Array<uint8> compiledObjectCode;\r
+\r
+private:\r
+ struct Statement;\r
+ struct Expression;\r
+ struct BlockStatement;\r
+ struct Function;\r
+ struct AllocatedObject { virtual ~AllocatedObject() noexcept {} };\r
+ using StatementPtr = Statement*;\r
+ using ExpPtr = Expression*;\r
+ using BlockPtr = BlockStatement*;\r
+ using TokenType = const char*;\r
+\r
+ #define LITTLEFOOT_KEYWORDS(X) \\r
+ X(if_, "if") X(else_, "else") X(do_, "do") \\r
+ X(while_, "while") X(for_, "for") X(break_, "break") X(continue_, "continue") \\r
+ X(void_, "void") X(int_, "int") X(float_, "float") X(bool_, "bool") \\r
+ X(return_, "return") X(true_, "true") X(false_, "false")\r
+\r
+ #define LITTLEFOOT_OPERATORS(X) \\r
+ X(semicolon, ";") X(dot, ".") X(comma, ",") \\r
+ X(openParen, "(") X(closeParen, ")") X(openBrace, "{") X(closeBrace, "}") \\r
+ X(openBracket, "[") X(closeBracket, "]") X(colon, ":") X(question, "?") \\r
+ X(equals, "==") X(assign, "=") X(notEquals, "!=") X(logicalNot, "!") \\r
+ X(plusEquals, "+=") X(plusplus, "++") X(plus, "+") \\r
+ X(minusEquals, "-=") X(minusminus, "--") X(minus, "-") \\r
+ X(timesEquals, "*=") X(times, "*") X(divideEquals, "/=") X(divide, "/") \\r
+ X(moduloEquals, "%=") X(modulo, "%") X(xorEquals, "^=") X(bitwiseXor, "^") X(bitwiseNot, "~") \\r
+ X(andEquals, "&=") X(logicalAnd, "&&") X(bitwiseAnd, "&") \\r
+ X(orEquals, "|=") X(logicalOr, "||") X(bitwiseOr, "|") \\r
+ X(leftShiftEquals, "<<=") X(lessThanOrEqual, "<=") X(leftShift, "<<") X(lessThan, "<") \\r
+ X(rightShiftUnsigned, ">>>") X(rightShiftEquals, ">>=") X(rightShift, ">>") X(greaterThanOrEqual, ">=") X(greaterThan, ">")\r
+\r
+ struct Token\r
+ {\r
+ #define DECLARE_LITTLEFOOT_TOKEN(name, str) static constexpr const char* name = str;\r
+ LITTLEFOOT_KEYWORDS (DECLARE_LITTLEFOOT_TOKEN)\r
+ LITTLEFOOT_OPERATORS (DECLARE_LITTLEFOOT_TOKEN)\r
+ DECLARE_LITTLEFOOT_TOKEN (eof, "$eof")\r
+ DECLARE_LITTLEFOOT_TOKEN (literal, "$literal")\r
+ DECLARE_LITTLEFOOT_TOKEN (identifier, "$identifier")\r
+ };\r
+\r
+ Array<NativeFunction> nativeFunctions;\r
+\r
+ //==============================================================================\r
+ struct CodeLocation\r
+ {\r
+ CodeLocation (const String& code) noexcept : program (code), location (program.getCharPointer()) {}\r
+ CodeLocation (const CodeLocation& other) noexcept : program (other.program), location (other.location) {}\r
+\r
+ void throwError (const String& message) const\r
+ {\r
+ int col = 1, line = 1;\r
+\r
+ for (auto i = program.getCharPointer(); i < location && ! i.isEmpty(); ++i)\r
+ {\r
+ ++col;\r
+ if (*i == '\n') { col = 1; ++line; }\r
+ }\r
+\r
+ throw "Line " + String (line) + ", column " + String (col) + " : " + message;\r
+ }\r
+\r
+ String program;\r
+ String::CharPointerType location;\r
+ };\r
+\r
+ //==============================================================================\r
+ struct TokenIterator\r
+ {\r
+ TokenIterator (const String& code) : location (code), p (code.getCharPointer()) { skip(); }\r
+\r
+ TokenType skip()\r
+ {\r
+ skipWhitespaceAndComments();\r
+ location.location = p;\r
+ auto last = currentType;\r
+ currentType = matchNextToken();\r
+ return last;\r
+ }\r
+\r
+ void match (TokenType expected)\r
+ {\r
+ if (currentType != expected)\r
+ throwErrorExpecting (getTokenDescription (expected));\r
+\r
+ skip();\r
+ }\r
+\r
+ bool matchIf (TokenType expected) { if (currentType == expected) { skip(); return true; } return false; }\r
+\r
+ template <typename... Args>\r
+ bool matchesAny (TokenType t1, Args... others) const noexcept { return currentType == t1 || matchesAny (others...); }\r
+ bool matchesAny (TokenType t1) const noexcept { return currentType == t1; }\r
+\r
+ CodeLocation location;\r
+ TokenType currentType;\r
+ var currentValue;\r
+\r
+ void throwErrorExpecting (const String& expected) { location.throwError ("Found " + getTokenDescription (currentType) + " when expecting " + expected); }\r
+\r
+ private:\r
+ String::CharPointerType p;\r
+\r
+ static bool isIdentifierStart (const juce_wchar c) noexcept { return CharacterFunctions::isLetter (c) || c == '_'; }\r
+ static bool isIdentifierBody (const juce_wchar c) noexcept { return CharacterFunctions::isLetterOrDigit (c) || c == '_'; }\r
+\r
+ TokenType matchNextToken()\r
+ {\r
+ if (isIdentifierStart (*p))\r
+ {\r
+ String::CharPointerType end (p);\r
+ while (isIdentifierBody (*++end)) {}\r
+\r
+ const size_t len = (size_t) (end - p);\r
+ #define LITTLEFOOT_COMPARE_KEYWORD(name, str) if (len == sizeof (str) - 1 && matchToken (Token::name, len)) return Token::name;\r
+ LITTLEFOOT_KEYWORDS (LITTLEFOOT_COMPARE_KEYWORD)\r
+\r
+ currentValue = String (p, end); p = end;\r
+ return Token::identifier;\r
+ }\r
+\r
+ if (p.isDigit())\r
+ {\r
+ if (parseHexLiteral() || parseFloatLiteral() || parseOctalLiteral() || parseDecimalLiteral())\r
+ return Token::literal;\r
+\r
+ location.throwError ("Syntax error in numeric constant");\r
+ }\r
+\r
+ if (parseStringLiteral (*p) || (*p == '.' && parseFloatLiteral()))\r
+ return Token::literal;\r
+\r
+ #define LITTLEFOOT_COMPARE_OPERATOR(name, str) if (matchToken (Token::name, sizeof (str) - 1)) return Token::name;\r
+ LITTLEFOOT_OPERATORS (LITTLEFOOT_COMPARE_OPERATOR)\r
+\r
+ if (! p.isEmpty())\r
+ location.throwError ("Unexpected character '" + String::charToString (*p) + "' in source");\r
+\r
+ return Token::eof;\r
+ }\r
+\r
+ bool matchToken (TokenType name, const size_t len) noexcept\r
+ {\r
+ if (p.compareUpTo (CharPointer_ASCII (name), (int) len) != 0) return false;\r
+ p += (int) len; return true;\r
+ }\r
+\r
+ void skipWhitespaceAndComments()\r
+ {\r
+ for (;;)\r
+ {\r
+ p = p.findEndOfWhitespace();\r
+\r
+ if (*p == '/')\r
+ {\r
+ const juce_wchar c2 = p[1];\r
+\r
+ if (c2 == '/') { p = CharacterFunctions::find (p, (juce_wchar) '\n'); continue; }\r
+\r
+ if (c2 == '*')\r
+ {\r
+ location.location = p;\r
+ p = CharacterFunctions::find (p + 2, CharPointer_ASCII ("*/"));\r
+ if (p.isEmpty()) location.throwError ("Unterminated '/*' comment");\r
+ p += 2; continue;\r
+ }\r
+ }\r
+\r
+ break;\r
+ }\r
+ }\r
+\r
+ bool parseStringLiteral (juce_wchar quoteType)\r
+ {\r
+ if (quoteType != '"' && quoteType != '\'')\r
+ return false;\r
+\r
+ auto r = JSON::parseQuotedString (p, currentValue);\r
+ if (r.failed()) location.throwError (r.getErrorMessage());\r
+ return true;\r
+ }\r
+\r
+ bool parseHexLiteral()\r
+ {\r
+ if (*p != '0' || (p[1] != 'x' && p[1] != 'X')) return false;\r
+\r
+ auto t = ++p;\r
+ auto v = CharacterFunctions::getHexDigitValue (*++t);\r
+ if (v < 0) return false;\r
+\r
+ for (;;)\r
+ {\r
+ auto digit = CharacterFunctions::getHexDigitValue (*++t);\r
+ if (digit < 0) break;\r
+ v = v * 16 + digit;\r
+ }\r
+\r
+ currentValue = v; p = t;\r
+ return true;\r
+ }\r
+\r
+ bool parseFloatLiteral()\r
+ {\r
+ int numDigits = 0;\r
+ auto t = p;\r
+ while (t.isDigit()) { ++t; ++numDigits; }\r
+\r
+ const bool hasPoint = (*t == '.');\r
+\r
+ if (hasPoint)\r
+ while ((++t).isDigit()) ++numDigits;\r
+\r
+ if (numDigits == 0)\r
+ return false;\r
+\r
+ auto c = *t;\r
+ const bool hasExponent = (c == 'e' || c == 'E');\r
+\r
+ if (hasExponent)\r
+ {\r
+ c = *++t;\r
+ if (c == '+' || c == '-') ++t;\r
+ if (! t.isDigit()) return false;\r
+ while ((++t).isDigit()) {}\r
+ }\r
+\r
+ if (! (hasExponent || hasPoint)) return false;\r
+\r
+ currentValue = CharacterFunctions::getDoubleValue (p); p = t;\r
+ return true;\r
+ }\r
+\r
+ bool parseOctalLiteral()\r
+ {\r
+ String::CharPointerType t (p);\r
+ int64 v = *t - '0';\r
+ if (v != 0) return false; // first digit of octal must be 0\r
+\r
+ for (;;)\r
+ {\r
+ auto digit = (int) (*++t - '0');\r
+ if (isPositiveAndBelow (digit, 8)) v = v * 8 + digit;\r
+ else if (isPositiveAndBelow (digit, 10)) location.throwError ("Decimal digit in octal constant");\r
+ else break;\r
+ }\r
+\r
+ currentValue = v; p = t;\r
+ return true;\r
+ }\r
+\r
+ bool parseDecimalLiteral()\r
+ {\r
+ int64 v = 0;\r
+\r
+ for (;; ++p)\r
+ {\r
+ auto digit = (int) (*p - '0');\r
+ if (isPositiveAndBelow (digit, 10)) v = v * 10 + digit;\r
+ else break;\r
+ }\r
+\r
+ currentValue = v;\r
+ return true;\r
+ }\r
+ };\r
+\r
+ //==============================================================================\r
+ //==============================================================================\r
+ struct SyntaxTreeBuilder : private TokenIterator\r
+ {\r
+ SyntaxTreeBuilder (const String& code) : TokenIterator (code) {}\r
+\r
+ void compile()\r
+ {\r
+ blockBeingParsed = allocate<BlockStatement> (location, nullptr, nullptr, false);\r
+\r
+ while (currentType != Token::eof)\r
+ {\r
+ if (! matchesAnyTypeOrVoid())\r
+ throwErrorExpecting ("a global variable or function");\r
+\r
+ auto type = tokenToType (skip());\r
+ auto name = parseIdentifier();\r
+\r
+ if (matchIf (Token::openParen))\r
+ {\r
+ parseFunctionDeclaration (type, name);\r
+ continue;\r
+ }\r
+\r
+ if (type == Type::void_)\r
+ location.throwError ("A variable type cannot be 'void'");\r
+\r
+ int arraySize = matchIf (Token::openBracket) ? parseArraySize() : 0;\r
+\r
+ if (arraySize > 0)\r
+ location.throwError ("Arrays not yet implemented!");\r
+\r
+ while (matchIf (Token::comma))\r
+ {\r
+ blockBeingParsed->addVariable (name, type, location);\r
+ name = parseIdentifier();\r
+ }\r
+\r
+ blockBeingParsed->addVariable (name, type, location);\r
+ match (Token::semicolon);\r
+ }\r
+ }\r
+\r
+ void simplify()\r
+ {\r
+ for (auto f : functions)\r
+ f->block->simplify (*this);\r
+ }\r
+\r
+ //==============================================================================\r
+ BlockPtr blockBeingParsed = nullptr;\r
+ Array<Function*> functions;\r
+\r
+ template <typename Type, typename... Args>\r
+ Type* allocate (Args... args) { auto o = new Type (args...); allAllocatedObjects.add (o); return o; }\r
+\r
+ private:\r
+ OwnedArray<AllocatedObject> allAllocatedObjects;\r
+\r
+ //==============================================================================\r
+ void parseFunctionDeclaration (Type returnType, const String& name)\r
+ {\r
+ auto f = allocate<Function>();\r
+ functions.add (f);\r
+\r
+ while (matchesAnyType())\r
+ {\r
+ auto type = tokenToType (skip());\r
+ f->arguments.add ({ parseIdentifier(), type });\r
+\r
+ if (f->arguments.size() > 127)\r
+ location.throwError ("Too many function arguments");\r
+\r
+ if (currentType == Token::closeParen)\r
+ break;\r
+\r
+ match (Token::comma);\r
+ }\r
+\r
+ match (Token::closeParen);\r
+ f->functionID = createFunctionID (name, returnType, f->getArgumentTypes());\r
+ f->block = parseBlock (true);\r
+ f->returnType = returnType;\r
+\r
+ if (! f->block->alwaysReturns())\r
+ {\r
+ if (returnType != Type::void_)\r
+ location.throwError ("This function must return a value");\r
+\r
+ f->block->statements.add (allocate<ReturnStatement> (location, f->block, nullptr));\r
+ }\r
+ }\r
+\r
+ int parseArraySize()\r
+ {\r
+ auto e = parseExpression();\r
+ e->simplify (*this);\r
+\r
+ if (auto literal = dynamic_cast<LiteralValue*> (e))\r
+ {\r
+ if (literal->value.isInt() || literal->value.isInt64())\r
+ {\r
+ auto value = static_cast<int> (literal->value);\r
+\r
+ if (value > 0)\r
+ return value;\r
+ }\r
+ }\r
+\r
+ location.throwError ("An array size must be a constant integer");\r
+ return 0;\r
+ }\r
+\r
+ BlockPtr parseBlock (bool isMainBlockOfFunction)\r
+ {\r
+ match (Token::openBrace);\r
+ auto b = allocate<BlockStatement> (location, blockBeingParsed, functions.getLast(), isMainBlockOfFunction);\r
+ auto lastBlock = blockBeingParsed;\r
+ blockBeingParsed = b;\r
+\r
+ while (! matchIf (Token::closeBrace))\r
+ b->statements.add (parseStatement());\r
+\r
+ blockBeingParsed = lastBlock;\r
+ return b;\r
+ }\r
+\r
+ StatementPtr parseStatement()\r
+ {\r
+ if (currentType == Token::openBrace) return parseBlock (false);\r
+ if (matchIf (Token::if_)) return parseIf();\r
+ if (matchIf (Token::while_)) return parseDoOrWhileLoop (false);\r
+ if (matchIf (Token::do_)) return parseDoOrWhileLoop (true);\r
+ if (matchIf (Token::for_)) return parseForLoop();\r
+ if (matchIf (Token::return_)) return parseReturn();\r
+ if (matchIf (Token::break_)) return matchEndOfStatement (allocate<BreakStatement> (location, blockBeingParsed));\r
+ if (matchIf (Token::continue_)) return matchEndOfStatement (allocate<ContinueStatement> (location, blockBeingParsed));\r
+ if (matchIf (Token::semicolon)) return matchEndOfStatement (allocate<Statement> (location, blockBeingParsed));\r
+ if (matchIf (Token::plusplus)) return matchEndOfStatement (parsePreIncDec (Token::plus));\r
+ if (matchIf (Token::minusminus)) return matchEndOfStatement (parsePreIncDec (Token::minus));\r
+ if (matchesAny (Token::openParen)) return matchEndOfStatement (parseFactor());\r
+ if (matchesAnyType()) return parseVariableDeclaration (tokenToType (skip()));\r
+\r
+ if (matchesAny (Token::identifier, Token::literal, Token::minus))\r
+ return matchEndOfStatement (parseExpression());\r
+\r
+ throwErrorExpecting ("a statement");\r
+ return nullptr;\r
+ }\r
+\r
+ ExpPtr parseExpression()\r
+ {\r
+ auto lhs = parseLogicOperator();\r
+\r
+ if (matchIf (Token::question)) return parseTerneryOperator (lhs);\r
+ if (matchIf (Token::plusEquals)) return parseInPlaceOpExpression (lhs, Token::plus);\r
+ if (matchIf (Token::minusEquals)) return parseInPlaceOpExpression (lhs, Token::minus);\r
+ if (matchIf (Token::timesEquals)) return parseInPlaceOpExpression (lhs, Token::times);\r
+ if (matchIf (Token::divideEquals)) return parseInPlaceOpExpression (lhs, Token::divide);\r
+ if (matchIf (Token::moduloEquals)) return parseInPlaceOpExpression (lhs, Token::modulo);\r
+ if (matchIf (Token::leftShiftEquals)) return parseInPlaceOpExpression (lhs, Token::leftShift);\r
+ if (matchIf (Token::rightShiftEquals)) return parseInPlaceOpExpression (lhs, Token::rightShift);\r
+\r
+ if (matchIf (Token::assign))\r
+ {\r
+ auto loc = location;\r
+ return allocate<Assignment> (loc, blockBeingParsed, getIdentifierFromExpression (lhs), parseExpression(), false);\r
+ }\r
+\r
+ return lhs;\r
+ }\r
+\r
+ ExpPtr parseTerneryOperator (ExpPtr condition)\r
+ {\r
+ auto e = allocate<TerneryOp> (location, blockBeingParsed);\r
+ e->condition = condition;\r
+ e->trueBranch = parseExpression();\r
+ match (Token::colon);\r
+ e->falseBranch = parseExpression();\r
+ return e;\r
+ }\r
+\r
+ ExpPtr parseLogicOperator()\r
+ {\r
+ for (auto a = parseComparator();;)\r
+ {\r
+ if (! matchesAny (Token::logicalAnd, Token::logicalOr, Token::bitwiseOr,\r
+ Token::bitwiseAnd, Token::bitwiseXor))\r
+ return a;\r
+\r
+ auto loc = location;\r
+ auto type = skip();\r
+ a = allocate<BinaryOperator> (loc, blockBeingParsed, a, parseComparator(), type);\r
+ }\r
+ }\r
+\r
+ ExpPtr parseComparator()\r
+ {\r
+ for (auto a = parseShiftOperator();;)\r
+ {\r
+ if (! matchesAny (Token::equals, Token::notEquals, Token::lessThan,\r
+ Token::lessThanOrEqual, Token::greaterThan, Token::greaterThanOrEqual))\r
+ return a;\r
+\r
+ auto loc = location;\r
+ auto type = skip();\r
+ a = allocate<BinaryOperator> (loc, blockBeingParsed, a, parseShiftOperator(), type);\r
+ }\r
+ }\r
+\r
+ ExpPtr parseShiftOperator()\r
+ {\r
+ for (auto a = parseAdditionSubtraction();;)\r
+ {\r
+ if (! matchesAny (Token::leftShift, Token::rightShift, Token::rightShiftUnsigned))\r
+ return a;\r
+\r
+ auto loc = location;\r
+ auto type = skip();\r
+ a = allocate<BinaryOperator> (loc, blockBeingParsed, a, parseExpression(), type);\r
+ }\r
+ }\r
+\r
+ ExpPtr parseAdditionSubtraction()\r
+ {\r
+ for (auto a = parseMultiplyDivide();;)\r
+ {\r
+ if (! matchesAny (Token::plus, Token::minus))\r
+ return a;\r
+\r
+ auto loc = location;\r
+ auto type = skip();\r
+ a = allocate<BinaryOperator> (loc, blockBeingParsed, a, parseMultiplyDivide(), type);\r
+ }\r
+ }\r
+\r
+ ExpPtr parseMultiplyDivide()\r
+ {\r
+ for (auto a = parseUnary();;)\r
+ {\r
+ if (! matchesAny (Token::times, Token::divide, Token::modulo))\r
+ return a;\r
+\r
+ auto loc = location;\r
+ auto type = skip();\r
+ a = allocate<BinaryOperator> (loc, blockBeingParsed, a, parseUnary(), type);\r
+ }\r
+ }\r
+\r
+ ExpPtr parseUnary()\r
+ {\r
+ if (matchIf (Token::plusplus)) return parsePreIncDec (Token::plus);\r
+ if (matchIf (Token::minusminus)) return parsePreIncDec (Token::minus);\r
+\r
+ if (matchesAny (Token::minus, Token::logicalNot, Token::bitwiseNot))\r
+ {\r
+ auto loc = location;\r
+ auto type = skip();\r
+ return allocate<UnaryOp> (loc, blockBeingParsed, parseUnary(), type);\r
+ }\r
+\r
+ return parseFactor();\r
+ }\r
+\r
+ ExpPtr parseFactor()\r
+ {\r
+ if (currentType == Token::identifier) return parseSuffixes (allocate<Identifier> (location, blockBeingParsed, parseIdentifier()));\r
+ if (matchIf (Token::openParen)) return parseSuffixes (matchCloseParen (parseExpression()));\r
+ if (matchIf (Token::true_)) return parseSuffixes (allocate<LiteralValue> (location, blockBeingParsed, (int) 1));\r
+ if (matchIf (Token::false_)) return parseSuffixes (allocate<LiteralValue> (location, blockBeingParsed, (int) 0));\r
+\r
+ if (currentType == Token::literal)\r
+ {\r
+ auto lit = allocate<LiteralValue> (location, blockBeingParsed, currentValue);\r
+ skip();\r
+ return parseSuffixes (lit);\r
+ }\r
+\r
+ if (matchesAny (Token::int_, Token::float_, Token::bool_))\r
+ return parseSuffixes (parseFunctionCall (skip()));\r
+\r
+ throwErrorExpecting ("an expression");\r
+ return nullptr;\r
+ }\r
+\r
+ ExpPtr parseSuffixes (ExpPtr input)\r
+ {\r
+ if (currentType == Token::openParen)\r
+ {\r
+ if (auto functionName = dynamic_cast<Identifier*> (input))\r
+ return parseSuffixes (parseFunctionCall (functionName->name));\r
+\r
+ location.throwError ("Malformed function call");\r
+ return {};\r
+ }\r
+\r
+ if (matchIf (Token::openBracket))\r
+ {\r
+ auto s = allocate<ArraySubscript> (location, blockBeingParsed);\r
+ s->object = input;\r
+ s->index = parseExpression();\r
+ match (Token::closeBracket);\r
+ return parseSuffixes (s);\r
+ }\r
+\r
+ if (matchIf (Token::plusplus)) return parsePostIncDec (input, Token::plus);\r
+ if (matchIf (Token::minusminus)) return parsePostIncDec (input, Token::minus);\r
+\r
+ return input;\r
+ }\r
+\r
+ ExpPtr parseInPlaceOpExpression (ExpPtr lhs, TokenType opType)\r
+ {\r
+ auto loc = location;\r
+ auto rhs = parseExpression();\r
+ return allocate<Assignment> (loc, blockBeingParsed, getIdentifierFromExpression (lhs),\r
+ allocate<BinaryOperator> (location, blockBeingParsed, lhs, rhs, opType), false);\r
+ }\r
+\r
+ ExpPtr parsePreIncDec (TokenType opType)\r
+ {\r
+ auto lhs = parseFactor();\r
+ auto one = allocate<LiteralValue> (location, blockBeingParsed, (int) 1);\r
+ return allocate<Assignment> (location, blockBeingParsed, getIdentifierFromExpression (lhs),\r
+ allocate<BinaryOperator> (location, blockBeingParsed, lhs, one, opType), false);\r
+ }\r
+\r
+ ExpPtr parsePostIncDec (ExpPtr lhs, TokenType opType)\r
+ {\r
+ auto one = allocate<LiteralValue> (location, blockBeingParsed, (int) 1);\r
+ return allocate<Assignment> (location, blockBeingParsed, getIdentifierFromExpression (lhs),\r
+ allocate<BinaryOperator> (location, blockBeingParsed, lhs, one, opType), true);\r
+ }\r
+\r
+ StatementPtr parseIf()\r
+ {\r
+ auto s = allocate<IfStatement> (location, blockBeingParsed);\r
+ match (Token::openParen);\r
+ s->condition = matchCloseParen (parseExpression());\r
+ s->trueBranch = parseStatement();\r
+ s->falseBranch = matchIf (Token::else_) ? parseStatement() : nullptr;\r
+ return s;\r
+ }\r
+\r
+ StatementPtr parseReturn()\r
+ {\r
+ auto value = matchIf (Token::semicolon) ? nullptr : parseExpression();\r
+ auto returnStatement = allocate<ReturnStatement> (location, blockBeingParsed, value);\r
+ matchIf (Token::semicolon);\r
+ return returnStatement;\r
+ }\r
+\r
+ StatementPtr parseVariableDeclaration (Type type)\r
+ {\r
+ for (StatementPtr result = nullptr;;)\r
+ {\r
+ auto name = parseIdentifier();\r
+ auto loc = location;\r
+ blockBeingParsed->addVariable (name, type, loc);\r
+\r
+ auto assignedValue = matchIf (Token::assign) ? parseExpression() : nullptr;\r
+\r
+ if (auto literal = dynamic_cast<LiteralValue*> (assignedValue))\r
+ if (static_cast<double> (literal->value) == 0)\r
+ assignedValue = nullptr;\r
+\r
+ if (assignedValue != nullptr || ! blockBeingParsed->isMainBlockOfFunction) // no need to assign 0 for variables in the outer scope\r
+ {\r
+ if (assignedValue == nullptr)\r
+ assignedValue = allocate<LiteralValue> (loc, blockBeingParsed, (int) 0);\r
+\r
+ auto assignment = allocate<Assignment> (loc, blockBeingParsed, name, assignedValue, false);\r
+\r
+ if (result == nullptr)\r
+ {\r
+ result = assignment;\r
+ }\r
+ else\r
+ {\r
+ auto block = dynamic_cast<BlockPtr> (result);\r
+\r
+ if (block == nullptr)\r
+ {\r
+ block = allocate<BlockStatement> (loc, blockBeingParsed, functions.getLast(), false);\r
+ block->statements.add (result);\r
+ result = block;\r
+ }\r
+\r
+ block->statements.add (assignment);\r
+ }\r
+ }\r
+\r
+ if (matchIf (Token::semicolon))\r
+ return result != nullptr ? result : allocate<Statement> (location, blockBeingParsed);\r
+\r
+ match (Token::comma);\r
+ }\r
+ }\r
+\r
+ StatementPtr parseForLoop()\r
+ {\r
+ auto oldBlock = blockBeingParsed;\r
+ auto block = allocate<BlockStatement> (location, oldBlock, functions.getLast(), false);\r
+ blockBeingParsed = block;\r
+ auto loopStatement = allocate<LoopStatement> (location, blockBeingParsed, false);\r
+ block->statements.add (loopStatement);\r
+ match (Token::openParen);\r
+\r
+ loopStatement->initialiser = parseStatement();\r
+ loopStatement->condition = matchIf (Token::semicolon) ? allocate<LiteralValue> (location, blockBeingParsed, true)\r
+ : matchEndOfStatement (parseExpression());\r
+ loopStatement->iterator = matchIf (Token::closeParen) ? allocate<Statement> (location, blockBeingParsed)\r
+ : matchCloseParen (parseExpression());\r
+ loopStatement->body = parseStatement();\r
+\r
+ blockBeingParsed = oldBlock;\r
+ return block;\r
+ }\r
+\r
+ StatementPtr parseDoOrWhileLoop (bool isDoLoop)\r
+ {\r
+ auto loopStatement = allocate<LoopStatement> (location, blockBeingParsed, isDoLoop);\r
+ loopStatement->initialiser = allocate<Statement> (location, blockBeingParsed);\r
+ loopStatement->iterator = allocate<Statement> (location, blockBeingParsed);\r
+\r
+ if (isDoLoop)\r
+ {\r
+ loopStatement->body = parseBlock (false);\r
+ match (Token::while_);\r
+ }\r
+\r
+ match (Token::openParen);\r
+ loopStatement->condition = matchCloseParen (parseExpression());\r
+\r
+ if (! isDoLoop)\r
+ loopStatement->body = parseStatement();\r
+\r
+ return loopStatement;\r
+ }\r
+\r
+ String parseIdentifier()\r
+ {\r
+ String name = currentValue.toString();\r
+ match (Token::identifier);\r
+ return name;\r
+ }\r
+\r
+ String getIdentifierFromExpression (ExpPtr e)\r
+ {\r
+ if (auto i = dynamic_cast<Identifier*> (e))\r
+ return i->name;\r
+\r
+ location.throwError ("This operator requires an assignable variable");\r
+ return {};\r
+ }\r
+\r
+ ExpPtr parseFunctionCall (const String& name)\r
+ {\r
+ auto call = allocate<FunctionCall> (location, blockBeingParsed);\r
+ call->functionName = name;\r
+ match (Token::openParen);\r
+\r
+ while (currentType != Token::closeParen)\r
+ {\r
+ call->arguments.add (parseExpression());\r
+\r
+ if (currentType == Token::closeParen)\r
+ break;\r
+\r
+ match (Token::comma);\r
+ }\r
+\r
+ return matchCloseParen (call);\r
+ }\r
+\r
+ bool matchesAnyType() const noexcept { return matchesAny (Token::int_, Token::float_, Token::bool_); }\r
+ bool matchesAnyTypeOrVoid() const noexcept { return matchesAnyType() || currentType == Token::void_; }\r
+ ExpPtr matchCloseParen (ExpPtr e) { match (Token::closeParen); return e; }\r
+ template<typename ExpType> ExpType matchEndOfStatement (ExpType e) { match (Token::semicolon); return e; }\r
+ };\r
+\r
+ //==============================================================================\r
+ //==============================================================================\r
+ struct CodeGenerator\r
+ {\r
+ CodeGenerator (Array<uint8>& output, const Array<NativeFunction>& nativeFns, const Array<Function*>& fns)\r
+ : outputCode (output), nativeFunctions (nativeFns), functions (fns) {}\r
+\r
+ void generateCode (BlockPtr outerBlock, uint32 heapSizeBytesRequired)\r
+ {\r
+ for (auto f : functions)\r
+ {\r
+ f->address = createMarker();\r
+ f->unwindAddress = createMarker();\r
+ }\r
+\r
+ emit ((int16) 0); // checksum\r
+ emit ((int16) 0); // size\r
+ emit ((int16) functions.size());\r
+ emit ((int16) outerBlock->variables.size());\r
+ emit ((int16) heapSizeBytesRequired);\r
+\r
+ for (auto f : functions)\r
+ emit (f->functionID, f->address);\r
+\r
+ for (auto f : functions)\r
+ f->emit (*this);\r
+\r
+ resolveMarkers();\r
+\r
+ Program::writeInt16 (outputCode.begin() + 2, (int16) outputCode.size());\r
+ const Program program (outputCode.begin(), (uint32) outputCode.size());\r
+ Program::writeInt16 (outputCode.begin(), (int16) program.calculateChecksum());\r
+ jassert (program.checksumMatches());\r
+ }\r
+\r
+ //==============================================================================\r
+ Array<uint8>& outputCode;\r
+ const Array<NativeFunction>& nativeFunctions;\r
+ const Array<Function*>& functions;\r
+\r
+ struct Marker { int index = 0; };\r
+ struct MarkerAndAddress { int markerIndex, address; };\r
+\r
+ int nextMarker = 0;\r
+ Array<MarkerAndAddress> markersToResolve, resolvedMarkers;\r
+\r
+ Marker createMarker() noexcept { Marker m; m.index = ++nextMarker; return m; }\r
+ void attachMarker (Marker m) { resolvedMarkers.add ({ m.index, outputCode.size() }); }\r
+\r
+ int getResolvedMarkerAddress (int markerIndex) const\r
+ {\r
+ for (auto m : resolvedMarkers)\r
+ if (m.markerIndex == markerIndex)\r
+ return m.address;\r
+\r
+ jassertfalse;\r
+ return 0;\r
+ }\r
+\r
+ void resolveMarkers()\r
+ {\r
+ for (auto m : markersToResolve)\r
+ Program::writeInt16 (outputCode.begin() + m.address, (int16) getResolvedMarkerAddress (m.markerIndex));\r
+ }\r
+\r
+ Marker breakTarget, continueTarget;\r
+\r
+ //==============================================================================\r
+ void emit (OpCode op) { emit ((int8) op); }\r
+ void emit (Marker m) { markersToResolve.add ({ m.index, outputCode.size() }); emit ((int16) 0); }\r
+ void emit (int8 value) { outputCode.add ((uint8) value); }\r
+ void emit (int16 value) { uint8 d[2]; Program::writeInt16 (d, value); outputCode.insertArray (-1, d, (int) sizeof (d)); }\r
+ void emit (int32 value) { uint8 d[4]; Program::writeInt32 (d, value); outputCode.insertArray (-1, d, (int) sizeof (d)); }\r
+\r
+ template <typename Arg1, typename... Args>\r
+ void emit (Arg1 arg1, Args... args)\r
+ {\r
+ emit (arg1);\r
+ emit (args...);\r
+ }\r
+\r
+ void emitPush (const var& value)\r
+ {\r
+ if (value.isDouble())\r
+ {\r
+ const float v = value;\r
+\r
+ if (v == 0) emit (OpCode::push0);\r
+ else emit (OpCode::push32, Program::floatToInt (v));\r
+ }\r
+ else\r
+ {\r
+ const int v = value;\r
+\r
+ if (v == 0) emit (OpCode::push0);\r
+ else if (v == 1) emit (OpCode::push1);\r
+ else if (v > 0 && v < 128) emit (OpCode::push8, (int8) v);\r
+ else if (v > 0 && v < 32768) emit (OpCode::push16, (int16) v);\r
+ else emit (OpCode::push32, (int32) v);\r
+ }\r
+ }\r
+\r
+ void emitCast (Type source, Type dest, const CodeLocation& location)\r
+ {\r
+ if (dest == source) return;\r
+ if (dest == Type::void_) return emit (OpCode::drop);\r
+ if (source == Type::bool_ && dest == Type::int_) return;\r
+ if (source == Type::int_ && dest == Type::bool_) return emit (OpCode::testNZ_int32);\r
+ if ((source == Type::int_ || source == Type::bool_) && dest == Type::float_) return emit (OpCode::int32ToFloat);\r
+\r
+ location.throwError ("Cannot cast from " + getTypeName (source) + " to " + getTypeName (dest));\r
+ }\r
+\r
+ void emitVariableRead (Type sourceType, Type requiredType, int stackDepth, int index, const CodeLocation& location)\r
+ {\r
+ if (index < 0)\r
+ {\r
+ emit (OpCode::dupFromGlobal, (int16) ((-index) - 1));\r
+ }\r
+ else\r
+ {\r
+ index += stackDepth;\r
+\r
+ if (index == 0)\r
+ emit ((OpCode) ((int) OpCode::dup));\r
+ else if (index < 8)\r
+ emit ((OpCode) ((int) OpCode::dupOffset_01 + index - 1));\r
+ else if (index >= 128)\r
+ emit (OpCode::dupOffset16, (int16) index);\r
+ else\r
+ emit (OpCode::dupOffset, (int8) index);\r
+ }\r
+\r
+ emitCast (sourceType, requiredType, location);\r
+ }\r
+\r
+ //==============================================================================\r
+ Function* findFunction (FunctionID functionID) const noexcept\r
+ {\r
+ for (auto f : functions)\r
+ if (f->functionID == functionID)\r
+ return f;\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ NativeFunction* findNativeFunction (FunctionID functionID) const noexcept\r
+ {\r
+ for (auto& f : nativeFunctions)\r
+ if (f.functionID == functionID)\r
+ return &f;\r
+\r
+ return nullptr;\r
+ }\r
+ };\r
+\r
+ //==============================================================================\r
+ //==============================================================================\r
+ struct Statement : public AllocatedObject\r
+ {\r
+ Statement (const CodeLocation& l, BlockPtr parent) noexcept : location (l), parentBlock (parent) {}\r
+ virtual void emit (CodeGenerator&, Type, int /*stackDepth*/) const {}\r
+ virtual bool alwaysReturns() const { return false; }\r
+ virtual void visitSubStatements (std::function<void(StatementPtr)>) const {}\r
+ virtual Statement* simplify (SyntaxTreeBuilder&) { return this; }\r
+\r
+ CodeLocation location;\r
+ BlockPtr parentBlock;\r
+ };\r
+\r
+ struct Expression : public Statement\r
+ {\r
+ Expression (const CodeLocation& l, BlockPtr parent) noexcept : Statement (l, parent) {}\r
+ virtual Type getType (CodeGenerator&) const = 0;\r
+ };\r
+\r
+ struct Variable\r
+ {\r
+ String name;\r
+ Type type;\r
+ };\r
+\r
+ //==============================================================================\r
+ struct Function : public AllocatedObject\r
+ {\r
+ FunctionID functionID;\r
+ Type returnType;\r
+ Array<Variable> arguments;\r
+ BlockPtr block;\r
+ CodeGenerator::Marker address, unwindAddress;\r
+\r
+ void emit (CodeGenerator& cg) const\r
+ {\r
+ cg.attachMarker (address);\r
+\r
+ const int numLocals = getNumLocals();\r
+\r
+ for (int num = numLocals; num > 0;)\r
+ {\r
+ if (num == 1)\r
+ {\r
+ cg.emit (OpCode::push0);\r
+ --num;\r
+ }\r
+ else\r
+ {\r
+ int numToDo = jmin (127, num);\r
+ cg.emit (OpCode::pushMultiple0, (int8) numToDo);\r
+ num -= numToDo;\r
+ }\r
+ }\r
+\r
+ block->emit (cg, Type::void_, 0);\r
+ cg.attachMarker (unwindAddress);\r
+\r
+ const bool keepTop = returnType != Type::void_;\r
+\r
+ for (int num = numLocals; num > 0;)\r
+ {\r
+ if (num == 1 && ! keepTop)\r
+ {\r
+ cg.emit (OpCode::drop);\r
+ --num;\r
+ }\r
+ else\r
+ {\r
+ int numToDo = jmin (127, num);\r
+ cg.emit (OpCode::dropMultiple, (int8) (keepTop ? -numToDo : numToDo));\r
+ num -= numToDo;\r
+ }\r
+ }\r
+\r
+ cg.emit (keepTop ? OpCode::retValue : OpCode::retVoid, (int8) arguments.size());\r
+ }\r
+\r
+ Array<Type> getArgumentTypes() const\r
+ {\r
+ Array<Type> argTypes;\r
+\r
+ for (auto& arg : arguments)\r
+ argTypes.add (arg.type);\r
+\r
+ return argTypes;\r
+ }\r
+\r
+ int getNumLocals() const noexcept\r
+ {\r
+ return countMaxNumLocalVariables (block);\r
+ }\r
+\r
+ static int countMaxNumLocalVariables (StatementPtr s) noexcept\r
+ {\r
+ int num = 0;\r
+\r
+ if (s != nullptr)\r
+ s->visitSubStatements ([&] (StatementPtr sub) { num = jmax (num, countMaxNumLocalVariables (sub)); });\r
+\r
+ if (auto block = dynamic_cast<BlockPtr> (s))\r
+ num += block->variables.size();\r
+\r
+ return num;\r
+ }\r
+ };\r
+\r
+ //==============================================================================\r
+ struct BlockStatement : public Statement\r
+ {\r
+ BlockStatement (const CodeLocation& l, BlockPtr parent, Function* f, bool isMainFunctionBlock)\r
+ : Statement (l, parent), function (f), isMainBlockOfFunction (isMainFunctionBlock) {}\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int stackDepth) const override\r
+ {\r
+ jassert (requiredType == Type::void_); ignoreUnused (requiredType);\r
+ jassert (function != nullptr);\r
+\r
+ for (auto s : statements)\r
+ s->emit (cg, Type::void_, stackDepth);\r
+ }\r
+\r
+ bool alwaysReturns() const override\r
+ {\r
+ return ! statements.isEmpty() && statements.getLast()->alwaysReturns();\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ for (auto s : statements)\r
+ visit (s);\r
+ }\r
+\r
+ Statement* simplify (SyntaxTreeBuilder& stb) override\r
+ {\r
+ for (int i = 0; i < statements.size(); ++i)\r
+ statements.set (i, statements.getReference(i)->simplify (stb));\r
+\r
+ return this;\r
+ }\r
+\r
+ // returns -ve values for globals\r
+ int getVariableDepth (const String& name, const CodeLocation& locationForError) const\r
+ {\r
+ int index = indexOf (variables, name);\r
+ if (index >= 0)\r
+ return getNumVariablesInParentBlocks() + index;\r
+\r
+ if (! isMainBlockOfFunction)\r
+ return parentBlock->getVariableDepth (name, locationForError);\r
+\r
+ for (int i = function->arguments.size(); --i >= 0;)\r
+ if (function->arguments.getReference(i).name == name)\r
+ return i + 1 + function->getNumLocals();\r
+\r
+ index = indexOf (getGlobalVariables(), name);\r
+ if (index >= 0)\r
+ return -(index + 1);\r
+\r
+ locationForError.throwError ("Unknown variable '" + name + "'");\r
+ return 0;\r
+ }\r
+\r
+ int getNumVariablesInParentBlocks() const noexcept\r
+ {\r
+ return isMainBlockOfFunction ? 0 : (parentBlock->getNumVariablesInParentBlocks()\r
+ + parentBlock->variables.size());\r
+ }\r
+\r
+ const Array<Variable>& getGlobalVariables() const noexcept\r
+ {\r
+ return parentBlock != nullptr ? parentBlock->getGlobalVariables() : variables;\r
+ }\r
+\r
+ Type getVariableType (const String& name, const CodeLocation& locationForError) const\r
+ {\r
+ for (auto& v : variables)\r
+ if (v.name == name)\r
+ return v.type;\r
+\r
+ if (! isMainBlockOfFunction)\r
+ return parentBlock->getVariableType (name, locationForError);\r
+\r
+ for (auto& v : function->arguments)\r
+ if (v.name == name)\r
+ return v.type;\r
+\r
+ for (auto& v : getGlobalVariables())\r
+ if (v.name == name)\r
+ return v.type;\r
+\r
+ locationForError.throwError ("Unknown variable '" + name + "'");\r
+ return {};\r
+ }\r
+\r
+ void addVariable (const String& name, Type type, const CodeLocation& locationForError)\r
+ {\r
+ if (indexOf (variables, name) >= 0)\r
+ locationForError.throwError ("Variable '" + name + "' already exists");\r
+\r
+ variables.add ({ name, type });\r
+ }\r
+\r
+ static int indexOf (const Array<Variable>& vars, const String& name) noexcept\r
+ {\r
+ for (int i = 0; i < vars.size(); ++i)\r
+ if (vars.getReference(i).name == name)\r
+ return i;\r
+\r
+ return -1;\r
+ }\r
+\r
+ Function* function;\r
+ Array<StatementPtr> statements;\r
+ Array<Variable> variables;\r
+ bool isMainBlockOfFunction;\r
+ };\r
+\r
+ struct IfStatement : public Statement\r
+ {\r
+ IfStatement (const CodeLocation& l, BlockPtr parent) : Statement (l, parent) {}\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int stackDepth) const override\r
+ {\r
+ jassert (requiredType == Type::void_); ignoreUnused (requiredType);\r
+\r
+ condition->emit (cg, Type::bool_, stackDepth);\r
+ auto endOfStatement = cg.createMarker();\r
+\r
+ if (falseBranch == nullptr)\r
+ {\r
+ cg.emit (OpCode::jumpIfFalse, endOfStatement);\r
+ trueBranch->emit (cg, Type::void_, stackDepth);\r
+ }\r
+ else\r
+ {\r
+ auto elseTarget = cg.createMarker();\r
+ cg.emit (OpCode::jumpIfFalse, elseTarget);\r
+ trueBranch->emit (cg, Type::void_, stackDepth);\r
+ cg.emit (OpCode::jump, endOfStatement);\r
+ cg.attachMarker (elseTarget);\r
+ falseBranch->emit (cg, Type::void_, stackDepth);\r
+ }\r
+\r
+ cg.attachMarker (endOfStatement);\r
+ }\r
+\r
+ bool alwaysReturns() const override\r
+ {\r
+ return trueBranch->alwaysReturns() && falseBranch != nullptr && falseBranch->alwaysReturns();\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ visit (condition); visit (trueBranch); visit (falseBranch);\r
+ }\r
+\r
+ Statement* simplify (SyntaxTreeBuilder& stb) override\r
+ {\r
+ condition = dynamic_cast<ExpPtr> (condition->simplify (stb));\r
+ trueBranch = trueBranch->simplify (stb);\r
+ falseBranch = falseBranch != nullptr ? falseBranch->simplify (stb) : nullptr;\r
+\r
+ if (auto literal = dynamic_cast<LiteralValue*> (condition))\r
+ return literal->value ? trueBranch : (falseBranch != nullptr ? falseBranch : stb.allocate<Statement> (location, parentBlock));\r
+\r
+ return this;\r
+ }\r
+\r
+ ExpPtr condition;\r
+ StatementPtr trueBranch, falseBranch;\r
+ };\r
+\r
+ struct TerneryOp : public Expression\r
+ {\r
+ TerneryOp (const CodeLocation& l, BlockPtr parent) : Expression (l, parent) {}\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int stackDepth) const override\r
+ {\r
+ condition->emit (cg, Type::bool_, stackDepth);\r
+ auto endOfStatement = cg.createMarker();\r
+ auto elseTarget = cg.createMarker();\r
+ cg.emit (OpCode::jumpIfFalse, elseTarget);\r
+ trueBranch->emit (cg, requiredType, stackDepth);\r
+ cg.emit (OpCode::jump, endOfStatement);\r
+ cg.attachMarker (elseTarget);\r
+ falseBranch->emit (cg, requiredType, stackDepth);\r
+ cg.attachMarker (endOfStatement);\r
+ }\r
+\r
+ Type getType (CodeGenerator& cg) const override\r
+ {\r
+ auto type = trueBranch->getType (cg);\r
+\r
+ if (type == Type::void_) location.throwError ("The ternery operator cannot take void arguments");\r
+ if (type != falseBranch->getType (cg)) location.throwError ("Expected both branches of this ternery operator to have the same type");\r
+\r
+ return type;\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ visit (condition); visit (trueBranch); visit (falseBranch);\r
+ }\r
+\r
+ Statement* simplify (SyntaxTreeBuilder& stb) override\r
+ {\r
+ condition = dynamic_cast<ExpPtr> (condition->simplify (stb));\r
+ trueBranch = dynamic_cast<ExpPtr> (trueBranch->simplify (stb));\r
+ falseBranch = dynamic_cast<ExpPtr> (falseBranch->simplify (stb));\r
+\r
+ if (auto literal = dynamic_cast<LiteralValue*> (condition))\r
+ return literal->value ? trueBranch : falseBranch;\r
+\r
+ return this;\r
+ }\r
+\r
+ ExpPtr condition, trueBranch, falseBranch;\r
+ };\r
+\r
+ struct LoopStatement : public Statement\r
+ {\r
+ LoopStatement (const CodeLocation& l, BlockPtr parent, bool isDo) noexcept : Statement (l, parent), isDoLoop (isDo) {}\r
+\r
+ void emit (CodeGenerator& cg, Type, int stackDepth) const override\r
+ {\r
+ initialiser->emit (cg, Type::void_, stackDepth);\r
+\r
+ auto loopStart = cg.createMarker();\r
+ cg.attachMarker (loopStart);\r
+\r
+ auto oldBreakTarget = cg.breakTarget;\r
+ auto oldContinueTarget = cg.continueTarget;\r
+ cg.breakTarget = cg.createMarker();\r
+ cg.continueTarget = cg.createMarker();\r
+\r
+ if (isDoLoop)\r
+ {\r
+ body->emit (cg, Type::void_, stackDepth);\r
+ cg.attachMarker (cg.continueTarget);\r
+ condition->emit (cg, Type::bool_, stackDepth);\r
+ cg.emit (OpCode::jumpIfTrue, loopStart);\r
+ }\r
+ else\r
+ {\r
+ condition->emit (cg, Type::bool_, stackDepth);\r
+ cg.emit (OpCode::jumpIfFalse, cg.breakTarget);\r
+ body->emit (cg, Type::void_, stackDepth);\r
+ cg.attachMarker (cg.continueTarget);\r
+ iterator->emit (cg, Type::void_, stackDepth);\r
+ cg.emit (OpCode::jump, loopStart);\r
+ }\r
+\r
+ cg.attachMarker (cg.breakTarget);\r
+ cg.breakTarget = oldBreakTarget;\r
+ cg.continueTarget = oldContinueTarget;\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ visit (condition); visit (initialiser); visit (iterator); visit (body);\r
+ }\r
+\r
+ StatementPtr initialiser, iterator, body;\r
+ ExpPtr condition;\r
+ bool isDoLoop;\r
+ };\r
+\r
+ struct ReturnStatement : public Statement\r
+ {\r
+ ReturnStatement (const CodeLocation& l, BlockPtr parent, ExpPtr v) noexcept : Statement (l, parent), returnValue (v) {}\r
+\r
+ void emit (CodeGenerator& cg, Type, int stackDepth) const override\r
+ {\r
+ if (auto fn = parentBlock->function)\r
+ {\r
+ if (returnValue != nullptr)\r
+ returnValue->emit (cg, fn->returnType, stackDepth);\r
+ else if (fn->returnType != Type::void_)\r
+ location.throwError ("Cannot return a value from a void function");\r
+\r
+ if (parentBlock->statements.getLast() != this)\r
+ cg.emit (OpCode::jump, fn->unwindAddress);\r
+\r
+ return;\r
+ }\r
+\r
+ location.throwError ("The return statement can only be used inside a function");\r
+ }\r
+\r
+ bool alwaysReturns() const override { return true; }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ visit (returnValue);\r
+ }\r
+\r
+ ExpPtr returnValue;\r
+ };\r
+\r
+ struct BreakStatement : public Statement\r
+ {\r
+ BreakStatement (const CodeLocation& l, BlockPtr parent) : Statement (l, parent) {}\r
+\r
+ void emit (CodeGenerator& cg, Type, int) const override\r
+ {\r
+ if (cg.breakTarget.index == 0)\r
+ location.throwError ("The break statement can only be used inside a loop");\r
+\r
+ cg.emit (OpCode::jump, cg.breakTarget);\r
+ }\r
+ };\r
+\r
+ struct ContinueStatement : public Statement\r
+ {\r
+ ContinueStatement (const CodeLocation& l, BlockPtr parent) : Statement (l, parent) {}\r
+\r
+ void emit (CodeGenerator& cg, Type, int) const override\r
+ {\r
+ if (cg.continueTarget.index == 0)\r
+ location.throwError ("The continue statement can only be used inside a loop");\r
+\r
+ cg.emit (OpCode::jump, cg.continueTarget);\r
+ }\r
+ };\r
+\r
+ struct LiteralValue : public Expression\r
+ {\r
+ LiteralValue (const CodeLocation& l, BlockPtr parent, const var& v) noexcept : Expression (l, parent), value (v) {}\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int) const override\r
+ {\r
+ if (requiredType != Type::void_)\r
+ {\r
+ auto type = getType (cg);\r
+\r
+ if (type != requiredType && value != var ((int) 0))\r
+ {\r
+ if (type == Type::int_ && requiredType == Type::bool_) return cg.emitPush (static_cast<bool> (value));\r
+ if (type == Type::int_ && requiredType == Type::float_) return cg.emitPush (static_cast<float> (value));\r
+\r
+ if (! (type == Type::bool_ && requiredType == Type::int_))\r
+ location.throwError ("Cannot cast from " + getTypeName (type) + " to " + getTypeName (requiredType));\r
+ }\r
+\r
+ cg.emitPush (value);\r
+ }\r
+ }\r
+\r
+ Type getType (CodeGenerator&) const override\r
+ {\r
+ auto t = getTypeOfVar (value);\r
+\r
+ if (t == Type::void_)\r
+ location.throwError ("Unsupported literal type");\r
+\r
+ return t;\r
+ }\r
+\r
+ var value;\r
+ };\r
+\r
+ struct Identifier : public Expression\r
+ {\r
+ Identifier (const CodeLocation& l, BlockPtr parent, const String& n) noexcept : Expression (l, parent), name (n) {}\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int stackDepth) const override\r
+ {\r
+ cg.emitVariableRead (getType (cg), requiredType, stackDepth,\r
+ parentBlock->getVariableDepth (name, location), location);\r
+ }\r
+\r
+ Type getType (CodeGenerator&) const override\r
+ {\r
+ return parentBlock->getVariableType (name, location);\r
+ }\r
+\r
+ String name;\r
+ };\r
+\r
+ struct UnaryOp : public Expression\r
+ {\r
+ UnaryOp (const CodeLocation& l, BlockPtr parent, ExpPtr a, TokenType op) noexcept\r
+ : Expression (l, parent), source (a), operation (op) {}\r
+\r
+ ExpPtr source;\r
+ TokenType operation;\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int stackDepth) const override\r
+ {\r
+ auto sourceType = source->getType (cg);\r
+\r
+ if (operation == Token::minus)\r
+ {\r
+ cg.emitPush ((int) 0);\r
+ source->emit (cg, sourceType, stackDepth + 1);\r
+ cg.emit (sourceType == Type::float_ ? OpCode::sub_float : OpCode::sub_int32);\r
+ cg.emitCast (sourceType, requiredType, location);\r
+ }\r
+ else\r
+ {\r
+ if (sourceType == Type::float_)\r
+ location.throwError ("Cannot perform this operation on a float");\r
+\r
+ if (operation == Token::logicalNot)\r
+ {\r
+ source->emit (cg, sourceType, stackDepth);\r
+ cg.emit (OpCode::logicalNot);\r
+ cg.emitCast (Type::bool_, requiredType, location);\r
+ }\r
+ else if (operation == Token::bitwiseNot)\r
+ {\r
+ source->emit (cg, Type::int_, stackDepth);\r
+ cg.emit (OpCode::bitwiseNot);\r
+ cg.emitCast (Type::int_, requiredType, location);\r
+ }\r
+ }\r
+ }\r
+\r
+ Type getType (CodeGenerator& cg) const override\r
+ {\r
+ if (operation == Token::minus) return source->getType (cg);\r
+ if (operation == Token::logicalNot) return Type::bool_;\r
+ return Type::int_;\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ visit (source);\r
+ }\r
+\r
+ Statement* simplify (SyntaxTreeBuilder& stb) override\r
+ {\r
+ source = dynamic_cast<ExpPtr> (source->simplify (stb));\r
+\r
+ if (auto literal = dynamic_cast<LiteralValue*> (source))\r
+ {\r
+ auto type = getTypeOfVar (literal->value);\r
+\r
+ if (type == Type::int_ && operation == Token::minus) { literal->value = -static_cast<int> (literal->value); return literal; }\r
+ if (type == Type::int_ && operation == Token::bitwiseNot) { literal->value = ~static_cast<int> (literal->value); return literal; }\r
+ if (type == Type::int_ && operation == Token::logicalNot) { literal->value = ! static_cast<int> (literal->value); return literal; }\r
+ if (type == Type::bool_ && operation == Token::logicalNot) { literal->value = ! static_cast<bool> (literal->value); return literal; }\r
+ if (type == Type::float_ && operation == Token::minus) { literal->value = -static_cast<double> (literal->value); return literal; }\r
+ }\r
+\r
+ return this;\r
+ }\r
+ };\r
+\r
+ struct BinaryOperator : public Expression\r
+ {\r
+ BinaryOperator (const CodeLocation& l, BlockPtr parent, ExpPtr a, ExpPtr b, TokenType op) noexcept\r
+ : Expression (l, parent), lhs (a), rhs (b), operation (op) {}\r
+\r
+ ExpPtr lhs, rhs;\r
+ TokenType operation;\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int stackDepth) const override\r
+ {\r
+ auto typeA = lhs->getType (cg);\r
+ auto typeB = rhs->getType (cg);\r
+\r
+ if (typeA == Type::float_ || typeB == Type::float_)\r
+ {\r
+ lhs->emit (cg, Type::float_, stackDepth);\r
+ rhs->emit (cg, Type::float_, stackDepth + 1);\r
+\r
+ if (operation == Token::plus) return emitOpAndCast (cg, requiredType, OpCode::add_float);\r
+ if (operation == Token::minus) return emitOpAndCast (cg, requiredType, OpCode::sub_float);\r
+ if (operation == Token::times) return emitOpAndCast (cg, requiredType, OpCode::mul_float);\r
+ if (operation == Token::divide) return emitOpAndCast (cg, requiredType, OpCode::div_float);\r
+\r
+ cg.emit (OpCode::sub_float);\r
+\r
+ if (operation == Token::equals) return emitOpAndCast (cg, requiredType, OpCode::testZE_float);\r
+ if (operation == Token::notEquals) return emitOpAndCast (cg, requiredType, OpCode::testNZ_float);\r
+ if (operation == Token::lessThan) return emitOpAndCast (cg, requiredType, OpCode::testLT_float);\r
+ if (operation == Token::lessThanOrEqual) return emitOpAndCast (cg, requiredType, OpCode::testLE_float);\r
+ if (operation == Token::greaterThan) return emitOpAndCast (cg, requiredType, OpCode::testGT_float);\r
+ if (operation == Token::greaterThanOrEqual) return emitOpAndCast (cg, requiredType, OpCode::testGE_float);\r
+\r
+ location.throwError ("The operator " + getTokenDescription (operation) + " cannot take floating point arguments");\r
+ }\r
+\r
+ auto type = (typeA == Type::bool_ || typeB == Type::bool_) ? Type::bool_\r
+ : Type::int_;\r
+ lhs->emit (cg, type, stackDepth);\r
+ rhs->emit (cg, type, stackDepth + 1);\r
+\r
+ if (operation == Token::plus) return emitOpAndCast (cg, requiredType, OpCode::add_int32);\r
+ if (operation == Token::minus) return emitOpAndCast (cg, requiredType, OpCode::sub_int32);\r
+ if (operation == Token::times) return emitOpAndCast (cg, requiredType, OpCode::mul_int32);\r
+ if (operation == Token::divide) return emitOpAndCast (cg, requiredType, OpCode::div_int32);\r
+ if (operation == Token::modulo) return emitOpAndCast (cg, requiredType, OpCode::mod_int32);\r
+ if (operation == Token::logicalOr) return emitOpAndCast (cg, requiredType, OpCode::logicalOr);\r
+ if (operation == Token::logicalAnd) return emitOpAndCast (cg, requiredType, OpCode::logicalAnd);\r
+ if (operation == Token::bitwiseOr) return emitOpAndCast (cg, requiredType, OpCode::bitwiseOr);\r
+ if (operation == Token::bitwiseAnd) return emitOpAndCast (cg, requiredType, OpCode::bitwiseAnd);\r
+ if (operation == Token::bitwiseXor) return emitOpAndCast (cg, requiredType, OpCode::bitwiseXor);\r
+ if (operation == Token::leftShift) return emitOpAndCast (cg, requiredType, OpCode::bitShiftLeft);\r
+ if (operation == Token::rightShift) return emitOpAndCast (cg, requiredType, OpCode::bitShiftRight);\r
+\r
+ cg.emit (OpCode::sub_int32);\r
+\r
+ if (operation == Token::equals) return emitOpAndCast (cg, requiredType, OpCode::testZE_int32);\r
+ if (operation == Token::notEquals) return emitOpAndCast (cg, requiredType, OpCode::testNZ_int32);\r
+ if (operation == Token::lessThan) return emitOpAndCast (cg, requiredType, OpCode::testLT_int32);\r
+ if (operation == Token::lessThanOrEqual) return emitOpAndCast (cg, requiredType, OpCode::testLE_int32);\r
+ if (operation == Token::greaterThan) return emitOpAndCast (cg, requiredType, OpCode::testGT_int32);\r
+ if (operation == Token::greaterThanOrEqual) return emitOpAndCast (cg, requiredType, OpCode::testGE_int32);\r
+\r
+ location.throwError ("Unsupported operator");\r
+ jassertfalse;\r
+ }\r
+\r
+ void emitOpAndCast (CodeGenerator& cg, Type requiredType, OpCode op) const\r
+ {\r
+ cg.emit (op);\r
+ cg.emitCast (getType (cg), requiredType, location);\r
+ }\r
+\r
+ Type getResultType (Type typeA, Type typeB) const noexcept\r
+ {\r
+ if (operation == Token::logicalOr || operation == Token::logicalAnd\r
+ || operation == Token::equals || operation == Token::notEquals\r
+ || operation == Token::lessThan || operation == Token::lessThanOrEqual\r
+ || operation == Token::greaterThan || operation == Token::greaterThanOrEqual)\r
+ return Type::bool_;\r
+\r
+ if (operation == Token::plus || operation == Token::minus\r
+ || operation == Token::times || operation == Token::divide)\r
+ {\r
+ if (typeA == Type::float_ || typeB == Type::float_)\r
+ return Type::float_;\r
+ }\r
+\r
+ return Type::int_;\r
+ }\r
+\r
+ Type getType (CodeGenerator& cg) const override\r
+ {\r
+ return getResultType (lhs->getType (cg), rhs->getType (cg));\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ visit (lhs); visit (rhs);\r
+ }\r
+\r
+ Statement* simplifyFloat (double a, double b, LiteralValue* literal)\r
+ {\r
+ if (operation == Token::plus) { literal->value = a + b; return literal; }\r
+ if (operation == Token::minus) { literal->value = a - b; return literal; }\r
+ if (operation == Token::times) { literal->value = a * b; return literal; }\r
+ if (operation == Token::divide) { literal->value = a / b; return literal; }\r
+ if (operation == Token::equals) { literal->value = a == b; return literal; }\r
+ if (operation == Token::notEquals) { literal->value = a != b; return literal; }\r
+ if (operation == Token::lessThan) { literal->value = a < b; return literal; }\r
+ if (operation == Token::lessThanOrEqual) { literal->value = a <= b; return literal; }\r
+ if (operation == Token::greaterThan) { literal->value = a > b; return literal; }\r
+ if (operation == Token::greaterThanOrEqual) { literal->value = a >= b; return literal; }\r
+ return this;\r
+ }\r
+\r
+ Statement* simplifyBool (bool a, bool b, LiteralValue* literal)\r
+ {\r
+ if (operation == Token::logicalOr) { literal->value = a || b; return literal; }\r
+ if (operation == Token::logicalAnd) { literal->value = a && b; return literal; }\r
+ return this;\r
+ }\r
+\r
+ Statement* simplifyInt (int a, int b, LiteralValue* literal)\r
+ {\r
+ if (operation == Token::plus) { literal->value = a + b; return literal; }\r
+ if (operation == Token::minus) { literal->value = a - b; return literal; }\r
+ if (operation == Token::times) { literal->value = a * b; return literal; }\r
+ if (operation == Token::divide) { literal->value = a / b; return literal; }\r
+ if (operation == Token::equals) { literal->value = a == b; return literal; }\r
+ if (operation == Token::notEquals) { literal->value = a != b; return literal; }\r
+ if (operation == Token::lessThan) { literal->value = a < b; return literal; }\r
+ if (operation == Token::lessThanOrEqual) { literal->value = a <= b; return literal; }\r
+ if (operation == Token::greaterThan) { literal->value = a > b; return literal; }\r
+ if (operation == Token::greaterThanOrEqual) { literal->value = a >= b; return literal; }\r
+ if (operation == Token::modulo) { literal->value = a % b; return literal; }\r
+ if (operation == Token::logicalOr) { literal->value = a || b; return literal; }\r
+ if (operation == Token::logicalAnd) { literal->value = a && b; return literal; }\r
+ if (operation == Token::bitwiseOr) { literal->value = a | b; return literal; }\r
+ if (operation == Token::bitwiseAnd) { literal->value = a & b; return literal; }\r
+ if (operation == Token::bitwiseXor) { literal->value = a ^ b; return literal; }\r
+ if (operation == Token::leftShift) { literal->value = a << b; return literal; }\r
+ if (operation == Token::rightShift) { literal->value = a >> b; return literal; }\r
+ return this;\r
+ }\r
+\r
+ Statement* simplify (SyntaxTreeBuilder& stb) override\r
+ {\r
+ lhs = dynamic_cast<ExpPtr> (lhs->simplify (stb));\r
+ rhs = dynamic_cast<ExpPtr> (rhs->simplify (stb));\r
+\r
+ if (auto literal1 = dynamic_cast<LiteralValue*> (lhs))\r
+ {\r
+ if (auto literal2 = dynamic_cast<LiteralValue*> (rhs))\r
+ {\r
+ auto resultType = getResultType (getTypeOfVar (literal1->value),\r
+ getTypeOfVar (literal2->value));\r
+\r
+ if (resultType == Type::bool_) return simplifyBool (literal1->value, literal2->value, literal1);\r
+ if (resultType == Type::int_) return simplifyInt (literal1->value, literal2->value, literal1);\r
+ if (resultType == Type::float_) return simplifyFloat (literal1->value, literal2->value, literal1);\r
+ }\r
+ }\r
+\r
+ return this;\r
+ }\r
+ };\r
+\r
+ struct Assignment : public Expression\r
+ {\r
+ Assignment (const CodeLocation& l, BlockPtr parent, const String& dest, ExpPtr source, bool isPost) noexcept\r
+ : Expression (l, parent), target (dest), newValue (source), isPostAssignment (isPost) {}\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int stackDepth) const override\r
+ {\r
+ auto variableType = getType (cg);\r
+\r
+ if (isPostAssignment && requiredType != Type::void_)\r
+ {\r
+ cg.emitVariableRead (variableType, requiredType, stackDepth,\r
+ parentBlock->getVariableDepth (target, location), location);\r
+ ++stackDepth;\r
+ requiredType = Type::void_;\r
+ }\r
+\r
+ newValue->emit (cg, variableType, stackDepth);\r
+ auto index = parentBlock->getVariableDepth (target, location);\r
+\r
+ if (requiredType != Type::void_)\r
+ {\r
+ cg.emit (OpCode::dup);\r
+ ++stackDepth;\r
+ }\r
+\r
+ if (index < 0)\r
+ {\r
+ cg.emit (OpCode::dropToGlobal, (int16) ((-index) - 1));\r
+ }\r
+ else\r
+ {\r
+ index += stackDepth;\r
+\r
+ if (index >= 128)\r
+ cg.emit (OpCode::dropToStack16, (int16) index);\r
+ else\r
+ cg.emit (OpCode::dropToStack, (int8) index);\r
+ }\r
+\r
+ if (requiredType != Type::void_)\r
+ cg.emitCast (variableType, requiredType, location);\r
+ }\r
+\r
+ Type getType (CodeGenerator&) const override\r
+ {\r
+ return parentBlock->getVariableType (target, location);\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ visit (newValue);\r
+ }\r
+\r
+ Statement* simplify (SyntaxTreeBuilder& stb) override\r
+ {\r
+ newValue = dynamic_cast<ExpPtr> (newValue->simplify (stb));\r
+ return this;\r
+ }\r
+\r
+ String target;\r
+ ExpPtr newValue;\r
+ bool isPostAssignment;\r
+ };\r
+\r
+ struct FunctionCall : public Expression\r
+ {\r
+ FunctionCall (const CodeLocation& l, BlockPtr parent) noexcept : Expression (l, parent) {}\r
+\r
+ void emit (CodeGenerator& cg, Type requiredType, int stackDepth) const override\r
+ {\r
+ if (functionName == Token::int_) return emitCast (cg, Type::int_, stackDepth);\r
+ if (functionName == Token::float_) return emitCast (cg, Type::float_, stackDepth);\r
+ if (functionName == Token::bool_) return emitCast (cg, Type::bool_, stackDepth);\r
+\r
+ auto functionID = getFunctionID (cg);\r
+\r
+ if (auto fn = cg.findFunction (functionID))\r
+ {\r
+ emitArgs (cg, fn->getArgumentTypes(), stackDepth);\r
+ cg.emit (OpCode::call, fn->address);\r
+ cg.emitCast (fn->returnType, requiredType, location);\r
+ return;\r
+ }\r
+\r
+ if (auto nativeFn = cg.findNativeFunction (functionID))\r
+ {\r
+ emitArgs (cg, getArgTypesFromFunctionName (nativeFn->nameAndArguments), stackDepth);\r
+ cg.emit (OpCode::callNative, nativeFn->functionID);\r
+ cg.emitCast (nativeFn->returnType, requiredType, location);\r
+ return;\r
+ }\r
+\r
+ if (auto b = findBuiltInFunction (functionID))\r
+ {\r
+ emitArgs (cg, getArgTypesFromFunctionName (b->name), stackDepth);\r
+ cg.emit (b->op);\r
+ cg.emitCast (b->returnType, requiredType, location);\r
+ return;\r
+ }\r
+\r
+ throwCannotFindFunctionError (cg, requiredType);\r
+ }\r
+\r
+ Type getType (CodeGenerator& cg) const override\r
+ {\r
+ if (arguments.size() == 1)\r
+ {\r
+ if (functionName == Token::float_) return Type::float_;\r
+ if (functionName == Token::int_) return Type::int_;\r
+ if (functionName == Token::bool_) return Type::bool_;\r
+ }\r
+\r
+ auto functionID = getFunctionID (cg);\r
+\r
+ if (auto fn = cg.findFunction (functionID))\r
+ return fn->returnType;\r
+\r
+ if (auto nativeFn = cg.findNativeFunction (functionID))\r
+ return nativeFn->returnType;\r
+\r
+ if (auto b = findBuiltInFunction (functionID))\r
+ return b->returnType;\r
+\r
+ throwCannotFindFunctionError (cg, Type::void_);\r
+ return {};\r
+ }\r
+\r
+ struct BuiltInFunction { OpCode op; Type returnType; const char* name; };\r
+\r
+ const BuiltInFunction* findBuiltInFunction (FunctionID functionID) const noexcept\r
+ {\r
+ static constexpr const BuiltInFunction builtIns[] =\r
+ {\r
+ { OpCode::getHeapByte, Type::int_, "getHeapByte/ii" },\r
+ { OpCode::getHeapInt, Type::int_, "getHeapInt/ii" },\r
+ { OpCode::getHeapBits, Type::int_, "getHeapBits/iii" },\r
+ { OpCode::setHeapByte, Type::void_, "setHeapByte/vii" },\r
+ { OpCode::setHeapInt, Type::void_, "setHeapInt/vii" }\r
+ };\r
+\r
+ for (auto& b : builtIns)\r
+ if (functionID == NativeFunction::createID (b.name))\r
+ return &b;\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ void emitArgs (CodeGenerator& cg, const Array<Type>& argTypes, int stackDepth) const\r
+ {\r
+ for (int i = arguments.size(); --i >= 0;)\r
+ {\r
+ auto argType = argTypes[i];\r
+ auto argValue = arguments.getUnchecked(i);\r
+\r
+ if (argValue->getType (cg) != argType)\r
+ location.throwError ("Argument " + String (i + 1) + " requires an expression of type " + getTypeName (argType));\r
+\r
+ argValue->emit (cg, argType, stackDepth++);\r
+ }\r
+ }\r
+\r
+ void emitCast (CodeGenerator& cg, Type destType, int stackDepth) const\r
+ {\r
+ auto* arg = arguments.getReference (0);\r
+ const auto sourceType = arg->getType (cg);\r
+ arg->emit (cg, sourceType, stackDepth);\r
+\r
+ const bool sourceIsFloat = (sourceType == Type::float_);\r
+ const bool destIsFloat = (destType == Type::float_);\r
+\r
+ if (sourceIsFloat != destIsFloat)\r
+ cg.emit (destIsFloat ? OpCode::int32ToFloat : OpCode::floatToInt32);\r
+ }\r
+\r
+ FunctionID getFunctionID (CodeGenerator& cg) const\r
+ {\r
+ Array<Type> argTypes;\r
+\r
+ for (auto arg : arguments)\r
+ argTypes.add (arg->getType (cg));\r
+\r
+ return createFunctionID (functionName, Type::void_, argTypes); // NB: the ID ignores the return type so void is OK\r
+ }\r
+\r
+ void throwCannotFindFunctionError (CodeGenerator& cg, Type returnType) const\r
+ {\r
+ StringArray args;\r
+ for (auto arg : arguments)\r
+ args.add (getTypeName (arg->getType (cg)));\r
+\r
+ auto desc = getTypeName (returnType) + " " + functionName\r
+ + "(" + args.joinIntoString (", ") + ")";\r
+\r
+ location.throwError ("Cannot find matching function: " + desc.quoted());\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ for (auto& arg : arguments)\r
+ visit (arg);\r
+ }\r
+\r
+ String functionName;\r
+ Array<ExpPtr> arguments;\r
+ };\r
+\r
+ struct ArraySubscript : public Expression\r
+ {\r
+ ArraySubscript (const CodeLocation& l, BlockPtr parent) noexcept : Expression (l, parent) {}\r
+\r
+ void emit (CodeGenerator&, Type /*requiredType*/, int /*stackDepth*/) const override\r
+ {\r
+ location.throwError ("Arrays are not implemented yet!");\r
+ }\r
+\r
+ void visitSubStatements (std::function<void(StatementPtr)> visit) const override\r
+ {\r
+ visit (object); visit (index);\r
+ }\r
+\r
+ Statement* simplify (SyntaxTreeBuilder& stb) override\r
+ {\r
+ object = dynamic_cast<ExpPtr> (object->simplify (stb));\r
+ index = dynamic_cast<ExpPtr> (index->simplify (stb));\r
+ return this;\r
+ }\r
+\r
+ Type getType (CodeGenerator& cg) const override\r
+ {\r
+ return object->getType (cg);\r
+ }\r
+\r
+ ExpPtr object, index;\r
+ };\r
+\r
+ //==============================================================================\r
+ static Array<Type> getArgTypesFromFunctionName (const char* nameAndTypes)\r
+ {\r
+ Array<Type> types;\r
+ auto args = String (nameAndTypes).fromFirstOccurrenceOf ("/", false, false).substring (1);\r
+\r
+ for (int i = 0; i < args.length(); ++i)\r
+ types.add (static_cast<Type> (args[i]));\r
+\r
+ return types;\r
+ }\r
+\r
+ static FunctionID createFunctionID (String name, Type returnType, const Array<Type>& types)\r
+ {\r
+ name << "/" << (char) returnType;\r
+\r
+ for (auto t : types)\r
+ name << (char) t;\r
+\r
+ return NativeFunction::createID (name.toRawUTF8());\r
+ }\r
+\r
+ static String getTokenDescription (TokenType t) { return t[0] == '$' ? String (t + 1) : ("'" + String (t) + "'"); }\r
+\r
+ static String getTypeName (Type t) noexcept\r
+ {\r
+ if (t == Type::int_) return "int";\r
+ if (t == Type::bool_) return "bool";\r
+ if (t == Type::float_) return "float";\r
+ return "void";\r
+ }\r
+\r
+ static Type tokenToType (TokenType t) noexcept\r
+ {\r
+ if (t == Token::int_) return Type::int_;\r
+ if (t == Token::bool_) return Type::bool_;\r
+ if (t == Token::float_) return Type::float_;\r
+ return Type::void_;\r
+ }\r
+\r
+ static Type getTypeOfVar (const var& v) noexcept\r
+ {\r
+ if (v.isInt() || v.isInt64()) return Type::int_;\r
+ if (v.isDouble()) return Type::float_;\r
+ if (v.isBool()) return Type::bool_;\r
+ return Type::void_;\r
+ }\r
+};\r
+\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+namespace littlefoot\r
+{\r
+\r
+using namespace juce;\r
+\r
+//==============================================================================\r
+/**\r
+ This class manages the synchronisation of a remote block of heap memory used\r
+ by a littlefoot program running on a block.\r
+\r
+ Data in the block can be changed by calling setByte, setBytes, setBits etc, and\r
+ these changes will be flushed to the device when sendChanges is called.\r
+*/\r
+template <typename ImplementationClass>\r
+struct LittleFootRemoteHeap\r
+{\r
+ LittleFootRemoteHeap (uint32 blockSizeToUse) noexcept : blockSize (blockSizeToUse)\r
+ {\r
+ resetDeviceStateToUnknown();\r
+ }\r
+\r
+ void clear() noexcept\r
+ {\r
+ zeromem (targetData, sizeof (targetData));\r
+ }\r
+\r
+ void setByte (size_t offset, uint8 value) noexcept\r
+ {\r
+ if (offset < blockSize)\r
+ {\r
+ if (targetData [offset] != value)\r
+ {\r
+ targetData [offset] = value;\r
+ invalidateData();\r
+ }\r
+ }\r
+ else\r
+ {\r
+ jassertfalse;\r
+ }\r
+ }\r
+\r
+ void setBytes (size_t offset, const uint8* data, size_t num) noexcept\r
+ {\r
+ for (size_t i = 0; i < num; ++i)\r
+ setByte (offset + i, data[i]);\r
+ }\r
+\r
+ void setBits (uint32 startBit, uint32 numBits, uint32 value) noexcept\r
+ {\r
+ if (startBit + numBits > 8 * blockSize)\r
+ {\r
+ jassertfalse;\r
+ return;\r
+ }\r
+\r
+ if (readLittleEndianBitsInBuffer (targetData, startBit, numBits) != value)\r
+ {\r
+ writeLittleEndianBitsInBuffer (targetData, startBit, numBits, value);\r
+ invalidateData();\r
+ }\r
+ }\r
+\r
+ uint8 getByte (size_t offset) noexcept\r
+ {\r
+ if (offset < blockSize)\r
+ return targetData [offset];\r
+\r
+ jassertfalse;\r
+ return 0;\r
+ }\r
+\r
+ void invalidateData()\r
+ {\r
+ dataHasChanged = true;\r
+ programStateKnown = false;\r
+ }\r
+\r
+ void sendChanges (ImplementationClass& bi)\r
+ {\r
+ if (dataHasChanged && messagesSent.isEmpty())\r
+ {\r
+ for (;;)\r
+ {\r
+ uint16 data[ImplementationClass::maxBlockSize];\r
+ uint32 packetIndex;\r
+\r
+ if (messagesSent.isEmpty())\r
+ {\r
+ for (uint32 i = 0; i < blockSize; ++i)\r
+ data[i] = deviceState[i];\r
+\r
+ packetIndex = lastPacketIndexReceived;\r
+ }\r
+ else\r
+ {\r
+ auto& lastPacket = messagesSent.getReference (messagesSent.size() - 1);\r
+\r
+ for (uint32 i = 0; i < blockSize; ++i)\r
+ data[i] = lastPacket.resultDataState[i];\r
+\r
+ packetIndex = lastPacket.packetIndex;\r
+ }\r
+\r
+ packetIndex = (packetIndex + 1) & ImplementationClass::maxPacketCounter;\r
+\r
+ if (! Diff (data, targetData, blockSize).createChangeMessage (bi, data, messagesSent, packetIndex))\r
+ break;\r
+\r
+ dumpStatus();\r
+ }\r
+ }\r
+\r
+ for (auto& m : messagesSent)\r
+ {\r
+ if (m.dispatchTime >= Time::getCurrentTime() - RelativeTime::milliseconds (250))\r
+ break;\r
+\r
+ m.dispatchTime = Time::getCurrentTime();\r
+ bi.sendMessageToDevice (m.packet);\r
+ //DBG ("Sending packet " << (int) m.packetIndex << " - " << m.packet.size() << " bytes, device " << bi.getDeviceIndex());\r
+\r
+ if (getTotalSizeOfMessagesSent() > 200)\r
+ break;\r
+ }\r
+ }\r
+\r
+ void handleACKFromDevice (ImplementationClass& bi, uint32 packetIndex) noexcept\r
+ {\r
+ //DBG ("ACK " << (int) packetIndex);\r
+\r
+ if (lastPacketIndexReceived != packetIndex)\r
+ {\r
+ lastPacketIndexReceived = packetIndex;\r
+\r
+ for (int i = messagesSent.size(); --i >= 0;)\r
+ {\r
+ auto& m = messagesSent.getReference(i);\r
+\r
+ if (m.packetIndex == packetIndex)\r
+ {\r
+ for (uint32 j = 0; j < blockSize; ++j)\r
+ deviceState[j] = m.resultDataState[j];\r
+\r
+ messagesSent.removeRange (0, i + 1);\r
+ dumpStatus();\r
+ sendChanges (bi);\r
+\r
+ if (messagesSent.isEmpty())\r
+ dataHasChanged = false;\r
+\r
+ return;\r
+ }\r
+ }\r
+\r
+ resetDeviceStateToUnknown();\r
+ }\r
+ }\r
+\r
+ bool isProgramLoaded() noexcept\r
+ {\r
+ if (! programStateKnown)\r
+ {\r
+ uint8 deviceMemory[ImplementationClass::maxBlockSize];\r
+ bool anyUnknowns = false;\r
+\r
+ for (size_t i = 0; i < blockSize; ++i)\r
+ {\r
+ anyUnknowns = (deviceState[i] > 255);\r
+ deviceMemory[i] = (uint8) deviceState[i];\r
+ }\r
+\r
+ programLoaded = ! anyUnknowns && littlefoot::Program (deviceMemory, (uint32) blockSize).checksumMatches();\r
+ programStateKnown = true;\r
+ }\r
+\r
+ return programLoaded;\r
+ }\r
+\r
+ const size_t blockSize;\r
+\r
+ static constexpr uint16 unknownByte = 0x100;\r
+\r
+private:\r
+ uint16 deviceState[ImplementationClass::maxBlockSize];\r
+ uint8 targetData[ImplementationClass::maxBlockSize] = { 0 };\r
+ bool dataHasChanged = true, programStateKnown = true, programLoaded = false;\r
+\r
+ void resetDeviceStateToUnknown()\r
+ {\r
+ invalidateData();\r
+ messagesSent.clear();\r
+\r
+ for (uint32 i = 0; i < ImplementationClass::maxBlockSize; ++i)\r
+ deviceState[i] = unknownByte;\r
+ }\r
+\r
+ struct ChangeMessage\r
+ {\r
+ typename ImplementationClass::PacketBuilder packet;\r
+ Time dispatchTime;\r
+ uint32 packetIndex;\r
+ uint16 resultDataState[ImplementationClass::maxBlockSize];\r
+ };\r
+\r
+ Array<ChangeMessage> messagesSent;\r
+ uint32 lastPacketIndexReceived = 0;\r
+\r
+ int getTotalSizeOfMessagesSent() const noexcept\r
+ {\r
+ int total = 0;\r
+\r
+ for (auto& m : messagesSent)\r
+ if (m.dispatchTime != Time())\r
+ total += m.packet.size();\r
+\r
+ return total;\r
+ }\r
+\r
+ void dumpStatus()\r
+ {\r
+ #if DUMP_LITTLEFOOT_HEAP_STATUS\r
+ int differences = 0;\r
+ constexpr int diffLen = 50;\r
+ char areas[diffLen + 1] = { 0 };\r
+\r
+ for (int i = 0; i < diffLen; ++i)\r
+ areas[i] = '.';\r
+\r
+ for (int i = 0; i < (int) blockSize; ++i)\r
+ {\r
+ if (targetData[i] != deviceState[i])\r
+ {\r
+ ++differences;\r
+ areas[i * diffLen / (int) blockSize] = 'X';\r
+ }\r
+ }\r
+\r
+ double proportionOK = ((int) blockSize - differences) / (double) blockSize;\r
+\r
+ juce::ignoreUnused (proportionOK);\r
+\r
+ DBG ("Heap: " << areas << " " << String (roundToInt (100 * proportionOK)) << "% "\r
+ << (isProgramLoaded() ? "Ready" : "Loading"));\r
+ #endif\r
+ }\r
+\r
+ struct Diff\r
+ {\r
+ Diff (uint16* current, const uint8* target, size_t blockSizeToUse)\r
+ : newData (target), blockSize (blockSizeToUse)\r
+ {\r
+ for (int i = 0; i < (int) blockSize; ++i)\r
+ ranges.add ({ i, 1, newData[i] == current[i], false });\r
+\r
+ coalesceUniformRegions();\r
+ coalesceSequences();\r
+ trim();\r
+ }\r
+\r
+ bool createChangeMessage (const ImplementationClass& bi,\r
+ const uint16* currentState,\r
+ Array<ChangeMessage>& messagesCreated,\r
+ uint32 nextPacketIndex)\r
+ {\r
+ if (ranges.isEmpty())\r
+ return false;\r
+\r
+ auto deviceIndex = bi.getDeviceIndex();\r
+\r
+ if (deviceIndex < 0)\r
+ return false;\r
+\r
+ messagesCreated.add ({});\r
+ auto& message = messagesCreated.getReference (messagesCreated.size() - 1);\r
+\r
+ message.packetIndex = nextPacketIndex;\r
+\r
+ for (uint32 i = 0; i < blockSize; ++i)\r
+ message.resultDataState[i] = currentState[i];\r
+\r
+ auto& p = message.packet;\r
+ p.writePacketSysexHeaderBytes ((uint8) deviceIndex);\r
+ p.beginDataChanges (nextPacketIndex);\r
+\r
+ uint8 lastValue = 0;\r
+ bool packetOverflow = false;\r
+\r
+ for (auto& r : ranges)\r
+ {\r
+ if (r.isSkipped)\r
+ {\r
+ packetOverflow = ! p.skipBytes (r.length);\r
+ }\r
+ else if (r.isMixed)\r
+ {\r
+ jassert (r.length > 1);\r
+ packetOverflow = ! p.setMultipleBytes (newData + r.index, r.length);\r
+\r
+ if (! packetOverflow)\r
+ lastValue = newData[r.index + r.length - 1];\r
+ }\r
+ else\r
+ {\r
+ auto value = newData[r.index];\r
+ packetOverflow = ! p.setMultipleBytes (value, lastValue, r.length);\r
+\r
+ if (! packetOverflow)\r
+ lastValue = value;\r
+ }\r
+\r
+ if (packetOverflow)\r
+ break;\r
+\r
+ if (! r.isSkipped)\r
+ for (int i = r.index; i < r.index + r.length; ++i)\r
+ message.resultDataState[i] = newData[i];\r
+ }\r
+\r
+ p.endDataChanges (! packetOverflow);\r
+ p.writePacketSysexFooter();\r
+\r
+ return packetOverflow;\r
+ }\r
+\r
+ private:\r
+ struct ByteSequence\r
+ {\r
+ int index, length;\r
+ bool isSkipped, isMixed;\r
+ };\r
+\r
+ const uint8* const newData;\r
+ const size_t blockSize;\r
+ Array<ByteSequence> ranges;\r
+\r
+ void coalesceUniformRegions()\r
+ {\r
+ for (int i = 0; i < ranges.size() - 1; ++i)\r
+ {\r
+ auto& r1 = ranges.getReference (i);\r
+ auto r2 = ranges.getReference (i + 1);\r
+\r
+ if (r1.isSkipped == r2.isSkipped\r
+ && (r1.isSkipped || newData[r1.index] == newData[r2.index]))\r
+ {\r
+ r1.length += r2.length;\r
+ ranges.remove (i + 1);\r
+ i = jmax (0, i - 2);\r
+ }\r
+ }\r
+ }\r
+\r
+ void coalesceSequences()\r
+ {\r
+ for (int i = 0; i < ranges.size() - 1; ++i)\r
+ {\r
+ auto& r1 = ranges.getReference (i);\r
+ auto r2 = ranges.getReference (i + 1);\r
+\r
+ if (! (r1.isSkipped || r2.isSkipped)\r
+ && (r1.isMixed || r1.length == 1)\r
+ && (r2.isMixed || r2.length == 1))\r
+ {\r
+ if (r1.length + r2.length < 32)\r
+ {\r
+ r1.length += r2.length;\r
+ r1.isMixed = true;\r
+ ranges.remove (i + 1);\r
+ i = jmax (0, i - 2);\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ void trim()\r
+ {\r
+ while (ranges.size() > 0 && ranges.getLast().isSkipped)\r
+ ranges.removeLast();\r
+ }\r
+ };\r
+};\r
+\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+namespace littlefoot\r
+{\r
+\r
+/*\r
+ This file contains classes and definitions for executing a littlefoot\r
+ bytecode program that was created with the littlefoot compiler.\r
+*/\r
+\r
+#if ! (defined (LITTLEFOOT_DEBUG_TRACE) || RUNNING_ON_REAL_BLOCK_DEVICE)\r
+ #define LITTLEFOOT_DEBUG_TRACE 0\r
+#endif\r
+\r
+#if ! (defined (LITTLEFOOT_DUMP_PROGRAM) || RUNNING_ON_REAL_BLOCK_DEVICE)\r
+ #define LITTLEFOOT_DUMP_PROGRAM 0\r
+#endif\r
+\r
+using int8 = char;\r
+using uint8 = unsigned char;\r
+using int16 = short;\r
+using uint16 = unsigned short;\r
+using int32 = int;\r
+using uint32 = unsigned int;\r
+using FunctionID = int16;\r
+\r
+#define LITTLEFOOT_OPCODES(OP, OP_INT8, OP_INT16, OP_INT32) \\r
+ OP (halt) \\r
+ OP_INT16 (jump) \\r
+ OP_INT16 (jumpIfTrue) \\r
+ OP_INT16 (jumpIfFalse) \\r
+ OP_INT16 (call) \\r
+ OP_INT8 (retVoid) \\r
+ OP_INT8 (retValue) \\r
+ OP_INT16 (callNative) \\r
+ OP (drop) \\r
+ OP_INT8 (dropMultiple) \\r
+ OP_INT8 (pushMultiple0) \\r
+ OP (push0) \\r
+ OP (push1) \\r
+ OP_INT8 (push8) \\r
+ OP_INT16 (push16) \\r
+ OP_INT32 (push32) \\r
+ OP (dup) \\r
+ OP (dupOffset_01) \\r
+ OP (dupOffset_02) \\r
+ OP (dupOffset_03) \\r
+ OP (dupOffset_04) \\r
+ OP (dupOffset_05) \\r
+ OP (dupOffset_06) \\r
+ OP (dupOffset_07) \\r
+ OP_INT8 (dupOffset) \\r
+ OP_INT16 (dupOffset16) \\r
+ OP_INT8 (dropToStack) \\r
+ OP_INT16 (dropToStack16) \\r
+ OP_INT16 (dupFromGlobal) \\r
+ OP_INT16 (dropToGlobal) \\r
+ OP (int32ToFloat) \\r
+ OP (floatToInt32) \\r
+ OP (add_int32) \\r
+ OP (add_float) \\r
+ OP (mul_int32) \\r
+ OP (mul_float) \\r
+ OP (sub_int32) \\r
+ OP (sub_float) \\r
+ OP (div_int32) \\r
+ OP (div_float) \\r
+ OP (mod_int32) \\r
+ OP (bitwiseOr) \\r
+ OP (bitwiseAnd) \\r
+ OP (bitwiseXor) \\r
+ OP (bitwiseNot) \\r
+ OP (bitShiftLeft) \\r
+ OP (bitShiftRight) \\r
+ OP (logicalOr) \\r
+ OP (logicalAnd) \\r
+ OP (logicalNot) \\r
+ OP (testZE_int32) \\r
+ OP (testNZ_int32) \\r
+ OP (testGT_int32) \\r
+ OP (testGE_int32) \\r
+ OP (testLT_int32) \\r
+ OP (testLE_int32) \\r
+ OP (testZE_float) \\r
+ OP (testNZ_float) \\r
+ OP (testGT_float) \\r
+ OP (testGE_float) \\r
+ OP (testLT_float) \\r
+ OP (testLE_float) \\r
+ OP (getHeapByte) \\r
+ OP (getHeapInt) \\r
+ OP (getHeapBits) \\r
+ OP (setHeapByte) \\r
+ OP (setHeapInt) \\r
+\r
+enum class OpCode : uint8\r
+{\r
+ #define LITTLEFOOT_OP(name) name,\r
+ LITTLEFOOT_OPCODES (LITTLEFOOT_OP, LITTLEFOOT_OP, LITTLEFOOT_OP, LITTLEFOOT_OP)\r
+ #undef LITTLEFOOT_OP\r
+ endOfOpcodes\r
+};\r
+\r
+/** Available value types */\r
+enum class Type : uint8\r
+{\r
+ void_ = 'v',\r
+ int_ = 'i',\r
+ bool_ = 'b',\r
+ float_ = 'f'\r
+};\r
+\r
+//==============================================================================\r
+/** Defines a native function that the program can call. */\r
+struct NativeFunction\r
+{\r
+ using ImplementationFunction = int32 (*) (void*, const int32*);\r
+\r
+ /** Creates a NativeFunction from its signature and an implementation function.\r
+ The format of nameAndArgumentTypes is "name/[return type][arg1][arg2..]"\r
+ So for example "int foobar (float, bool)" would be "foobar/ifb"\r
+ */\r
+ NativeFunction (const char* nameAndArgumentTypes, ImplementationFunction fn) noexcept\r
+ : nameAndArguments (nameAndArgumentTypes), function (fn),\r
+ functionID (createID (nameAndArgumentTypes)), returnType(), numArgs()\r
+ {\r
+ const int slash = indexOfSlash (nameAndArgumentTypes);\r
+\r
+ if (slash > 0)\r
+ {\r
+ returnType = static_cast<Type> (nameAndArgumentTypes[slash + 1]);\r
+\r
+ while (nameAndArgumentTypes[slash + 2 + numArgs] != 0)\r
+ ++numArgs;\r
+ }\r
+ }\r
+\r
+ const char* nameAndArguments; /**< This signature must have the form "name/[return type][arg1][arg2..]" */\r
+ ImplementationFunction function; /**< A static function that will be called. */\r
+ FunctionID functionID; /**< The ID is a hash of the name + arguments, but not the return type. */\r
+ Type returnType; /**< The function's return type. */\r
+ uint8 numArgs; /**< The number of arguments that the function takes. */\r
+\r
+ /** Converts a function signature to its hashed ID. */\r
+ static FunctionID createID (const char* nameAndArgTypes) noexcept\r
+ {\r
+ jassert (nameAndArgTypes != nullptr && nameAndArgTypes[0] != 0); // the name cannot be an empty string!\r
+ int hash = 0, i = 0;\r
+ const int slash = indexOfSlash (nameAndArgTypes);\r
+\r
+ jassert (slash > 0); // The slash can't be the first character in this string!\r
+ jassert (nameAndArgTypes[slash + 1] != 0); // The slash must be followed by a return type character\r
+ jassert (juce::String (nameAndArgTypes).substring (0, slash).containsOnly ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"));\r
+ jassert (! juce::String ("0123456789").containsChar (nameAndArgTypes[0]));\r
+ jassert (juce::String (nameAndArgTypes).substring (slash + 1).containsOnly ("vif"));\r
+ jassert (juce::String (nameAndArgTypes).substring (slash + 2).containsOnly ("if")); // arguments must only be of these types\r
+\r
+ for (; nameAndArgTypes[i] != 0; ++i)\r
+ if (i != slash + 1)\r
+ hash = hash * 31 + nameAndArgTypes[i];\r
+\r
+ return static_cast<FunctionID> (hash + i);\r
+ }\r
+\r
+private:\r
+ static int indexOfSlash (const char* nameAndArgs) noexcept\r
+ {\r
+ for (int i = 0; nameAndArgs[i] != 0; ++i)\r
+ if (nameAndArgs[i] == '/')\r
+ return i;\r
+\r
+ return -1;\r
+ }\r
+};\r
+\r
+//==============================================================================\r
+/**\r
+ A reference to a block of memory which contains a complete program.\r
+\r
+ Data format:\r
+ 2 bytes - program checksum\r
+ 2 bytes - program size\r
+ 2 bytes - num functions\r
+ 2 bytes - num globals\r
+ 2 bytes - amount of heap space needed (bytes)\r
+ 2 bytes - ID of function 1\r
+ 2 bytes - byte offset of function 1 code\r
+ 2 bytes - ID of function 2\r
+ 2 bytes - byte offset of function 2 code\r
+ etc..\r
+ ...function code...\r
+*/\r
+struct Program\r
+{\r
+ Program (const void* data, uint32 totalMemorySize) noexcept\r
+ : programStart (static_cast<const uint8*> (data)), maxProgramSize (totalMemorySize)\r
+ {\r
+ jassert (data != nullptr);\r
+ }\r
+\r
+ uint16 getStoredChecksum() const noexcept\r
+ {\r
+ return (uint16) readInt16 (programStart);\r
+ }\r
+\r
+ uint16 calculateChecksum() const noexcept\r
+ {\r
+ auto size = getProgramSize();\r
+ uint16 n = (uint16) size;\r
+\r
+ for (uint32 i = 2; i < size; ++i)\r
+ n += (n * 2) + programStart[i];\r
+\r
+ return n;\r
+ }\r
+\r
+ bool checksumMatches() const noexcept\r
+ {\r
+ return calculateChecksum() == getStoredChecksum();\r
+ }\r
+\r
+ uint32 getProgramSize() const noexcept\r
+ {\r
+ auto size = (uint16) readInt16 (programStart + 2);\r
+ return size < programHeaderSize ? programHeaderSize\r
+ : (size > maxProgramSize ? maxProgramSize : size);\r
+ }\r
+\r
+ uint32 getNumFunctions() const noexcept\r
+ {\r
+ return (uint16) readInt16 (programStart + 4);\r
+ }\r
+\r
+ FunctionID getFunctionID (uint32 functionIndex) const noexcept\r
+ {\r
+ if (auto f = getFunctionEntry (functionIndex))\r
+ return static_cast<FunctionID> (readInt16 (f));\r
+\r
+ return {};\r
+ }\r
+\r
+ const uint8* getFunctionStartAddress (uint32 functionIndex) const noexcept\r
+ {\r
+ if (auto f = getFunctionEntry (functionIndex))\r
+ {\r
+ uint32 address = (uint16) readInt16 (f + sizeof (FunctionID));\r
+\r
+ if (address < getProgramSize())\r
+ return programStart + address;\r
+ }\r
+\r
+ return {};\r
+ }\r
+\r
+ const uint8* getFunctionEndAddress (uint32 functionIndex) const noexcept\r
+ {\r
+ return ++functionIndex >= getNumFunctions() ? programStart + getProgramSize()\r
+ : getFunctionStartAddress (functionIndex);\r
+ }\r
+\r
+ /** Returns the number of global variables the program uses */\r
+ uint16 getNumGlobals() const noexcept\r
+ {\r
+ return (uint16) readInt16 (programStart + 6);\r
+ }\r
+\r
+ /** Returns the number of bytes of heap space the program needs */\r
+ uint16 getHeapSizeBytes() const noexcept\r
+ {\r
+ return (uint16) readInt16 (programStart + 8);\r
+ }\r
+\r
+ #if JUCE_DEBUG\r
+ //==============================================================================\r
+ /** Prints the assembly code for a given function. */\r
+ void dumpFunctionDisassembly (juce::OutputStream& out, uint32 functionIndex) const\r
+ {\r
+ out << juce::newLine << "Function #" << (int) functionIndex\r
+ << " (" << juce::String::toHexString (getFunctionID (functionIndex)) << ")" << juce::newLine;\r
+\r
+ if (auto codeStart = getFunctionStartAddress (functionIndex))\r
+ if (auto codeEnd = getFunctionEndAddress (functionIndex))\r
+ for (auto prog = codeStart; prog < codeEnd;)\r
+ out << getOpDisassembly (prog) << juce::newLine;\r
+ }\r
+\r
+ juce::String getOpDisassembly (const uint8*& prog) const\r
+ {\r
+ juce::String s;\r
+ s << juce::String::toHexString ((int) (prog - programStart)).paddedLeft ('0', 4) << ": ";\r
+ auto op = (OpCode) *prog++;\r
+\r
+ switch (op)\r
+ {\r
+ #define LITTLEFOOT_OP(name) case OpCode::name: s << #name; break;\r
+ #define LITTLEFOOT_OP_INT8(name) case OpCode::name: s << #name << " " << juce::String::toHexString ((int) *prog++).paddedLeft ('0', 2); break;\r
+ #define LITTLEFOOT_OP_INT16(name) case OpCode::name: s << #name << " " << juce::String::toHexString ((int) readInt16 (prog)).paddedLeft ('0', 4); prog += 2; break;\r
+ #define LITTLEFOOT_OP_INT32(name) case OpCode::name: s << #name << " " << juce::String::toHexString ((int) readInt32 (prog)).paddedLeft ('0', 8); prog += 4; break;\r
+ LITTLEFOOT_OPCODES (LITTLEFOOT_OP, LITTLEFOOT_OP_INT8, LITTLEFOOT_OP_INT16, LITTLEFOOT_OP_INT32)\r
+ #undef LITTLEFOOT_OP\r
+ #undef LITTLEFOOT_OP_INT8\r
+ #undef LITTLEFOOT_OP_INT16\r
+ #undef LITTLEFOOT_OP_INT32\r
+\r
+ default: s << "???"; break;\r
+ }\r
+\r
+ return s;\r
+ }\r
+\r
+ /** Calls dumpFunctionDisassembly() for all functions. */\r
+ void dumpAllFunctions (juce::OutputStream& out) const\r
+ {\r
+ DBG ("Program size: " << (int) getProgramSize() << " bytes");\r
+\r
+ for (uint32 i = 0; i < getNumFunctions(); ++i)\r
+ dumpFunctionDisassembly (out, i);\r
+ }\r
+ #endif\r
+\r
+ //==============================================================================\r
+ static float intToFloat (int32 value) noexcept { float v; copyFloatMem (&v, &value); return v; }\r
+ static int32 floatToInt (float value) noexcept { int32 v; copyFloatMem (&v, &value); return v; }\r
+\r
+ static int16 readInt16 (const uint8* d) noexcept { return (int16) (d[0] + (((uint16) d[1]) << 8)); }\r
+ static int32 readInt32 (const uint8* d) noexcept { return (int32) ((uint32) readInt16 (d) + (((uint32) readInt16 (d + 2)) << 16)); }\r
+\r
+ static void writeInt16 (uint8* d, int16 v) noexcept { d[0] = v & 0xff; d[1] = (uint8) (v >> 8); }\r
+ static void writeInt32 (uint8* d, int32 v) noexcept { writeInt16 (d, (int16) (v & 0xffff)); writeInt16 (d + 2, (int16) (v >> 16)); }\r
+\r
+ //==============================================================================\r
+ static constexpr uint32 programHeaderSize = 10;\r
+ const uint8* programStart = 0;\r
+ const uint32 maxProgramSize;\r
+\r
+private:\r
+ const uint8* getFunctionEntry (uint32 index) const noexcept\r
+ {\r
+ auto offset = programHeaderSize + index * (sizeof (FunctionID) + sizeof (int16));\r
+ return offset <= (uint32) (getProgramSize() - 4) ? programStart + offset : nullptr;\r
+ }\r
+\r
+ static void copyFloatMem (void* dest, const void* src) noexcept\r
+ {\r
+ for (int i = 0; i < 4; ++i)\r
+ ((uint8*) dest)[i] = ((const uint8*) src)[i];\r
+ }\r
+};\r
+\r
+\r
+//==============================================================================\r
+/**\r
+ Loads a program, and lets the user execute its functions.\r
+ The programAndHeapSpace is the number of bytes allocated for program + heap.\r
+ stackAndGlobalsSpace is the size of the globals + stack area.\r
+\r
+ Memory layout:\r
+\r
+ Program code goes at address 0, followed by any shared data the program needs\r
+ globals are at the top end of the buffer\r
+ stack space stretches downwards from the start of the globals\r
+*/\r
+template <int programAndHeapSpace, int stackAndGlobalsSpace>\r
+struct Runner\r
+{\r
+ Runner() noexcept : program (allMemory, sizeof (allMemory)) { reset(); }\r
+\r
+ /** Installs an array of native functions that the code can use.\r
+ Note that this doesn't take ownership of any memory involved, so the caller mustn't pass any dangling pointers\r
+ */\r
+ void setNativeFunctions (const NativeFunction* functions, int numFunctions, void* userDataForCallback) noexcept\r
+ {\r
+ nativeFunctions = functions;\r
+ numNativeFunctions = numFunctions;\r
+ nativeFunctionCallbackContext = userDataForCallback;\r
+ }\r
+\r
+ /** Returns the number of native functions available. */\r
+ int getNumNativeFunctions() const noexcept { return numNativeFunctions; }\r
+\r
+ /** Returns one of the native functions available. The index must not be out of range. */\r
+ const NativeFunction& getNativeFunction (int index) const noexcept { jassert (index >= 0 && index < numNativeFunctions); return nativeFunctions[index]; }\r
+\r
+ /** Clears the memory state. */\r
+ void reset() noexcept\r
+ {\r
+ for (uint32 i = 0; i < sizeof (allMemory); ++i)\r
+ allMemory[i] = 0;\r
+ }\r
+\r
+ /** Return codes from a function call */\r
+ enum class ErrorCode : uint8\r
+ {\r
+ ok = 0,\r
+ executionTimedOut,\r
+ unknownInstruction,\r
+ stackOverflow,\r
+ stackUnderflow,\r
+ illegalAddress,\r
+ divisionByZero,\r
+ unknownFunction\r
+ };\r
+\r
+ /** Calls one of the functions in the program, by its textual signature. */\r
+ ErrorCode callFunction (const char* functionSignature) noexcept\r
+ {\r
+ return FunctionExecutionContext (*this, functionSignature).run();\r
+ }\r
+\r
+ /** Calls one of the functions in the program, by its function ID. */\r
+ ErrorCode callFunction (FunctionID function) noexcept\r
+ {\r
+ return FunctionExecutionContext (*this, function).run();\r
+ }\r
+\r
+ /** */\r
+ static constexpr uint32 totalProgramAndHeapSpace = programAndHeapSpace;\r
+\r
+ /** */\r
+ static constexpr uint32 totalStackAndGlobalsSpace = stackAndGlobalsSpace;\r
+\r
+ /** */\r
+ static uint32 getMaximumProgramSize() noexcept { return programAndHeapSpace; }\r
+\r
+ /** */\r
+ uint8* getProgramAndDataStart() const noexcept { return const_cast<uint8*> (allMemory); }\r
+ /** */\r
+ uint8* getProgramAndDataEnd() const noexcept { return reinterpret_cast<uint8*> (stackStart); }\r
+ /** */\r
+ uint32 getProgramAndDataSize() const noexcept { return (uint32) (getProgramAndDataEnd() - getProgramAndDataStart()); }\r
+\r
+ /** */\r
+ uint8* getProgramHeapStart() const noexcept { return heapStart; }\r
+ /** */\r
+ uint8* getProgramHeapEnd() const noexcept { return getProgramAndDataEnd(); }\r
+ /** */\r
+ uint16 getProgramHeapSize() const noexcept { return heapSize; }\r
+\r
+ /** */\r
+ void setDataByte (uint32 index, uint8 value) noexcept\r
+ {\r
+ if (index < programAndHeapSpace)\r
+ {\r
+ if (index < program.getProgramSize())\r
+ heapStart = nullptr; // force a re-initialise of the memory layout when the program changes\r
+\r
+ getProgramAndDataStart()[index] = value;\r
+ }\r
+ }\r
+\r
+ /** */\r
+ void setHeapByte (uint32 index, uint8 value) noexcept\r
+ {\r
+ auto* addr = getProgramHeapStart() + index;\r
+\r
+ if (addr < getProgramHeapEnd())\r
+ *addr = value;\r
+ }\r
+\r
+ /** */\r
+ uint8 getHeapByte (uint32 index) const noexcept\r
+ {\r
+ const auto* addr = getProgramHeapStart() + index;\r
+ return addr < getProgramHeapEnd() ? *addr : 0;\r
+ }\r
+\r
+ /** */\r
+ uint32 getHeapBits (uint32 startBit, uint32 numBits) const noexcept\r
+ {\r
+ if (startBit + numBits > 8 * getProgramHeapSize())\r
+ {\r
+ jassertfalse;\r
+ return 0;\r
+ }\r
+\r
+ return readLittleEndianBitsInBuffer (getProgramHeapStart(), startBit, numBits);\r
+ }\r
+\r
+ /** */\r
+ int32 setHeapInt (uint32 byteOffset, uint32 value) noexcept\r
+ {\r
+ if (byteOffset < (uint32) (getProgramHeapSize() - 3))\r
+ Program::writeInt32 (getProgramHeapStart() + byteOffset, (int32) value);\r
+\r
+ return 0;\r
+ }\r
+\r
+ /** */\r
+ int32 getHeapInt (uint32 byteOffset) const noexcept\r
+ {\r
+ return byteOffset < getProgramHeapSize() - 3 ? Program::readInt32 (getProgramHeapStart() + byteOffset) : 0;\r
+ }\r
+\r
+ //==============================================================================\r
+ /** */\r
+ uint8 allMemory[((programAndHeapSpace + stackAndGlobalsSpace) + 3) & ~3];\r
+\r
+ /** */\r
+ Program program;\r
+\r
+ //==============================================================================\r
+ /**\r
+ */\r
+ struct FunctionExecutionContext\r
+ {\r
+ FunctionExecutionContext() noexcept : programCounter (nullptr) {}\r
+ FunctionExecutionContext (const FunctionExecutionContext&) noexcept = default;\r
+ FunctionExecutionContext& operator= (const FunctionExecutionContext&) noexcept = default;\r
+\r
+ /** */\r
+ FunctionExecutionContext (Runner& r, const char* functionSignature) noexcept\r
+ : FunctionExecutionContext (r, NativeFunction::createID (functionSignature)) {}\r
+\r
+ /** */\r
+ FunctionExecutionContext (Runner& r, FunctionID function) noexcept\r
+ : runner (&r.reinitialiseProgramLayoutIfProgramHasChanged()),\r
+ programBase (r.program.programStart), heapStart (r.heapStart),\r
+ stack (r.stackEnd), stackStart (r.stackStart), stackEnd (r.stackEnd),\r
+ globals (r.globals), heapSize (r.heapSize),\r
+ programSize (r.program.getProgramSize()),\r
+ numGlobals (r.program.getNumGlobals())\r
+ {\r
+ if (r.heapStart != nullptr)\r
+ {\r
+ auto& prog = r.program;\r
+ auto numFunctions = prog.getNumFunctions();\r
+\r
+ for (uint32 i = 0; i < numFunctions; ++i)\r
+ {\r
+ if (prog.getFunctionID (i) == function)\r
+ {\r
+ programCounter = prog.getFunctionStartAddress (i);\r
+ functionEnd = prog.getFunctionEndAddress (i);\r
+ tos = *--stack = 0;\r
+ return;\r
+ }\r
+ }\r
+ }\r
+\r
+ programCounter = nullptr;\r
+ }\r
+\r
+ /** */\r
+ bool isValid() const noexcept\r
+ {\r
+ return programCounter != nullptr && runner->heapStart != nullptr;\r
+ }\r
+\r
+ /** */\r
+ void reset() noexcept\r
+ {\r
+ programCounter = nullptr;\r
+ }\r
+\r
+ /** */\r
+ template <typename... Args>\r
+ void setArguments (Args... args) noexcept { pushArguments (args...); push0(); /* (dummy return address) */ }\r
+\r
+ /** */\r
+ template <typename TimeOutCheckFunction>\r
+ ErrorCode run (TimeOutCheckFunction hasTimedOut) noexcept\r
+ {\r
+ if (! isValid())\r
+ return ErrorCode::unknownFunction;\r
+\r
+ error = ErrorCode::unknownInstruction;\r
+ uint16 opsPerformed = 0;\r
+\r
+ for (;;)\r
+ {\r
+ if (programCounter >= functionEnd)\r
+ return error;\r
+\r
+ if ((++opsPerformed & 63) == 0 && hasTimedOut())\r
+ return ErrorCode::executionTimedOut;\r
+\r
+ dumpDebugTrace();\r
+\r
+ auto op = (OpCode) *programCounter++;\r
+\r
+ #define LITTLEFOOT_PERFORM_OP(name) case OpCode::name: name(); break;\r
+ #define LITTLEFOOT_PERFORM_OP_INT8(name) case OpCode::name: name ((int8) *programCounter++); break;\r
+ #define LITTLEFOOT_PERFORM_OP_INT16(name) case OpCode::name: name (readProgram16()); break;\r
+ #define LITTLEFOOT_PERFORM_OP_INT32(name) case OpCode::name: name (readProgram32()); break;\r
+\r
+ switch (op)\r
+ {\r
+ LITTLEFOOT_OPCODES (LITTLEFOOT_PERFORM_OP, LITTLEFOOT_PERFORM_OP_INT8, LITTLEFOOT_PERFORM_OP_INT16, LITTLEFOOT_PERFORM_OP_INT32)\r
+ default: setError (ErrorCode::unknownInstruction); break;\r
+ }\r
+\r
+ jassert (programCounter != nullptr);\r
+ }\r
+ }\r
+\r
+ private:\r
+ //==============================================================================\r
+ Runner* runner;\r
+ const uint8* programCounter;\r
+ const uint8* functionEnd;\r
+ const uint8* programBase;\r
+ uint8* heapStart;\r
+ int32* stack;\r
+ int32* stackStart;\r
+ int32* stackEnd;\r
+ int32* globals;\r
+ uint16 heapSize, programSize, numGlobals;\r
+ int32 tos; // top of stack\r
+ ErrorCode error;\r
+\r
+ template <typename Type1, typename... Args> void pushArguments (Type1 arg1, Args... args) noexcept { pushArguments (args...); push32 (arg1); }\r
+ void pushArguments (int32 arg1) noexcept { push32 (arg1); }\r
+ void pushArguments (float arg1) noexcept { push32 (Program::floatToInt (arg1)); }\r
+\r
+ int16 readProgram16() noexcept { auto v = Program::readInt16 (programCounter); programCounter += sizeof (int16); return v; }\r
+ int32 readProgram32() noexcept { auto v = Program::readInt32 (programCounter); programCounter += sizeof (int32); return v; }\r
+\r
+ void setError (ErrorCode e) noexcept { error = e; programCounter = functionEnd; jassert (error == ErrorCode::ok); }\r
+\r
+ bool checkStackUnderflow() noexcept { if (stack <= stackEnd) return true; setError (ErrorCode::stackUnderflow); return false; }\r
+ bool flushTopToStack() noexcept { if (--stack < stackStart) { setError (ErrorCode::stackOverflow); return false; } *stack = tos; return true; }\r
+\r
+ using IntBinaryOp = int32 (int32, int32);\r
+ using FloatBinaryOp = float (float, float);\r
+\r
+ void binaryOp (IntBinaryOp f) noexcept { if (checkStackUnderflow()) tos = f (*stack++, tos); }\r
+ void binaryOp (FloatBinaryOp f) noexcept { if (checkStackUnderflow()) tos = Program::floatToInt (f (Program::intToFloat (*stack++), Program::intToFloat (tos))); }\r
+\r
+ void halt() noexcept { setError (ErrorCode::ok); }\r
+ void jump (int16 addr) noexcept { if (((uint16) addr) >= programSize) return setError (ErrorCode::illegalAddress); programCounter = programBase + (uint16) addr; }\r
+ void jumpIfTrue (int16 addr) noexcept { bool v = tos; drop(); if (v) jump (addr); }\r
+ void jumpIfFalse (int16 addr) noexcept { bool v = tos; drop(); if (! v) jump (addr); }\r
+ void call (int16 fnAddr) noexcept { if (flushTopToStack()) { tos = (int32) (programCounter - programBase); jump (fnAddr); } }\r
+ void retVoid (int8 numArgs) noexcept { if (tos == 0) return setError (ErrorCode::ok); auto retAddr = (int16) tos; stack += (uint8) numArgs; if (checkStackUnderflow()) { tos = *stack++; jump (retAddr); } }\r
+ void retValue (int8 numArgs) noexcept { auto retAddr = (int16) *stack++; if (retAddr == 0) return setError (ErrorCode::ok); stack += (uint8) numArgs; if (checkStackUnderflow()) jump (retAddr); }\r
+ void drop() noexcept { if (checkStackUnderflow()) tos = *stack++; }\r
+ void dropMultiple (int8 num) noexcept { if (num < 0) { stack -= num; checkStackUnderflow(); } else { stack += num - 1; drop(); }}\r
+ void pushMultiple0 (int8 num) noexcept { if (stack - num <= stackStart) return setError (ErrorCode::stackOverflow); flushTopToStack(); for (int i = (uint8) num; --i > 0;) *--stack = 0; tos = 0; }\r
+ void push0() noexcept { push32 (0); }\r
+ void push1() noexcept { push32 (1); }\r
+ void push8 (int8 value) noexcept { push32 (value); }\r
+ void push16 (int16 value) noexcept { push32 (value); }\r
+ void push32 (int32 value) noexcept { flushTopToStack(); tos = value; }\r
+ void dup() noexcept { flushTopToStack(); }\r
+ void dupOffset_01() noexcept { dupOffset16 (1); }\r
+ void dupOffset_02() noexcept { dupOffset16 (2); }\r
+ void dupOffset_03() noexcept { dupOffset16 (3); }\r
+ void dupOffset_04() noexcept { dupOffset16 (4); }\r
+ void dupOffset_05() noexcept { dupOffset16 (5); }\r
+ void dupOffset_06() noexcept { dupOffset16 (6); }\r
+ void dupOffset_07() noexcept { dupOffset16 (7); }\r
+ void dupOffset (int8 offset) noexcept { dupOffset16 ((uint8) offset); }\r
+ void dupOffset16 (int16 offset) noexcept { if (flushTopToStack()) { auto addr = stack + offset; if (addr < stackStart || addr >= stackEnd) return setError (ErrorCode::illegalAddress); tos = *addr; } }\r
+ void dropToStack (int8 offset) noexcept { dropToStack16 ((uint8) offset); }\r
+ void dropToStack16 (int16 offset) noexcept { auto addr = stack + offset; if (addr < stackStart || addr >= stackEnd) return setError (ErrorCode::illegalAddress); *addr = tos; drop(); }\r
+ void dupFromGlobal (int16 index) noexcept { if (flushTopToStack()) { if (((uint16) index) >= numGlobals) return setError (ErrorCode::illegalAddress); tos = globals [(uint16) index]; } }\r
+ void dropToGlobal (int16 index) noexcept { if (((uint16) index) >= numGlobals) return setError (ErrorCode::illegalAddress); globals [(uint16) index] = tos; drop(); }\r
+ void int32ToFloat() noexcept { tos = Program::floatToInt (static_cast<float> (tos)); }\r
+ void floatToInt32() noexcept { tos = static_cast<int32> (Program::intToFloat (tos)); }\r
+ void add_int32() noexcept { binaryOp ([] (int32 a, int32 b) { return a + b; }); }\r
+ void add_float() noexcept { binaryOp ([] (float a, float b) { return a + b; }); }\r
+ void mul_int32() noexcept { binaryOp ([] (int32 a, int32 b) { return a * b; }); }\r
+ void mul_float() noexcept { binaryOp ([] (float a, float b) { return a * b; }); }\r
+ void sub_int32() noexcept { binaryOp ([] (int32 a, int32 b) { return a - b; }); }\r
+ void sub_float() noexcept { binaryOp ([] (float a, float b) { return a - b; }); }\r
+ void div_int32() noexcept { if (tos == 0) return setError (ErrorCode::divisionByZero); binaryOp ([] (int32 a, int32 b) { return a / b; }); }\r
+ void div_float() noexcept { if (tos == 0) return setError (ErrorCode::divisionByZero); binaryOp ([] (float a, float b) { return a / b; }); }\r
+ void mod_int32() noexcept { if (tos == 0) return setError (ErrorCode::divisionByZero); binaryOp ([] (int32 a, int32 b) { return a % b; }); }\r
+ void bitwiseOr() noexcept { binaryOp ([] (int32 a, int32 b) { return a | b; }); }\r
+ void bitwiseAnd() noexcept { binaryOp ([] (int32 a, int32 b) { return a & b; }); }\r
+ void bitwiseXor() noexcept { binaryOp ([] (int32 a, int32 b) { return a ^ b; }); }\r
+ void bitShiftLeft() noexcept { binaryOp ([] (int32 a, int32 b) { return a << b; }); }\r
+ void bitShiftRight() noexcept { binaryOp ([] (int32 a, int32 b) { return a >> b; }); }\r
+ void logicalOr() noexcept { binaryOp ([] (int32 a, int32 b) { return (int32) (a || b); }); }\r
+ void logicalAnd() noexcept { binaryOp ([] (int32 a, int32 b) { return (int32) (a && b); }); }\r
+ void logicalNot() noexcept { tos = ! tos; }\r
+ void bitwiseNot() noexcept { tos = ~tos; }\r
+ void testZE_int32() noexcept { tos = (tos == 0); }\r
+ void testNZ_int32() noexcept { tos = (tos != 0); }\r
+ void testGT_int32() noexcept { tos = (tos > 0); }\r
+ void testGE_int32() noexcept { tos = (tos >= 0); }\r
+ void testLT_int32() noexcept { tos = (tos < 0); }\r
+ void testLE_int32() noexcept { tos = (tos <= 0); }\r
+ void testZE_float() noexcept { tos = (Program::intToFloat (tos) == 0.0f); }\r
+ void testNZ_float() noexcept { tos = (Program::intToFloat (tos) != 0.0f); }\r
+ void testGT_float() noexcept { tos = (Program::intToFloat (tos) > 0.0f); }\r
+ void testGE_float() noexcept { tos = (Program::intToFloat (tos) >= 0.0f); }\r
+ void testLT_float() noexcept { tos = (Program::intToFloat (tos) < 0.0f); }\r
+ void testLE_float() noexcept { tos = (Program::intToFloat (tos) <= 0.0f); }\r
+ void getHeapByte() noexcept { tos = runner->getHeapByte ((uint32) tos); }\r
+ void getHeapInt() noexcept { tos = runner->getHeapInt ((uint32) tos); }\r
+ void getHeapBits() noexcept { if (checkStackUnderflow()) tos = runner->getHeapBits ((uint32) tos, (uint32) *stack++); }\r
+ void setHeapByte() noexcept { if (checkStackUnderflow()) runner->setHeapByte ((uint32) tos, (uint8) *stack++); drop(); }\r
+ void setHeapInt() noexcept { if (checkStackUnderflow()) runner->setHeapInt ((uint32) tos, (uint32) *stack++); drop(); }\r
+\r
+ void callNative (FunctionID functionID) noexcept\r
+ {\r
+ auto numFunctions = runner->numNativeFunctions;\r
+ auto* functions = runner->nativeFunctions;\r
+\r
+ for (int i = 0; i < numFunctions; ++i)\r
+ {\r
+ const auto& f = functions[i];\r
+\r
+ if (f.functionID == functionID)\r
+ {\r
+ if (flushTopToStack())\r
+ {\r
+ tos = f.function (runner->nativeFunctionCallbackContext, stack);\r
+ stack += f.numArgs;\r
+\r
+ if (checkStackUnderflow() && f.returnType == Type::void_)\r
+ drop();\r
+ }\r
+\r
+ return;\r
+ }\r
+ }\r
+\r
+ setError (ErrorCode::unknownFunction);\r
+ }\r
+\r
+ void dumpDebugTrace() const\r
+ {\r
+ #if LITTLEFOOT_DEBUG_TRACE // Dumps the program counter and stack, for debugging\r
+ juce::MemoryOutputStream dump;\r
+ auto progCopy = programCounter;\r
+ dump << juce::String (runner->program.getOpDisassembly (progCopy)).paddedRight (' ', 26)\r
+ << juce::String::toHexString (tos) << ' ';\r
+\r
+ for (auto s = stack; s < stackEnd; ++s)\r
+ dump << juce::String::toHexString (*s) << ' ';\r
+\r
+ DBG (dump.toString());\r
+ #endif\r
+ }\r
+ };\r
+\r
+private:\r
+ //==============================================================================\r
+ const NativeFunction* nativeFunctions;\r
+ int numNativeFunctions = 0;\r
+ void* nativeFunctionCallbackContext = nullptr;\r
+ uint8* heapStart = nullptr;\r
+ int32* stackStart = nullptr;\r
+ int32* stackEnd = nullptr;\r
+ int32* globals = nullptr;\r
+ uint16 heapSize = 0;\r
+\r
+ Runner& reinitialiseProgramLayoutIfProgramHasChanged() noexcept\r
+ {\r
+ if (heapStart == nullptr && program.checksumMatches())\r
+ {\r
+ auto numGlobals = program.getNumGlobals();\r
+ globals = reinterpret_cast<int32*> (allMemory + sizeof (allMemory)) - numGlobals;\r
+ heapStart = getProgramAndDataStart() + program.getProgramSize();\r
+ heapSize = program.getHeapSizeBytes();\r
+ stackEnd = globals;\r
+ stackStart = reinterpret_cast<int32*> (heapStart + heapSize);\r
+\r
+ if ((uint8*) globals < heapStart || stackStart + 32 > stackEnd)\r
+ {\r
+ jassertfalse;\r
+ heapStart = nullptr;\r
+ }\r
+ else\r
+ {\r
+ for (uint32 i = 0; i < numGlobals; ++i)\r
+ globals[i] = 0; // clear globals\r
+\r
+ #if LITTLEFOOT_DUMP_PROGRAM\r
+ juce::MemoryOutputStream m;\r
+ program.dumpAllFunctions (m);\r
+ DBG (m.toString());\r
+ #endif\r
+ }\r
+ }\r
+\r
+ return *this;\r
+ }\r
+};\r
+}\r
--- /dev/null
+\r
+A blocks packet consists of a stream of packed bits.\r
+
+The first 7 bits of a message is the index of the device within the topology to which the
+message should be delivered, or from which it originated. The 0x40 bit of this will be set
+to indicate that it's a device->host message, or clear for host->device
+\r
+The next 32 bits are a timestamp, in milliseconds since the source device was booted.
+If sending from the host to the device, or for types of packet \r
+where the timestamp is irrelevant, this can be 0.\r
+\r
+This is followed by a sequence of 1 or more messages. Each message starts with\r
+a 7 bit message type, followed by message-type-specific data.\r
+\r
+\r
+---------------------------------------------------------------------------------------\r
+Device topology update (device -> host)\r
+\r
+7 bits - message type (0x01)\r
+7 bits - number of device-info blocks to follow\r
+8 bits - number of connection-info blocks to follow\r
+\r
+This is followed by a series of device-info blocks of the form:\r
+\r
+10 bits - device model identifier (see code for list of types)\r
+32 bits - device GUID\r
+10 bits - device firmware version\r
+6 bits - battery status\r
+\r
+Next follows by a series of connection-info blocks of ths form:\r
+\r
+7 bits - device 1 index (i.e. index in the list of devices sent above)\r
+5 bits - device 1 port type\r
+7 bits - device 2 index\r
+5 bits - device 2 port type\r
+\r
+Ports are indicated by being either North, South, East or West on a device, plus\r
+an index to indicate their position along that edge.\r
+\r
+---------------------------------------------------------------------------------------\r
+Control button down/up (device -> host)\r
+\r
+7 bits - message type (down = 0x20, up = 0x21)\r
+7 bits - device index\r
+12 bits - control button ID (see code for values)\r
+\r
+---------------------------------------------------------------------------------------\r
+Touch start/move/end (device -> host)\r
+\r
+7 bits - message type (start = 0x10, move = 0x11, end = 0x12)\r
+7 bits - device index\r
+5 bits - touch index\r
+12 bits - touch X position\r
+12 bits - touch Y position\r
+8 bits - touch Z position\r
+\r
+---------------------------------------------------------------------------------------\r
+Touch start/move/end with velocity (device -> host)\r
+\r
+7 bits - message type (start = 0x13, move = 0x14, end = 0x15)\r
+7 bits - device index\r
+5 bits - touch index\r
+12 bits - touch X position\r
+12 bits - touch Y position\r
+8 bits - touch Z position\r
+8 bits - X velocity\r
+8 bits - Y velocity\r
+8 bits - Z velocity\r
+\r
+---------------------------------------------------------------------------------------\r
+---------------------------------------------------------------------------------------\r
+Device command message (host -> device)\r
+\r
+7 bits - message type (0x01)\r
+8 bits - command type\r
+\r
+Command types:\r
+\r
+ resetDevice = 0x00,\r
+ requestTopologyMessage = 0x01,\r
+ setHighResTouchDetectionMode = 0x02,\r
+ setLowResTouchDetectionMode = 0x03,\r
+\r
+---------------------------------------------------------------------------------------\r
+Modify shared state data block\r
+\r
+7 bits - message type (0x02)\r
+\r
+..then repeatedly:\r
+ 3 bits - type of data change command\r
+ ...extra command-specific bits..\r
+ 3 bits - type of data change command\r
+ ..etc..\r
+ 3 bits - end of sequence command\r
+\r
+\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ All sysex messages to or from a BLOCKS device begin with these header bytes.\r
+ The next byte that follows indicates the device index within the topology, where\r
+ the 0x40 bit is set for device->host messages, and clear for host->device messages.\r
+ The lower 6 bits contain the topology index of the destination or source device.\r
+*/\r
+static const uint8 roliSysexHeader[] = { 0xf0, 0x00, 0x21, 0x10, 0x77 };\r
+\r
+\r
+static uint8 calculatePacketChecksum (const uint8* data, uint32 size) noexcept\r
+{\r
+ uint8 checksum = (uint8) size;\r
+\r
+ for (uint32 i = 0; i < size; ++i)\r
+ checksum += checksum * 2 + data[i];\r
+\r
+ return checksum & 0x7f;\r
+}\r
+\r
+\r
+//==============================================================================\r
+template <int numBits>\r
+struct IntegerWithBitSize\r
+{\r
+ IntegerWithBitSize() noexcept = default;\r
+ IntegerWithBitSize (const IntegerWithBitSize&) noexcept = default;\r
+ IntegerWithBitSize& operator= (const IntegerWithBitSize&) noexcept = default;\r
+\r
+ IntegerWithBitSize (uint32 v) noexcept : value (v)\r
+ {\r
+ static_assert (numBits <= 32, "numBits must be <= 32");\r
+ jassert (v >= 0 && v <= maxValue);\r
+ }\r
+\r
+ enum\r
+ {\r
+ bits = numBits,\r
+ maxValue = static_cast<uint32> ((1ULL << numBits) - 1ULL)\r
+ };\r
+\r
+ operator uint32() const noexcept { return value; }\r
+ uint32 get() const noexcept { return value; }\r
+\r
+ uint8 getScaledToByte() const noexcept\r
+ {\r
+ return (uint8) (numBits < 8 ? (uint32) (value << (8 - numBits))\r
+ : (uint32) (value >> (numBits - 8)));\r
+ }\r
+\r
+ float toUnipolarFloat() const noexcept { return value / (float) maxValue; }\r
+ float toBipolarFloat() const noexcept { return static_cast<int32> (value << (32 - numBits)) / (float) 0x80000000u; }\r
+\r
+ static IntegerWithBitSize fromUnipolarFloat (float value) noexcept\r
+ {\r
+ static_assert (numBits <= 31, "numBits must be <= 31");\r
+ return IntegerWithBitSize ((uint32) jlimit (0, (int) maxValue, (int) (value * maxValue)));\r
+ }\r
+\r
+ static IntegerWithBitSize fromBipolarFloat (float value) noexcept\r
+ {\r
+ static_assert (numBits <= 31, "numBits must be <= 31");\r
+ return IntegerWithBitSize (maxValue & (uint32) jlimit ((int) -(maxValue / 2), (int) (maxValue / 2), (int) (value * (maxValue / 2))));\r
+ }\r
+\r
+ uint32 value = 0;\r
+};\r
+\r
+//==============================================================================\r
+/**\r
+ This helper class allocates a block of 7-bit bytes and can push sequences of bits into it.\r
+ @see Packed7BitArrayReader\r
+*/\r
+template <int allocatedBytes>\r
+struct Packed7BitArrayBuilder\r
+{\r
+ const void* getData() const noexcept { return data; }\r
+ int size() const noexcept { return bytesWritten + (bitsInCurrentByte > 0 ? 1 : 0); }\r
+\r
+ bool hasCapacity (int bitsNeeded) const noexcept\r
+ {\r
+ return ((bytesWritten + 2) * 7 + bitsInCurrentByte + bitsNeeded) <= allocatedBytes * 7;\r
+ }\r
+\r
+ void writeHeaderSysexBytes (uint8 deviceIndex) noexcept\r
+ {\r
+ jassert (bytesWritten + bitsInCurrentByte == 0);\r
+\r
+ for (int i = 0; i < (int) sizeof (roliSysexHeader); ++i)\r
+ data[bytesWritten++] = roliSysexHeader[i];\r
+\r
+ jassert (deviceIndex < 128);\r
+ data[bytesWritten++] = deviceIndex & 0x7f;\r
+ }\r
+\r
+ void writePacketSysexFooter() noexcept\r
+ {\r
+ if (bitsInCurrentByte != 0)\r
+ {\r
+ bitsInCurrentByte = 0;\r
+ ++bytesWritten;\r
+ }\r
+\r
+ jassert (hasCapacity (0));\r
+\r
+ uint32 headerBytes = (uint32) sizeof (roliSysexHeader) + 1;\r
+ data[bytesWritten] = calculatePacketChecksum (data + headerBytes, (uint32) bytesWritten - headerBytes);\r
+ ++bytesWritten;\r
+\r
+ data[bytesWritten++] = 0xf7;\r
+ }\r
+\r
+ template <int numBits>\r
+ Packed7BitArrayBuilder& operator<< (IntegerWithBitSize<numBits> value) noexcept\r
+ {\r
+ writeBits (value.value, numBits);\r
+ return *this;\r
+ }\r
+\r
+ void writeBits (uint32 value, int numBits) noexcept\r
+ {\r
+ jassert (numBits <= 32);\r
+ jassert (hasCapacity (numBits));\r
+ jassert (numBits == 32 || (value >> numBits) == 0);\r
+\r
+ while (numBits > 0)\r
+ {\r
+ if (bitsInCurrentByte == 0)\r
+ {\r
+ if (numBits < 7)\r
+ {\r
+ data[bytesWritten] = (uint8) value;\r
+ bitsInCurrentByte = numBits;\r
+ return;\r
+ }\r
+\r
+ if (numBits == 7)\r
+ {\r
+ data[bytesWritten++] = (uint8) value;\r
+ return;\r
+ }\r
+\r
+ data[bytesWritten++] = (uint8) (value & 0x7f);\r
+ value >>= 7;\r
+ numBits -= 7;\r
+ }\r
+ else\r
+ {\r
+ const int bitsToDo = jmin (7 - bitsInCurrentByte, numBits);\r
+\r
+ data[bytesWritten] |= ((value & ((1 << bitsToDo) - 1)) << bitsInCurrentByte);\r
+ value >>= bitsToDo;\r
+ numBits -= bitsToDo;\r
+ bitsInCurrentByte += bitsToDo;\r
+\r
+ if (bitsInCurrentByte == 7)\r
+ {\r
+ bitsInCurrentByte = 0;\r
+ ++bytesWritten;\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ struct State\r
+ {\r
+ int bytesWritten, bitsInCurrentByte;\r
+ };\r
+\r
+ State getState() const noexcept\r
+ {\r
+ return { bytesWritten, bitsInCurrentByte };\r
+ }\r
+\r
+ void restore (State state) noexcept\r
+ {\r
+ bytesWritten = state.bytesWritten;\r
+ bitsInCurrentByte = state.bitsInCurrentByte;\r
+ }\r
+\r
+private:\r
+ uint8 data[allocatedBytes];\r
+ int bytesWritten = 0, bitsInCurrentByte = 0;\r
+};\r
+\r
+\r
+//==============================================================================\r
+/**\r
+ This helper class reads from a block of 7-bit bytes as sequences of bits.\r
+ @see Packed7BitArrayBuilder\r
+*/\r
+struct Packed7BitArrayReader\r
+{\r
+ Packed7BitArrayReader (const void* sourceData, int numBytes) noexcept\r
+ : data (static_cast<const uint8*> (sourceData)), totalBits (numBytes * 7)\r
+ {\r
+ }\r
+\r
+ int getRemainingBits() const noexcept\r
+ {\r
+ return totalBits - bitsReadInCurrentByte;\r
+ }\r
+\r
+ template <typename Target>\r
+ Target read() noexcept\r
+ {\r
+ return Target (readBits (Target::bits));\r
+ }\r
+\r
+ uint32 readBits (int numBits) noexcept\r
+ {\r
+ jassert (numBits <= 32);\r
+ jassert (getRemainingBits() >= numBits);\r
+\r
+ uint32 value = 0;\r
+ int bitsSoFar = 0;\r
+\r
+ while (numBits > 0)\r
+ {\r
+ const uint32 valueInCurrentByte = (*data >> bitsReadInCurrentByte);\r
+\r
+ const int bitsAvailable = 7 - bitsReadInCurrentByte;\r
+\r
+ if (bitsAvailable > numBits)\r
+ {\r
+ value |= ((valueInCurrentByte & ((1 << numBits) - 1)) << bitsSoFar);\r
+ bitsReadInCurrentByte += numBits;\r
+ break;\r
+ }\r
+\r
+ value |= (valueInCurrentByte << bitsSoFar);\r
+ numBits -= bitsAvailable;\r
+ bitsSoFar += bitsAvailable;\r
+ bitsReadInCurrentByte = 0;\r
+ ++data;\r
+ totalBits -= 7;\r
+ }\r
+\r
+ return value;\r
+ }\r
+\r
+ static bool checksumIsOK (const uint8* data, uint32 size) noexcept\r
+ {\r
+ return size > 1 && calculatePacketChecksum (data, size - 1) == data[size - 1];\r
+ }\r
+\r
+private:\r
+ const uint8* data;\r
+ int totalBits, bitsReadInCurrentByte = 0;\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+// This file isn't part of the public API, it's where we encode the knowledge base\r
+// of all the different types of block we know about..\r
+\r
+struct BlockDataSheet\r
+{\r
+ BlockDataSheet (const BlocksProtocol::BlockSerialNumber& serial) : serialNumber (serial)\r
+ {\r
+ if (serialNumber.isPadBlock()) initialiseForPadBlock2x2();\r
+ if (serialNumber.isLiveBlock()) initialiseForControlBlockLive();\r
+ if (serialNumber.isLoopBlock()) initialiseForControlBlockLoop();\r
+ if (serialNumber.isDevCtrlBlock()) initialiseForControlBlockDeveloper();\r
+ }\r
+\r
+ Block::ConnectionPort convertPortIndexToConnectorPort (BlocksProtocol::ConnectorPort port) const noexcept\r
+ {\r
+ return ports[(int) port.get()];\r
+ }\r
+\r
+ const BlocksProtocol::BlockSerialNumber serialNumber;\r
+ Block::Type apiType = Block::Type::unknown;\r
+\r
+ const char* description = nullptr;\r
+\r
+ int widthUnits = 0, heightUnits = 0;\r
+\r
+ int lightGridWidth = 0, lightGridHeight = 0, lightGridStartIndex = 0;\r
+\r
+ bool hasTouchSurface = false;\r
+ int numKeywaves = 0;\r
+\r
+ int numLEDRowLEDs = 0;\r
+\r
+ uint32 programAndHeapSize = 0;\r
+\r
+ struct ButtonInfo\r
+ {\r
+ ControlButton::ButtonFunction type;\r
+ float x, y;\r
+ };\r
+\r
+ struct StatusLEDInfo\r
+ {\r
+ juce::String name;\r
+ float x, y;\r
+ };\r
+\r
+ juce::Array<ButtonInfo> buttons;\r
+ juce::Array<StatusLEDInfo> statusLEDs;\r
+ juce::Array<Block::ConnectionPort> ports;\r
+ juce::Array<const char*> dials;\r
+\r
+private:\r
+ //==============================================================================\r
+ void initialiseForPadBlock2x2()\r
+ {\r
+ apiType = Block::Type::lightPadBlock;\r
+\r
+ description = "Pad BLOCK (2x2)";\r
+\r
+ widthUnits = 2;\r
+ heightUnits = 2;\r
+\r
+ lightGridWidth = 15;\r
+ lightGridHeight = 15;\r
+\r
+ addPorts (2, 2, 2, 2);\r
+\r
+ hasTouchSurface = true;\r
+ programAndHeapSize = BlocksProtocol::padBlockProgramAndHeapSize;\r
+\r
+ addModeButton();\r
+ }\r
+\r
+ void initialiseForControlBlockLoop()\r
+ {\r
+ initialiseControlBlock ("Loop BLOCK", Block::Type::loopBlock,\r
+ ControlButton::ButtonFunction::mode,\r
+ ControlButton::ButtonFunction::volume,\r
+ ControlButton::ButtonFunction::click,\r
+ ControlButton::ButtonFunction::snap,\r
+ ControlButton::ButtonFunction::back,\r
+ ControlButton::ButtonFunction::playOrPause,\r
+ ControlButton::ButtonFunction::record,\r
+ ControlButton::ButtonFunction::learn,\r
+ ControlButton::ButtonFunction::down,\r
+ ControlButton::ButtonFunction::up);\r
+ }\r
+\r
+ void initialiseForControlBlockLive()\r
+ {\r
+ initialiseControlBlock ("Live BLOCK", Block::Type::liveBlock,\r
+ ControlButton::ButtonFunction::mode,\r
+ ControlButton::ButtonFunction::volume,\r
+ ControlButton::ButtonFunction::scale,\r
+ ControlButton::ButtonFunction::chord,\r
+ ControlButton::ButtonFunction::arp,\r
+ ControlButton::ButtonFunction::sustain,\r
+ ControlButton::ButtonFunction::octave,\r
+ ControlButton::ButtonFunction::love,\r
+ ControlButton::ButtonFunction::down,\r
+ ControlButton::ButtonFunction::up);\r
+ }\r
+\r
+ void initialiseForControlBlockDeveloper()\r
+ {\r
+ initialiseControlBlock ("Dev Ctrl BLOCK", Block::Type::developerControlBlock,\r
+ ControlButton::ButtonFunction::button0,\r
+ ControlButton::ButtonFunction::button1,\r
+ ControlButton::ButtonFunction::button2,\r
+ ControlButton::ButtonFunction::button3,\r
+ ControlButton::ButtonFunction::button4,\r
+ ControlButton::ButtonFunction::button5,\r
+ ControlButton::ButtonFunction::button6,\r
+ ControlButton::ButtonFunction::button7,\r
+ ControlButton::ButtonFunction::down,\r
+ ControlButton::ButtonFunction::up);\r
+ }\r
+\r
+ void initialiseControlBlock (const char* name, Block::Type type,\r
+ ControlButton::ButtonFunction b1, ControlButton::ButtonFunction b2,\r
+ ControlButton::ButtonFunction b3, ControlButton::ButtonFunction b4,\r
+ ControlButton::ButtonFunction b5, ControlButton::ButtonFunction b6,\r
+ ControlButton::ButtonFunction b7, ControlButton::ButtonFunction b8,\r
+ ControlButton::ButtonFunction b9, ControlButton::ButtonFunction b10)\r
+ {\r
+ apiType = type;\r
+\r
+ description = name;\r
+\r
+ widthUnits = 2;\r
+ heightUnits = 1;\r
+\r
+ programAndHeapSize = BlocksProtocol::controlBlockProgramAndHeapSize;\r
+\r
+ addPorts (2, 1, 2, 1);\r
+\r
+ float x1 = 0.2f;\r
+ float x2 = 0.6f;\r
+ float x3 = 1.0f;\r
+ float x4 = 1.4f;\r
+ float x5 = 1.8f;\r
+ float y1 = 0.405f;\r
+ float y2 = 0.798f;\r
+\r
+ addButtons (b1, x1, y1,\r
+ b2, x2, y1,\r
+ b3, x3, y1,\r
+ b4, x4, y1,\r
+ b5, x5, y1,\r
+ b6, x1, y2,\r
+ b7, x2, y2,\r
+ b8, x3, y2,\r
+ b9, x4, y2,\r
+ b10, x5, y2);\r
+\r
+ numLEDRowLEDs = 15;\r
+ }\r
+\r
+ //==============================================================================\r
+ void addStatusLED (const char* name, float x, float y)\r
+ {\r
+ statusLEDs.add ({ name, x, y });\r
+ }\r
+\r
+ template <typename... Args>\r
+ void addButtons (ControlButton::ButtonFunction fn, float x, float y, Args... others)\r
+ {\r
+ addButtons (fn, x, y);\r
+ addButtons (others...);\r
+ }\r
+\r
+ void addButtons (ControlButton::ButtonFunction fn, float x, float y)\r
+ {\r
+ buttons.add ({ fn, x, y });\r
+ }\r
+\r
+ void addModeButton()\r
+ {\r
+ addButtons (ControlButton::ButtonFunction::mode, -1.0f, -1.0f);\r
+ }\r
+\r
+ void addPorts (int numNorth, int numEast, int numSouth, int numWest)\r
+ {\r
+ addPorts (Block::ConnectionPort::DeviceEdge::north, numNorth);\r
+ addPorts (Block::ConnectionPort::DeviceEdge::east, numEast);\r
+ addPorts (Block::ConnectionPort::DeviceEdge::south, numSouth);\r
+ addPorts (Block::ConnectionPort::DeviceEdge::west, numWest);\r
+ }\r
+\r
+ void addPorts (Block::ConnectionPort::DeviceEdge edge, int num)\r
+ {\r
+ for (int i = 0; i < num; ++i)\r
+ ports.add ({ edge, i});\r
+ }\r
+};\r
+\r
+//==============================================================================\r
+static const char* getButtonNameForFunction (ControlButton::ButtonFunction fn) noexcept\r
+{\r
+ using BF = ControlButton::ButtonFunction;\r
+\r
+ switch (fn)\r
+ {\r
+ case BF::mode: return "Mode";\r
+\r
+ case BF::volume: return "Volume";\r
+ case BF::up: return "Up";\r
+ case BF::down: return "Down";\r
+\r
+ case BF::scale: return "Scale";\r
+ case BF::chord: return "Chord";\r
+ case BF::arp: return "Arp";\r
+ case BF::sustain: return "Sustain";\r
+ case BF::octave: return "Octave";\r
+ case BF::love: return "Love";\r
+\r
+ case BF::click: return "Click";\r
+ case BF::snap: return "Snap";\r
+ case BF::back: return "Back";\r
+ case BF::playOrPause: return "Play/Pause";\r
+ case BF::record: return "Record";\r
+ case BF::learn: return "Learn";\r
+\r
+ case BF::button0: return "0";\r
+ case BF::button1: return "1";\r
+ case BF::button2: return "2";\r
+ case BF::button3: return "3";\r
+ case BF::button4: return "4";\r
+ case BF::button5: return "5";\r
+ case BF::button6: return "6";\r
+ case BF::button7: return "7";\r
+ }\r
+\r
+ jassertfalse;\r
+ return nullptr;\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/** This value is incremented when the format of the API changes in a way which\r
+ breaks compatibility.\r
+*/\r
+static constexpr uint32 currentProtocolVersion = 1;\r
+\r
+using ProtocolVersion = IntegerWithBitSize<8>;\r
+\r
+//==============================================================================\r
+/** A timestamp for a packet, in milliseconds since device boot-up */\r
+using PacketTimestamp = IntegerWithBitSize<32>;\r
+\r
+/** This relative timestamp is for use inside a packet, and it represents a\r
+ number of milliseconds that should be added to the packet's timestamp.\r
+*/\r
+using PacketTimestampOffset = IntegerWithBitSize<5>;\r
+\r
+\r
+//==============================================================================\r
+/** Messages that a device may send to the host. */\r
+enum class MessageFromDevice\r
+{\r
+ deviceTopology = 0x01,\r
+ packetACK = 0x02,\r
+\r
+ touchStart = 0x10,\r
+ touchMove = 0x11,\r
+ touchEnd = 0x12,\r
+\r
+ touchStartWithVelocity = 0x13,\r
+ touchMoveWithVelocity = 0x14,\r
+ touchEndWithVelocity = 0x15,\r
+\r
+ controlButtonDown = 0x20,\r
+ controlButtonUp = 0x21\r
+};\r
+\r
+/** Messages that the host may send to a device. */\r
+enum class MessageFromHost\r
+{\r
+ deviceCommandMessage = 0x01,\r
+ sharedDataChange = 0x02,\r
+ programEventMessage = 0x03\r
+};\r
+\r
+\r
+/** This is the first item in a BLOCKS message, identifying the message type. */\r
+using MessageType = IntegerWithBitSize<7>;\r
+\r
+//==============================================================================\r
+/** This is a type of index identifier used to refer to a block within a group.\r
+ It refers to the index of a device in the list of devices that was most recently\r
+ sent via a topology change message\r
+ (It's not a global UID for a block unit).\r
+ NB: to send a message to all devices, pass the getDeviceIndexForBroadcast() value.\r
+*/\r
+using TopologyIndex = uint8;\r
+\r
+static constexpr int topologyIndexBits = 7;\r
+\r
+/** Use this value as the index if you want a message to be sent to all devices in\r
+ the group.\r
+*/\r
+static constexpr TopologyIndex topologyIndexForBroadcast = 63;\r
+\r
+using DeviceCount = IntegerWithBitSize<7>;\r
+using ConnectionCount = IntegerWithBitSize<8>;\r
+\r
+//==============================================================================\r
+/** Battery charge level. */\r
+using BatteryLevel = IntegerWithBitSize<5>;\r
+\r
+/** Battery charger connection flag. */\r
+using BatteryCharging = IntegerWithBitSize<1>;\r
+\r
+//==============================================================================\r
+/** ConnectorPort is an index, starting at 0 for the leftmost port on the\r
+ top edge, and going clockwise.\r
+*/\r
+using ConnectorPort = IntegerWithBitSize<5>;\r
+\r
+//==============================================================================\r
+struct BlockSerialNumber\r
+{\r
+ uint8 serial[16];\r
+\r
+ bool isValid() const noexcept\r
+ {\r
+ for (auto c : serial)\r
+ if (c == 0)\r
+ return false;\r
+\r
+ return isAnyControlBlock() || isPadBlock();\r
+ }\r
+\r
+ bool isPadBlock() const noexcept { return hasPrefix ("LPB"); }\r
+ bool isLiveBlock() const noexcept { return hasPrefix ("LIC"); }\r
+ bool isLoopBlock() const noexcept { return hasPrefix ("LOC"); }\r
+ bool isDevCtrlBlock() const noexcept { return hasPrefix ("DCB"); }\r
+\r
+ bool isAnyControlBlock() const noexcept { return isLiveBlock() || isLoopBlock() || isDevCtrlBlock(); }\r
+\r
+ bool hasPrefix (const char* prefix) const noexcept { return memcmp (serial, prefix, 3) == 0; }\r
+};\r
+\r
+struct DeviceStatus\r
+{\r
+ BlockSerialNumber serialNumber;\r
+ TopologyIndex index;\r
+ BatteryLevel batteryLevel;\r
+ BatteryCharging batteryCharging;\r
+};\r
+\r
+struct DeviceConnection\r
+{\r
+ TopologyIndex device1, device2;\r
+ ConnectorPort port1, port2;\r
+};\r
+\r
+\r
+//==============================================================================\r
+/** The coordinates of a touch. */\r
+struct TouchPosition\r
+{\r
+ using Xcoord = IntegerWithBitSize<12>;\r
+ using Ycoord = IntegerWithBitSize<12>;\r
+ using Zcoord = IntegerWithBitSize<8>;\r
+\r
+ Xcoord x;\r
+ Ycoord y;\r
+ Zcoord z;\r
+\r
+ enum { bits = Xcoord::bits + Ycoord::bits + Zcoord::bits };\r
+};\r
+\r
+/** The velocities for each dimension of a touch. */\r
+struct TouchVelocity\r
+{\r
+ using VXcoord = IntegerWithBitSize<8>;\r
+ using VYcoord = IntegerWithBitSize<8>;\r
+ using VZcoord = IntegerWithBitSize<8>;\r
+\r
+ VXcoord vx;\r
+ VYcoord vy;\r
+ VZcoord vz;\r
+\r
+ enum { bits = VXcoord::bits + VYcoord::bits + VZcoord::bits };\r
+};\r
+\r
+/** The index of a touch, i.e. finger number. */\r
+using TouchIndex = IntegerWithBitSize<5>;\r
+\r
+using PacketCounter = IntegerWithBitSize<10>;\r
+\r
+//==============================================================================\r
+enum DeviceCommands\r
+{\r
+ beginAPIMode = 0x00,\r
+ requestTopologyMessage = 0x01,\r
+ endAPIMode = 0x02,\r
+ ping = 0x03,\r
+ debugMode = 0x04\r
+};\r
+\r
+using DeviceCommand = IntegerWithBitSize<9>;\r
+\r
+//==============================================================================\r
+/** An ID for a control-block button type */\r
+using ControlButtonID = IntegerWithBitSize<12>;\r
+\r
+//==============================================================================\r
+using RotaryDialIndex = IntegerWithBitSize<7>;\r
+using RotaryDialAngle = IntegerWithBitSize<14>;\r
+using RotaryDialDelta = IntegerWithBitSize<14>;\r
+\r
+//==============================================================================\r
+enum DataChangeCommands\r
+{\r
+ endOfPacket = 0,\r
+ endOfChanges = 1,\r
+ skipBytesFew = 2,\r
+ skipBytesMany = 3,\r
+ setSequenceOfBytes = 4,\r
+ setFewBytesWithValue = 5,\r
+ setFewBytesWithLastValue = 6,\r
+ setManyBytesWithValue = 7\r
+};\r
+\r
+using PacketIndex = IntegerWithBitSize<16>;\r
+using DataChangeCommand = IntegerWithBitSize<3>;\r
+using ByteCountFew = IntegerWithBitSize<4>;\r
+using ByteCountMany = IntegerWithBitSize<8>;\r
+using ByteValue = IntegerWithBitSize<8>;\r
+using ByteSequenceContinues = IntegerWithBitSize<1>;\r
+\r
+static constexpr uint32 numProgramMessageInts = 2;\r
+\r
+static constexpr uint32 apiModeHostPingTimeoutMs = 5000;\r
+\r
+static constexpr uint32 padBlockProgramAndHeapSize = 3200;\r
+static constexpr uint32 padBlockStackSize = 800;\r
+\r
+static constexpr uint32 controlBlockProgramAndHeapSize = 1500;\r
+static constexpr uint32 controlBlockStackSize = 500;\r
+\r
+\r
+//==============================================================================\r
+/** Contains the number of bits required to encode various items in the packets */\r
+enum BitSizes\r
+{\r
+ topologyMessageHeader = MessageType::bits + ProtocolVersion::bits + DeviceCount::bits + ConnectionCount::bits,\r
+ topologyDeviceInfo = sizeof (BlockSerialNumber) * 7 + BatteryLevel::bits + BatteryCharging::bits,\r
+ topologyConnectionInfo = topologyIndexBits + ConnectorPort::bits + topologyIndexBits + ConnectorPort::bits,\r
+\r
+ typeDeviceAndTime = MessageType::bits + PacketTimestampOffset::bits,\r
+\r
+ touchMessage = typeDeviceAndTime + TouchIndex::bits + TouchPosition::bits,\r
+ touchMessageWithVelocity = touchMessage + TouchVelocity::bits,\r
+\r
+ programEventMessage = MessageType::bits + 32 * numProgramMessageInts,\r
+ packetACK = MessageType::bits + PacketCounter::bits,\r
+\r
+ controlButtonMessage = typeDeviceAndTime + ControlButtonID::bits,\r
+};\r
+\r
+//==============================================================================\r
+// These are the littlefoot functions provided for use in BLOCKS programs\r
+static constexpr const char* ledProgramLittleFootFunctions[] =\r
+{\r
+ "makeARGB/iiiii",\r
+ "blendARGB/iii",\r
+ "setLED/viii",\r
+ "blendLED/viii",\r
+ "fillRect/viiiii",\r
+ "enableDebug/viii",\r
+ nullptr\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ Helper class for constructing a packet for sending to a BLOCKS device\r
+*/\r
+template <int maxPacketBytes>\r
+struct HostPacketBuilder\r
+{\r
+ HostPacketBuilder() noexcept {}\r
+ HostPacketBuilder (const HostPacketBuilder&) = delete;\r
+ HostPacketBuilder (HostPacketBuilder&&) = default;\r
+\r
+ const void* getData() const noexcept { return data.getData(); }\r
+ int size() const noexcept { return data.size(); }\r
+\r
+ //==============================================================================\r
+ void writePacketSysexHeaderBytes (TopologyIndex deviceIndex) noexcept\r
+ {\r
+ static_assert (maxPacketBytes > 10, "Not enough bytes for a sensible message!");\r
+\r
+ jassert ((deviceIndex & 64) == 0);\r
+\r
+ data.writeHeaderSysexBytes (deviceIndex);\r
+ }\r
+\r
+ void writePacketSysexFooter() noexcept\r
+ {\r
+ data.writePacketSysexFooter();\r
+ }\r
+\r
+ //==============================================================================\r
+ bool deviceControlMessage (DeviceCommand command) noexcept\r
+ {\r
+ if (! data.hasCapacity (MessageType::bits + DeviceCommand::bits))\r
+ return false;\r
+\r
+ writeMessageType (MessageFromHost::deviceCommandMessage);\r
+ data << command;\r
+ return true;\r
+ }\r
+\r
+ //==============================================================================\r
+ bool beginDataChanges (PacketIndex packetIndex) noexcept\r
+ {\r
+ if (! data.hasCapacity (MessageType::bits + PacketIndex::bits + DataChangeCommand::bits))\r
+ return false;\r
+\r
+ writeMessageType (MessageFromHost::sharedDataChange);\r
+ data << packetIndex;\r
+ return true;\r
+ }\r
+\r
+ bool endDataChanges (bool isLastChange) noexcept\r
+ {\r
+ if (! data.hasCapacity (DataChangeCommand::bits))\r
+ return false;\r
+\r
+ data << DataChangeCommand ((uint32) isLastChange ? endOfChanges : endOfPacket);\r
+ return true;\r
+ }\r
+\r
+ bool skipBytes (int numToSkip) noexcept\r
+ {\r
+ if (numToSkip <= 0)\r
+ return true;\r
+\r
+ auto state = data.getState();\r
+\r
+ while (numToSkip > ByteCountMany::maxValue)\r
+ {\r
+ if (! skipBytes (ByteCountMany::maxValue))\r
+ {\r
+ data.restore (state);\r
+ return false;\r
+ }\r
+\r
+ numToSkip -= ByteCountMany::maxValue;\r
+ }\r
+\r
+ if (numToSkip > ByteCountFew::maxValue)\r
+ {\r
+ if (! data.hasCapacity (DataChangeCommand::bits * 2 + ByteCountMany::bits))\r
+ {\r
+ data.restore (state);\r
+ return false;\r
+ }\r
+\r
+ data << DataChangeCommand ((uint32) skipBytesMany) << ByteCountMany ((uint32) numToSkip);\r
+ return true;\r
+ }\r
+\r
+ if (! data.hasCapacity (DataChangeCommand::bits * 2 + ByteCountFew::bits))\r
+ {\r
+ data.restore (state);\r
+ return false;\r
+ }\r
+\r
+ data << DataChangeCommand ((uint32) skipBytesFew) << ByteCountFew ((uint32) numToSkip);\r
+ return true;\r
+ }\r
+\r
+ bool setMultipleBytes (const uint8* values, int num) noexcept\r
+ {\r
+ if (num <= 0)\r
+ return true;\r
+\r
+ if (! data.hasCapacity (DataChangeCommand::bits * 2 + num * (1 + ByteValue::bits)))\r
+ return false;\r
+\r
+ data << DataChangeCommand ((uint32) setSequenceOfBytes);\r
+\r
+ for (int i = 0; i < num; ++i)\r
+ data << ByteValue ((uint32) values[i])\r
+ << ByteSequenceContinues (i < num - 1 ? 1 : 0);\r
+\r
+ return true;\r
+ }\r
+\r
+ bool setMultipleBytes (uint8 value, uint8 lastValue, int num) noexcept\r
+ {\r
+ if (num <= 0)\r
+ return true;\r
+\r
+ if (num == 1)\r
+ return setMultipleBytes (&value, 1); // (this is a more compact message)\r
+\r
+ auto state = data.getState();\r
+\r
+ if (num > ByteCountMany::maxValue)\r
+ {\r
+ if (! setMultipleBytes (value, lastValue, ByteCountMany::maxValue))\r
+ {\r
+ data.restore (state);\r
+ return false;\r
+ }\r
+\r
+ return setMultipleBytes (value, lastValue, num - ByteCountMany::maxValue);\r
+ }\r
+\r
+ if (num > ByteCountFew::maxValue)\r
+ {\r
+ if (! data.hasCapacity (DataChangeCommand::bits * 2 + ByteCountMany::bits + ByteValue::bits))\r
+ {\r
+ data.restore (state);\r
+ return false;\r
+ }\r
+\r
+ data << DataChangeCommand ((uint32) setManyBytesWithValue)\r
+ << ByteCountMany ((uint32) num)\r
+ << ByteValue ((uint32) value);\r
+\r
+ return true;\r
+ }\r
+\r
+ if (value == lastValue)\r
+ {\r
+ if (! data.hasCapacity (DataChangeCommand::bits * 2 + ByteCountFew::bits))\r
+ {\r
+ data.restore (state);\r
+ return false;\r
+ }\r
+\r
+ data << DataChangeCommand ((uint32) setFewBytesWithLastValue) << ByteCountFew ((uint32) num);\r
+ return true;\r
+ }\r
+\r
+ if (! data.hasCapacity (DataChangeCommand::bits * 2 + ByteCountFew::bits + ByteValue::bits))\r
+ {\r
+ data.restore (state);\r
+ return false;\r
+ }\r
+\r
+ data << DataChangeCommand ((uint32) setFewBytesWithValue) << ByteCountFew ((uint32) num)\r
+ << ByteValue ((uint32) value);\r
+\r
+ return true;\r
+ }\r
+\r
+ bool addProgramEventMessage (const int32* messageData)\r
+ {\r
+ if (! data.hasCapacity (BitSizes::programEventMessage))\r
+ return false;\r
+\r
+ writeMessageType (MessageFromHost::programEventMessage);\r
+\r
+ for (uint32 i = 0; i < numProgramMessageInts; ++i)\r
+ data << IntegerWithBitSize<32> ((uint32) messageData[i]);\r
+\r
+ return true;\r
+ }\r
+\r
+ //==============================================================================\r
+private:\r
+ Packed7BitArrayBuilder<maxPacketBytes> data;\r
+\r
+ void writeMessageType (MessageFromHost type) noexcept\r
+ {\r
+ data << MessageType ((uint32) type);\r
+ }\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ Parses data packets from a BLOCKS device, and translates them into callbacks\r
+ on a handler object\r
+*/\r
+template <typename Handler>\r
+struct HostPacketDecoder\r
+{\r
+ static void processNextPacket (Handler& handler, TopologyIndex deviceIndex, const void* data, int size)\r
+ {\r
+ if (Packed7BitArrayReader::checksumIsOK (static_cast<const uint8*> (data), (uint32) size))\r
+ {\r
+ Packed7BitArrayReader reader (data, size - 1);\r
+\r
+ if (reader.getRemainingBits() < (int) PacketTimestamp::bits)\r
+ {\r
+ jassertfalse; // not a valid message..\r
+ return;\r
+ }\r
+\r
+ auto packetTimestamp = reader.read<PacketTimestamp>();\r
+ deviceIndex &= 63; // top bit is used as a direction indicator\r
+\r
+ while (processNextMessage (handler, reader, deviceIndex, packetTimestamp))\r
+ {}\r
+ }\r
+ }\r
+\r
+ static bool processNextMessage (Handler& handler, Packed7BitArrayReader& reader,\r
+ TopologyIndex deviceIndex, PacketTimestamp packetTimestamp)\r
+ {\r
+ if (reader.getRemainingBits() < MessageType::bits)\r
+ return false;\r
+\r
+ auto messageType = reader.read<MessageType>().get();\r
+\r
+ if (messageType == 0)\r
+ return false;\r
+\r
+ switch ((MessageFromDevice) messageType)\r
+ {\r
+ case MessageFromDevice::deviceTopology: return handleTopology (handler, reader);\r
+ case MessageFromDevice::touchStart: return handleTouch (handler, reader, deviceIndex, packetTimestamp, true, false);\r
+ case MessageFromDevice::touchMove: return handleTouch (handler, reader, deviceIndex, packetTimestamp, false, false);\r
+ case MessageFromDevice::touchEnd: return handleTouch (handler, reader, deviceIndex, packetTimestamp, false, true);\r
+ case MessageFromDevice::touchStartWithVelocity: return handleTouchWithVelocity (handler, reader, deviceIndex, packetTimestamp, true, false);\r
+ case MessageFromDevice::touchMoveWithVelocity: return handleTouchWithVelocity (handler, reader, deviceIndex, packetTimestamp, false, false);\r
+ case MessageFromDevice::touchEndWithVelocity: return handleTouchWithVelocity (handler, reader, deviceIndex, packetTimestamp, false, true);\r
+ case MessageFromDevice::controlButtonDown: return handleButtonDownOrUp (handler, reader, deviceIndex, packetTimestamp, true);\r
+ case MessageFromDevice::controlButtonUp: return handleButtonDownOrUp (handler, reader, deviceIndex, packetTimestamp, false);\r
+ case MessageFromDevice::packetACK: return handlePacketACK (handler, reader, deviceIndex);\r
+\r
+ default:\r
+ jassertfalse; // got an invalid message type, could be a corrupt packet, or a\r
+ // message type that the host doesn't expect to get\r
+ return false;\r
+ }\r
+ }\r
+\r
+ static bool handleTopology (Handler& handler, Packed7BitArrayReader& reader)\r
+ {\r
+ if (reader.getRemainingBits() < DeviceCount::bits + ConnectionCount::bits)\r
+ {\r
+ jassertfalse; // not enough data available for this message type!\r
+ return false;\r
+ }\r
+\r
+ auto deviceProtocolVersion = reader.read<ProtocolVersion>();\r
+\r
+ if (deviceProtocolVersion > currentProtocolVersion)\r
+ {\r
+ jassertfalse;\r
+ return false;\r
+ }\r
+\r
+ const uint32 numDevices = reader.read<DeviceCount>();\r
+ const uint32 numConnections = reader.read<ConnectionCount>();\r
+\r
+ if ((uint32) reader.getRemainingBits() < numDevices * BitSizes::topologyDeviceInfo\r
+ + numConnections * BitSizes::topologyConnectionInfo)\r
+ {\r
+ jassertfalse; // not enough data available for this message type!\r
+ return false;\r
+ }\r
+\r
+ handler.beginTopology ((int) numDevices, (int) numConnections);\r
+\r
+ for (uint32 i = 0; i < numDevices; ++i)\r
+ handleTopologyDevice (handler, reader);\r
+\r
+ for (uint32 i = 0; i < numConnections; ++i)\r
+ handleTopologyConnection (handler, reader);\r
+\r
+ handler.endTopology();\r
+\r
+ return true;\r
+ }\r
+\r
+ static void handleTopologyDevice (Handler& handler, Packed7BitArrayReader& reader)\r
+ {\r
+ DeviceStatus status;\r
+\r
+ for (uint32 i = 0; i < sizeof (BlockSerialNumber); ++i)\r
+ status.serialNumber.serial[i] = (uint8) reader.readBits (7);\r
+\r
+ status.index = (TopologyIndex) reader.readBits (topologyIndexBits);\r
+ status.batteryLevel = reader.read<BatteryLevel>();\r
+ status.batteryCharging = reader.read<BatteryCharging>();\r
+\r
+ handler.handleTopologyDevice (status);\r
+ }\r
+\r
+ static void handleTopologyConnection (Handler& handler, Packed7BitArrayReader& reader)\r
+ {\r
+ DeviceConnection connection;\r
+\r
+ connection.device1 = (uint8) reader.readBits (topologyIndexBits);\r
+ connection.port1 = reader.read<ConnectorPort>();\r
+ connection.device2 = (uint8) reader.readBits (topologyIndexBits);\r
+ connection.port2 = reader.read<ConnectorPort>();\r
+\r
+ handler.handleTopologyConnection (connection);\r
+ }\r
+\r
+ static bool handleTouch (Handler& handler, Packed7BitArrayReader& reader, TopologyIndex deviceIndex,\r
+ PacketTimestamp packetTimestamp, bool isStart, bool isEnd)\r
+ {\r
+ if (reader.getRemainingBits() < BitSizes::touchMessage - MessageType::bits)\r
+ {\r
+ jassertfalse; // not enough data available for this message type!\r
+ return false;\r
+ }\r
+\r
+ auto timeOffset = reader.read<PacketTimestampOffset>();\r
+ auto touchIndex = reader.read<TouchIndex>();\r
+ auto x = reader.read<TouchPosition::Xcoord>();\r
+ auto y = reader.read<TouchPosition::Ycoord>();\r
+ auto z = reader.read<TouchPosition::Zcoord>();\r
+\r
+ handleTouch (handler, deviceIndex, packetTimestamp.get() + timeOffset.get(),\r
+ touchIndex, { x, y, z }, { 0, 0, 0 }, isStart, isEnd);\r
+ return true;\r
+ }\r
+\r
+ static bool handleTouchWithVelocity (Handler& handler, Packed7BitArrayReader& reader, TopologyIndex deviceIndex,\r
+ PacketTimestamp packetTimestamp, bool isStart, bool isEnd)\r
+ {\r
+ if (reader.getRemainingBits() < BitSizes::touchMessageWithVelocity - MessageType::bits)\r
+ {\r
+ jassertfalse; // not enough data available for this message type!\r
+ return false;\r
+ }\r
+\r
+ auto timeOffset = reader.read<PacketTimestampOffset>();\r
+ auto touchIndex = reader.read<TouchIndex>();\r
+ auto x = reader.read<TouchPosition::Xcoord>();\r
+ auto y = reader.read<TouchPosition::Ycoord>();\r
+ auto z = reader.read<TouchPosition::Zcoord>();\r
+ auto vx = reader.read<TouchVelocity::VXcoord>();\r
+ auto vy = reader.read<TouchVelocity::VYcoord>();\r
+ auto vz = reader.read<TouchVelocity::VZcoord>();\r
+\r
+ handleTouch (handler, deviceIndex, packetTimestamp.get() + timeOffset.get(),\r
+ touchIndex, { x, y, z }, { vx, vy, vz }, isStart, isEnd);\r
+ return true;\r
+ }\r
+\r
+ static void handleTouch (Handler& handler, TopologyIndex deviceIndex, uint32 timestamp, TouchIndex touchIndex,\r
+ TouchPosition position, TouchVelocity velocity, bool isStart, bool isEnd)\r
+ {\r
+ handler.handleTouchChange (deviceIndex, timestamp, touchIndex, position, velocity, isStart, isEnd);\r
+ }\r
+\r
+ static bool handleButtonDownOrUp (Handler& handler, Packed7BitArrayReader& reader, TopologyIndex deviceIndex,\r
+ PacketTimestamp packetTimestamp, bool isDown)\r
+ {\r
+ if (reader.getRemainingBits() < BitSizes::controlButtonMessage - MessageType::bits)\r
+ {\r
+ jassertfalse; // not enough data available for this message type!\r
+ return false;\r
+ }\r
+\r
+ auto timeOffset = reader.read<PacketTimestampOffset>();\r
+ auto buttonID = reader.read<ControlButtonID>();\r
+\r
+ handler.handleControlButtonUpDown (deviceIndex, packetTimestamp.get() + timeOffset.get(), buttonID, isDown);\r
+ return true;\r
+ }\r
+\r
+ static bool handlePacketACK (Handler& handler, Packed7BitArrayReader& reader, TopologyIndex deviceIndex)\r
+ {\r
+ if (reader.getRemainingBits() < BitSizes::packetACK - MessageType::bits)\r
+ {\r
+ jassertfalse; // not enough data available for this message type!\r
+ return false;\r
+ }\r
+\r
+ handler.handlePacketACK (deviceIndex, reader.read<PacketCounter>());\r
+ return true;\r
+ }\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+#define JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED \\r
+ jassert (juce::MessageManager::getInstance()->currentThreadHasLockedMessageManager());\r
+\r
+#if DUMP_BANDWIDTH_STATS\r
+namespace\r
+{\r
+ struct PortIOStats\r
+ {\r
+ PortIOStats (const char* nm) : name (nm) {}\r
+\r
+ const char* const name;\r
+ int byteCount = 0;\r
+ int messageCount = 0;\r
+ int bytesPerSec = 0;\r
+ int largestMessageBytes = 0;\r
+ int lastMessageBytes = 0;\r
+\r
+ void update (double elapsedSec)\r
+ {\r
+ if (byteCount > 0)\r
+ {\r
+ bytesPerSec = (int) (byteCount / elapsedSec);\r
+ byteCount = 0;\r
+ juce::Logger::writeToLog (getString());\r
+ }\r
+ }\r
+\r
+ juce::String getString() const\r
+ {\r
+ return juce::String (name) + ": "\r
+ + "count=" + juce::String (messageCount).paddedRight (' ', 7)\r
+ + "rate=" + (juce::String (bytesPerSec / 1024.0f, 1) + " Kb/sec").paddedRight (' ', 11)\r
+ + "largest=" + (juce::String (largestMessageBytes) + " bytes").paddedRight (' ', 11)\r
+ + "last=" + (juce::String (lastMessageBytes) + " bytes").paddedRight (' ', 11);\r
+ }\r
+\r
+ void registerMessage (int numBytes) noexcept\r
+ {\r
+ byteCount += numBytes;\r
+ ++messageCount;\r
+ lastMessageBytes = numBytes;\r
+ largestMessageBytes = juce::jmax (largestMessageBytes, numBytes);\r
+ }\r
+ };\r
+\r
+ static PortIOStats inputStats { "Input" }, outputStats { "Output" };\r
+ static uint32 startTime = 0;\r
+\r
+ static inline void resetOnSecondBoundary()\r
+ {\r
+ auto now = juce::Time::getMillisecondCounter();\r
+ double elapsedSec = (now - startTime) / 1000.0;\r
+\r
+ if (elapsedSec >= 1.0)\r
+ {\r
+ inputStats.update (elapsedSec);\r
+ outputStats.update (elapsedSec);\r
+ startTime = now;\r
+ }\r
+ }\r
+\r
+ static inline void registerBytesOut (int numBytes)\r
+ {\r
+ outputStats.registerMessage (numBytes);\r
+ resetOnSecondBoundary();\r
+ }\r
+\r
+ static inline void registerBytesIn (int numBytes)\r
+ {\r
+ inputStats.registerMessage (numBytes);\r
+ resetOnSecondBoundary();\r
+ }\r
+}\r
+\r
+juce::String getMidiIOStats()\r
+{\r
+ return inputStats.getString() + " " + outputStats.getString();\r
+}\r
+#endif\r
+\r
+\r
+//==============================================================================\r
+struct PhysicalTopologySource::Internal\r
+{\r
+ struct Detector;\r
+ struct BlockImplementation;\r
+ struct ControlButtonImplementation;\r
+ struct RotaryDialImplementation;\r
+ struct TouchSurfaceImplementation;\r
+ struct LEDGridImplementation;\r
+ struct LEDRowImplementation;\r
+\r
+ //==============================================================================\r
+ struct MIDIDeviceConnection : public DeviceConnection,\r
+ public juce::MidiInputCallback\r
+ {\r
+ MIDIDeviceConnection() {}\r
+\r
+ ~MIDIDeviceConnection()\r
+ {\r
+ JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED\r
+\r
+ listeners.call (&Listener::connectionBeingDeleted, *this);\r
+\r
+ midiInput->stop();\r
+ }\r
+\r
+ struct Listener\r
+ {\r
+ virtual ~Listener() {}\r
+\r
+ virtual void handleIncomingMidiMessage (const juce::MidiMessage& message) = 0;\r
+ virtual void connectionBeingDeleted (const MIDIDeviceConnection&) = 0;\r
+ };\r
+\r
+ void addListener (Listener* l)\r
+ {\r
+ listeners.add (l);\r
+ }\r
+\r
+ void removeListener (Listener* l)\r
+ {\r
+ listeners.remove (l);\r
+ }\r
+\r
+ bool sendMessageToDevice (const void* data, size_t dataSize) override\r
+ {\r
+ JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED // This method must only be called from the message thread!\r
+\r
+ jassert (dataSize > sizeof (BlocksProtocol::roliSysexHeader) + 2);\r
+ jassert (memcmp (data, BlocksProtocol::roliSysexHeader, sizeof (BlocksProtocol::roliSysexHeader)) == 0);\r
+ jassert (static_cast<const uint8*> (data)[dataSize - 1] == 0xf7);\r
+\r
+ if (midiOutput != nullptr)\r
+ {\r
+ midiOutput->sendMessageNow (juce::MidiMessage (data, (int) dataSize));\r
+ return true;\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
+ void handleIncomingMidiMessage (juce::MidiInput*, const juce::MidiMessage& message) override\r
+ {\r
+ const auto data = message.getRawData();\r
+ const int dataSize = message.getRawDataSize();\r
+ const int bodySize = dataSize - (int) (sizeof (BlocksProtocol::roliSysexHeader) + 1);\r
+\r
+ if (bodySize > 0 && memcmp (data, BlocksProtocol::roliSysexHeader, sizeof (BlocksProtocol::roliSysexHeader)) == 0)\r
+ if (handleMessageFromDevice != nullptr)\r
+ handleMessageFromDevice (data + sizeof (BlocksProtocol::roliSysexHeader), (size_t) bodySize);\r
+\r
+ listeners.call (&Listener::handleIncomingMidiMessage, message);\r
+ }\r
+\r
+ std::unique_ptr<juce::MidiInput> midiInput;\r
+ std::unique_ptr<juce::MidiOutput> midiOutput;\r
+\r
+ private:\r
+ juce::ListenerList<Listener> listeners;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MIDIDeviceConnection)\r
+ };\r
+\r
+ struct MIDIDeviceDetector : public DeviceDetector\r
+ {\r
+ MIDIDeviceDetector() {}\r
+\r
+ juce::StringArray scanForDevices() override\r
+ {\r
+ juce::StringArray result;\r
+\r
+ for (auto& pair : findDevices())\r
+ result.add (pair.inputName + " & " + pair.outputName);\r
+\r
+ return result;\r
+ }\r
+\r
+ DeviceConnection* openDevice (int index) override\r
+ {\r
+ auto pair = findDevices()[index];\r
+\r
+ if (pair.inputIndex >= 0 && pair.outputIndex >= 0)\r
+ {\r
+ std::unique_ptr<MIDIDeviceConnection> dev (new MIDIDeviceConnection());\r
+\r
+ dev->midiInput.reset (juce::MidiInput::openDevice (pair.inputIndex, dev.get()));\r
+ dev->midiOutput.reset (juce::MidiOutput::openDevice (pair.outputIndex));\r
+\r
+ if (dev->midiInput != nullptr)\r
+ {\r
+ dev->midiInput->start();\r
+ return dev.release();\r
+ }\r
+ }\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ static bool isBlocksMidiDeviceName (const juce::String& name)\r
+ {\r
+ return name.indexOf (" BLOCK") > 0 || name.indexOf (" Block") > 0;\r
+ }\r
+\r
+ struct MidiInputOutputPair\r
+ {\r
+ juce::String outputName, inputName;\r
+ int outputIndex = -1, inputIndex = -1;\r
+ };\r
+\r
+ static juce::Array<MidiInputOutputPair> findDevices()\r
+ {\r
+ juce::Array<MidiInputOutputPair> result;\r
+\r
+ auto midiInputs = juce::MidiInput::getDevices();\r
+ auto midiOutputs = juce::MidiOutput::getDevices();\r
+\r
+ for (int j = 0; j < midiInputs.size(); ++j)\r
+ {\r
+ if (isBlocksMidiDeviceName (midiInputs[j]))\r
+ {\r
+ MidiInputOutputPair pair;\r
+ pair.inputName = midiInputs[j];\r
+ pair.inputIndex = j;\r
+\r
+ for (int i = 0; i < midiOutputs.size(); ++i)\r
+ {\r
+ if (midiOutputs[i].trim() == pair.inputName.trim())\r
+ {\r
+ pair.outputName = midiOutputs[i];\r
+ pair.outputIndex = i;\r
+ break;\r
+ }\r
+ }\r
+\r
+ result.add (pair);\r
+ }\r
+ }\r
+\r
+ return result;\r
+ }\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MIDIDeviceDetector)\r
+ };\r
+\r
+ //==============================================================================\r
+ struct DeviceInfo\r
+ {\r
+ Block::UID uid;\r
+ BlocksProtocol::TopologyIndex index;\r
+ BlocksProtocol::BlockSerialNumber serial;\r
+ bool isMaster;\r
+ };\r
+\r
+ static Block::Timestamp deviceTimestampToHost (uint32 timestamp) noexcept\r
+ {\r
+ return static_cast<Block::Timestamp> (timestamp);\r
+ }\r
+\r
+ static juce::Array<DeviceInfo> getArrayOfDeviceInfo (const juce::Array<BlocksProtocol::DeviceStatus>& devices)\r
+ {\r
+ juce::Array<DeviceInfo> result;\r
+ bool isFirst = true;\r
+\r
+ for (auto& device : devices)\r
+ {\r
+ result.add ({ getBlockUIDFromSerialNumber (device.serialNumber),\r
+ device.index,\r
+ device.serialNumber,\r
+ isFirst });\r
+\r
+ isFirst = false;\r
+ }\r
+\r
+ return result;\r
+ }\r
+\r
+ static bool containsBlockWithUID (const juce::Array<DeviceInfo>& devices, Block::UID uid) noexcept\r
+ {\r
+ for (auto&& d : devices)\r
+ if (d.uid == uid)\r
+ return true;\r
+\r
+ return false;\r
+ }\r
+\r
+ static bool containsBlockWithUID (const Block::Array& blocks, Block::UID uid) noexcept\r
+ {\r
+ for (auto&& block : blocks)\r
+ if (block->uid == uid)\r
+ return true;\r
+\r
+ return false;\r
+ }\r
+\r
+ //==============================================================================\r
+ struct ConnectedDeviceGroup : private juce::AsyncUpdater,\r
+ private juce::Timer\r
+ {\r
+ ConnectedDeviceGroup (Detector& d, const juce::String& name, DeviceConnection* connection)\r
+ : detector (d), deviceName (name), deviceConnection (connection)\r
+ {\r
+ lastGlobalPingTime = juce::Time::getCurrentTime();\r
+\r
+ deviceConnection->handleMessageFromDevice = [this] (const void* data, size_t dataSize)\r
+ {\r
+ this->handleIncomingMessage (data, dataSize);\r
+ };\r
+\r
+ startTimer (200);\r
+ sendTopologyRequest();\r
+ }\r
+\r
+ bool isStillConnected (const juce::StringArray& detectedDevices) const noexcept\r
+ {\r
+ return detectedDevices.contains (deviceName)\r
+ && ! failedToGetTopology()\r
+ && lastGlobalPingTime > juce::Time::getCurrentTime() - juce::RelativeTime::seconds (pingTimeoutSeconds);\r
+ }\r
+\r
+ Block::UID getDeviceIDFromIndex (BlocksProtocol::TopologyIndex index) const noexcept\r
+ {\r
+ for (auto& d : currentDeviceInfo)\r
+ if (d.index == index)\r
+ return d.uid;\r
+\r
+ return {};\r
+ }\r
+\r
+ int getIndexFromDeviceID (Block::UID uid) const noexcept\r
+ {\r
+ for (auto& d : currentDeviceInfo)\r
+ if (d.uid == uid)\r
+ return d.index;\r
+\r
+ return -1;\r
+ }\r
+\r
+ DeviceInfo* getDeviceInfoFromUID (Block::UID uid) const noexcept\r
+ {\r
+ for (auto& d : currentDeviceInfo)\r
+ if (d.uid == uid)\r
+ return &d;\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ const BlocksProtocol::DeviceStatus* getLastStatus (Block::UID deviceID) const noexcept\r
+ {\r
+ for (auto&& status : currentTopologyDevices)\r
+ if (getBlockUIDFromSerialNumber (status.serialNumber) == deviceID)\r
+ return &status;\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ //==============================================================================\r
+ juce::Time lastTopologyRequestTime, lastTopologyReceiveTime;\r
+ int numTopologyRequestsSent = 0;\r
+\r
+ void sendTopologyRequest()\r
+ {\r
+ ++numTopologyRequestsSent;\r
+ lastTopologyRequestTime = juce::Time::getCurrentTime();\r
+ sendCommandMessage (0, BlocksProtocol::requestTopologyMessage);\r
+ }\r
+\r
+ void scheduleNewTopologyRequest()\r
+ {\r
+ numTopologyRequestsSent = 0;\r
+ lastTopologyReceiveTime = juce::Time();\r
+ }\r
+\r
+ bool failedToGetTopology() const noexcept\r
+ {\r
+ return numTopologyRequestsSent > 4 && lastTopologyReceiveTime == juce::Time();\r
+ }\r
+\r
+ bool hasAnyBlockStoppedPinging() const noexcept\r
+ {\r
+ auto now = juce::Time::getCurrentTime();\r
+\r
+ for (auto& ping : blockPings)\r
+ if (ping.lastPing < now - juce::RelativeTime::seconds (pingTimeoutSeconds))\r
+ return true;\r
+\r
+ return false;\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ auto now = juce::Time::getCurrentTime();\r
+\r
+ if ((now > lastTopologyReceiveTime + juce::RelativeTime::seconds (30.0) || hasAnyBlockStoppedPinging())\r
+ && now > lastTopologyRequestTime + juce::RelativeTime::seconds (1.0)\r
+ && numTopologyRequestsSent < 4)\r
+ sendTopologyRequest();\r
+ }\r
+\r
+ //==============================================================================\r
+ // The following methods will be called by the DeviceToHostPacketDecoder:\r
+\r
+ void beginTopology (int numDevices, int numConnections)\r
+ {\r
+ incomingTopologyDevices.clearQuick();\r
+ incomingTopologyDevices.ensureStorageAllocated (numDevices);\r
+ incomingTopologyConnections.clearQuick();\r
+ incomingTopologyConnections.ensureStorageAllocated (numConnections);\r
+ }\r
+\r
+ void handleTopologyDevice (BlocksProtocol::DeviceStatus status)\r
+ {\r
+ incomingTopologyDevices.add (status);\r
+ }\r
+\r
+ void handleTopologyConnection (BlocksProtocol::DeviceConnection connection)\r
+ {\r
+ incomingTopologyConnections.add (connection);\r
+ }\r
+\r
+ void endTopology()\r
+ {\r
+ currentDeviceInfo = getArrayOfDeviceInfo (incomingTopologyDevices);\r
+ currentDeviceConnections = getArrayOfConnections (incomingTopologyConnections);\r
+ currentTopologyDevices = incomingTopologyDevices;\r
+ currentTopologyConnections = incomingTopologyConnections;\r
+ detector.handleTopologyChange();\r
+\r
+ lastTopologyReceiveTime = juce::Time::getCurrentTime();\r
+ blockPings.clear();\r
+ }\r
+\r
+ void handleControlButtonUpDown (BlocksProtocol::TopologyIndex deviceIndex, uint32 timestamp,\r
+ BlocksProtocol::ControlButtonID buttonID, bool isDown)\r
+ {\r
+ if (auto deviceID = getDeviceIDFromMessageIndex (deviceIndex))\r
+ detector.handleButtonChange (deviceID, deviceTimestampToHost (timestamp), buttonID.get(), isDown);\r
+ }\r
+\r
+ void handleTouchChange (BlocksProtocol::TopologyIndex deviceIndex,\r
+ uint32 timestamp,\r
+ BlocksProtocol::TouchIndex touchIndex,\r
+ BlocksProtocol::TouchPosition position,\r
+ BlocksProtocol::TouchVelocity velocity,\r
+ bool isStart, bool isEnd)\r
+ {\r
+ if (auto deviceID = getDeviceIDFromMessageIndex (deviceIndex))\r
+ {\r
+ TouchSurface::Touch touch;\r
+\r
+ touch.index = (int) touchIndex.get();\r
+ touch.x = position.x.toUnipolarFloat();\r
+ touch.y = position.y.toUnipolarFloat();\r
+ touch.z = position.z.toUnipolarFloat();\r
+ touch.xVelocity = velocity.vx.toBipolarFloat();\r
+ touch.yVelocity = velocity.vy.toBipolarFloat();\r
+ touch.zVelocity = velocity.vz.toBipolarFloat();\r
+ touch.eventTimestamp = deviceTimestampToHost (timestamp);\r
+ touch.isTouchStart = isStart;\r
+ touch.isTouchEnd = isEnd;\r
+ touch.blockUID = deviceID;\r
+\r
+ setTouchStartPosition (touch);\r
+\r
+ detector.handleTouchChange (deviceID, touch);\r
+ }\r
+ }\r
+\r
+ void setTouchStartPosition (TouchSurface::Touch& touch)\r
+ {\r
+ auto& startPos = touchStartPositions.getValue (touch);\r
+\r
+ if (touch.isTouchStart)\r
+ startPos = { touch.x, touch.y };\r
+\r
+ touch.startX = startPos.x;\r
+ touch.startY = startPos.y;\r
+ }\r
+\r
+ void handlePacketACK (BlocksProtocol::TopologyIndex deviceIndex, BlocksProtocol::PacketCounter counter)\r
+ {\r
+ if (auto deviceID = getDeviceIDFromMessageIndex (deviceIndex))\r
+ detector.handleSharedDataACK (deviceID, counter);\r
+ }\r
+\r
+ //==============================================================================\r
+ template <typename PacketBuilder>\r
+ bool sendMessageToDevice (const PacketBuilder& builder) const\r
+ {\r
+ if (deviceConnection->sendMessageToDevice (builder.getData(), (size_t) builder.size()))\r
+ {\r
+ #if DUMP_BANDWIDTH_STATS\r
+ registerBytesOut (builder.size());\r
+ #endif\r
+ return true;\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
+ bool sendCommandMessage (BlocksProtocol::TopologyIndex deviceIndex, uint32 commandID) const\r
+ {\r
+ BlocksProtocol::HostPacketBuilder<64> p;\r
+ p.writePacketSysexHeaderBytes (deviceIndex);\r
+ p.deviceControlMessage (commandID);\r
+ p.writePacketSysexFooter();\r
+ return sendMessageToDevice (p);\r
+ }\r
+\r
+ bool broadcastCommandMessage (uint32 commandID) const\r
+ {\r
+ return sendCommandMessage (BlocksProtocol::topologyIndexForBroadcast, commandID);\r
+ }\r
+\r
+ DeviceConnection* getDeviceConnection()\r
+ {\r
+ return deviceConnection.get();\r
+ }\r
+\r
+ Detector& detector;\r
+ juce::String deviceName;\r
+\r
+ juce::Array<DeviceInfo> currentDeviceInfo;\r
+ juce::Array<BlockDeviceConnection> currentDeviceConnections;\r
+\r
+ static constexpr double pingTimeoutSeconds = 6.0;\r
+\r
+ private:\r
+ //==============================================================================\r
+ std::unique_ptr<DeviceConnection> deviceConnection;\r
+\r
+ juce::Array<BlocksProtocol::DeviceStatus> incomingTopologyDevices, currentTopologyDevices;\r
+ juce::Array<BlocksProtocol::DeviceConnection> incomingTopologyConnections, currentTopologyConnections;\r
+\r
+ juce::CriticalSection incomingPacketLock;\r
+ juce::Array<juce::MemoryBlock> incomingPackets;\r
+\r
+ struct TouchStart\r
+ {\r
+ float x, y;\r
+ };\r
+\r
+ TouchList<TouchStart> touchStartPositions;\r
+\r
+ juce::Time lastGlobalPingTime;\r
+\r
+ struct BlockPingTime\r
+ {\r
+ Block::UID blockUID;\r
+ juce::Time lastPing;\r
+ };\r
+\r
+ juce::Array<BlockPingTime> blockPings;\r
+\r
+ Block::UID getDeviceIDFromMessageIndex (BlocksProtocol::TopologyIndex index) noexcept\r
+ {\r
+ auto uid = getDeviceIDFromIndex (index);\r
+\r
+ if (uid == Block::UID())\r
+ {\r
+ scheduleNewTopologyRequest(); // force a re-request of the topology when we\r
+ // get an event from a block that we don't know about\r
+ }\r
+ else\r
+ {\r
+ auto now = juce::Time::getCurrentTime();\r
+\r
+ for (auto& ping : blockPings)\r
+ {\r
+ if (ping.blockUID == uid)\r
+ {\r
+ ping.lastPing = now;\r
+ return uid;\r
+ }\r
+ }\r
+\r
+ blockPings.add ({ uid, now });\r
+ }\r
+\r
+ return uid;\r
+ }\r
+\r
+ juce::Array<BlockDeviceConnection> getArrayOfConnections (const juce::Array<BlocksProtocol::DeviceConnection>& connections)\r
+ {\r
+ juce::Array<BlockDeviceConnection> result;\r
+\r
+ for (auto&& c : connections)\r
+ {\r
+ BlockDeviceConnection dc;\r
+ dc.device1 = getDeviceIDFromIndex (c.device1);\r
+ dc.device2 = getDeviceIDFromIndex (c.device2);\r
+ dc.connectionPortOnDevice1 = convertConnectionPort (dc.device1, c.port1);\r
+ dc.connectionPortOnDevice2 = convertConnectionPort (dc.device2, c.port2);\r
+\r
+ result.add (dc);\r
+ }\r
+\r
+ return result;\r
+ }\r
+\r
+ Block::ConnectionPort convertConnectionPort (Block::UID uid, BlocksProtocol::ConnectorPort p) noexcept\r
+ {\r
+ if (auto* info = getDeviceInfoFromUID (uid))\r
+ return BlocksProtocol::BlockDataSheet (info->serial).convertPortIndexToConnectorPort (p);\r
+\r
+ jassertfalse;\r
+ return { Block::ConnectionPort::DeviceEdge::north, 0 };\r
+ }\r
+\r
+ //==============================================================================\r
+ void handleIncomingMessage (const void* data, size_t dataSize)\r
+ {\r
+ juce::MemoryBlock mb (data, dataSize);\r
+\r
+ {\r
+ const juce::ScopedLock sl (incomingPacketLock);\r
+ incomingPackets.add (std::move (mb));\r
+ }\r
+\r
+ triggerAsyncUpdate();\r
+\r
+ #if DUMP_BANDWIDTH_STATS\r
+ registerBytesIn ((int) dataSize);\r
+ #endif\r
+ }\r
+\r
+ void handleAsyncUpdate() override\r
+ {\r
+ juce::Array<juce::MemoryBlock> packets;\r
+ packets.ensureStorageAllocated (32);\r
+\r
+ {\r
+ const juce::ScopedLock sl (incomingPacketLock);\r
+ incomingPackets.swapWith (packets);\r
+ }\r
+\r
+ for (auto& packet : packets)\r
+ {\r
+ lastGlobalPingTime = juce::Time::getCurrentTime();\r
+ auto data = static_cast<const uint8*> (packet.getData());\r
+\r
+ BlocksProtocol::HostPacketDecoder<ConnectedDeviceGroup>\r
+ ::processNextPacket (*this, *data, data + 1, (int) packet.getSize() - 1);\r
+ }\r
+ }\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConnectedDeviceGroup)\r
+ };\r
+\r
+ //==============================================================================\r
+ /** This is the main singleton object that keeps track of connected blocks */\r
+ struct Detector : public juce::ReferenceCountedObject,\r
+ private juce::Timer\r
+ {\r
+ Detector() : defaultDetector (new MIDIDeviceDetector()), deviceDetector (*defaultDetector)\r
+ {\r
+ startTimer (10);\r
+ }\r
+\r
+ Detector (DeviceDetector& dd) : deviceDetector (dd)\r
+ {\r
+ startTimer (10);\r
+ }\r
+\r
+ ~Detector()\r
+ {\r
+ jassert (activeTopologySources.isEmpty());\r
+ jassert (activeControlButtons.isEmpty());\r
+ }\r
+\r
+ using Ptr = juce::ReferenceCountedObjectPtr<Detector>;\r
+\r
+ static Detector::Ptr getDefaultDetector()\r
+ {\r
+ auto& d = getDefaultDetectorPointer();\r
+\r
+ if (d == nullptr)\r
+ d = new Detector();\r
+\r
+ return d;\r
+ }\r
+\r
+ static Detector::Ptr& getDefaultDetectorPointer()\r
+ {\r
+ static Detector::Ptr defaultDetector;\r
+ return defaultDetector;\r
+ }\r
+\r
+ void detach (PhysicalTopologySource* pts)\r
+ {\r
+ activeTopologySources.removeAllInstancesOf (pts);\r
+\r
+ if (activeTopologySources.isEmpty())\r
+ {\r
+ for (auto& b : currentTopology.blocks)\r
+ if (auto bi = BlockImplementation::getFrom (*b))\r
+ bi->sendCommandMessage (BlocksProtocol::endAPIMode);\r
+\r
+ currentTopology = {};\r
+\r
+ auto& d = getDefaultDetectorPointer();\r
+\r
+ if (d != nullptr && d->getReferenceCount() == 2)\r
+ getDefaultDetectorPointer() = nullptr;\r
+ }\r
+ }\r
+\r
+ bool isConnected (Block::UID deviceID) const noexcept\r
+ {\r
+ JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED // This method must only be called from the message thread!\r
+\r
+ for (auto&& b : currentTopology.blocks)\r
+ if (b->uid == deviceID)\r
+ return true;\r
+\r
+ return false;\r
+ }\r
+\r
+ const BlocksProtocol::DeviceStatus* getLastStatus (Block::UID deviceID) const noexcept\r
+ {\r
+ for (auto d : connectedDeviceGroups)\r
+ if (auto status = d->getLastStatus (deviceID))\r
+ return status;\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ void handleTopologyChange()\r
+ {\r
+ JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED\r
+\r
+ {\r
+ juce::Array<DeviceInfo> newDeviceInfo;\r
+ juce::Array<BlockDeviceConnection> newDeviceConnections;\r
+\r
+ for (auto d : connectedDeviceGroups)\r
+ {\r
+ newDeviceInfo.addArray (d->currentDeviceInfo);\r
+ newDeviceConnections.addArray (d->currentDeviceConnections);\r
+ }\r
+\r
+ for (int i = currentTopology.blocks.size(); --i >= 0;)\r
+ {\r
+ auto block = currentTopology.blocks.getUnchecked(i);\r
+\r
+ if (! containsBlockWithUID (newDeviceInfo, block->uid))\r
+ {\r
+ if (auto bi = BlockImplementation::getFrom (*block))\r
+ bi->invalidate();\r
+\r
+ currentTopology.blocks.remove (i);\r
+ }\r
+ }\r
+\r
+ for (auto& info : newDeviceInfo)\r
+ if (info.serial.isValid())\r
+ if (! containsBlockWithUID (currentTopology.blocks, getBlockUIDFromSerialNumber (info.serial)))\r
+ currentTopology.blocks.add (new BlockImplementation (info.serial, *this, info.isMaster));\r
+\r
+ currentTopology.connections.swapWith (newDeviceConnections);\r
+ }\r
+\r
+ for (auto d : activeTopologySources)\r
+ d->listeners.call (&TopologySource::Listener::topologyChanged);\r
+\r
+ #if DUMP_TOPOLOGY\r
+ dumpTopology (currentTopology);\r
+ #endif\r
+ }\r
+\r
+ void handleSharedDataACK (Block::UID deviceID, uint32 packetCounter) const\r
+ {\r
+ JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED\r
+\r
+ for (auto&& b : currentTopology.blocks)\r
+ if (b->uid == deviceID)\r
+ if (auto bi = BlockImplementation::getFrom (*b))\r
+ bi->handleSharedDataACK (packetCounter);\r
+ }\r
+\r
+ void handleButtonChange (Block::UID deviceID, Block::Timestamp timestamp, uint32 buttonIndex, bool isDown) const\r
+ {\r
+ JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED\r
+\r
+ for (auto b : activeControlButtons)\r
+ {\r
+ if (b->block.uid == deviceID)\r
+ {\r
+ if (auto bi = BlockImplementation::getFrom (b->block))\r
+ {\r
+ bi->pingFromDevice();\r
+\r
+ if (buttonIndex < (uint32) bi->modelData.buttons.size())\r
+ b->broadcastButtonChange (timestamp, bi->modelData.buttons[(int) buttonIndex].type, isDown);\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ void handleTouchChange (Block::UID deviceID, const TouchSurface::Touch& touchEvent)\r
+ {\r
+ JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED\r
+\r
+ for (auto t : activeTouchSurfaces)\r
+ {\r
+ if (t->block.uid == deviceID)\r
+ {\r
+ TouchSurface::Touch scaledEvent (touchEvent);\r
+\r
+ scaledEvent.x *= t->block.getWidth();\r
+ scaledEvent.y *= t->block.getHeight();\r
+ scaledEvent.startX *= t->block.getWidth();\r
+ scaledEvent.startY *= t->block.getHeight();\r
+\r
+ t->broadcastTouchChange (scaledEvent);\r
+ }\r
+ }\r
+ }\r
+\r
+ void cancelAllActiveTouches() noexcept\r
+ {\r
+ for (auto surface : activeTouchSurfaces)\r
+ surface->cancelAllActiveTouches();\r
+ }\r
+\r
+ //==============================================================================\r
+ int getIndexFromDeviceID (Block::UID deviceID) const noexcept\r
+ {\r
+ for (auto c : connectedDeviceGroups)\r
+ {\r
+ const int index = c->getIndexFromDeviceID (deviceID);\r
+\r
+ if (index >= 0)\r
+ return index;\r
+ }\r
+\r
+ return -1;\r
+ }\r
+\r
+ template <typename PacketBuilder>\r
+ bool sendMessageToDevice (Block::UID deviceID, const PacketBuilder& builder) const\r
+ {\r
+ for (auto c : connectedDeviceGroups)\r
+ if (c->getIndexFromDeviceID (deviceID) >= 0)\r
+ return c->sendMessageToDevice (builder);\r
+\r
+ return false;\r
+ }\r
+\r
+ static Detector* getFrom (Block& b) noexcept\r
+ {\r
+ if (auto bi = BlockImplementation::getFrom (b))\r
+ return &(bi->detector);\r
+\r
+ jassertfalse;\r
+ return nullptr;\r
+ }\r
+\r
+ DeviceConnection* getDeviceConnectionFor (const Block& b)\r
+ {\r
+ for (const auto& d : connectedDeviceGroups)\r
+ {\r
+ for (const auto& info : d->currentDeviceInfo)\r
+ {\r
+ if (info.uid == b.uid)\r
+ return d->getDeviceConnection();\r
+ }\r
+ }\r
+\r
+ return nullptr;\r
+ }\r
+\r
+ std::unique_ptr<MIDIDeviceDetector> defaultDetector;\r
+ DeviceDetector& deviceDetector;\r
+\r
+ juce::Array<PhysicalTopologySource*> activeTopologySources;\r
+ juce::Array<ControlButtonImplementation*> activeControlButtons;\r
+ juce::Array<TouchSurfaceImplementation*> activeTouchSurfaces;\r
+\r
+ BlockTopology currentTopology;\r
+\r
+ private:\r
+ void timerCallback() override\r
+ {\r
+ startTimer (1500);\r
+\r
+ auto detectedDevices = deviceDetector.scanForDevices();\r
+\r
+ handleDevicesRemoved (detectedDevices);\r
+ handleDevicesAdded (detectedDevices);\r
+ }\r
+\r
+ void handleDevicesRemoved (const juce::StringArray& detectedDevices)\r
+ {\r
+ bool anyDevicesRemoved = false;\r
+\r
+ for (int i = connectedDeviceGroups.size(); --i >= 0;)\r
+ {\r
+ if (! connectedDeviceGroups.getUnchecked(i)->isStillConnected (detectedDevices))\r
+ {\r
+ connectedDeviceGroups.remove (i);\r
+ anyDevicesRemoved = true;\r
+ }\r
+ }\r
+\r
+ if (anyDevicesRemoved)\r
+ handleTopologyChange();\r
+ }\r
+\r
+ void handleDevicesAdded (const juce::StringArray& detectedDevices)\r
+ {\r
+ bool anyDevicesAdded = false;\r
+\r
+ for (const auto& devName : detectedDevices)\r
+ {\r
+ if (! hasDeviceFor (devName))\r
+ {\r
+ if (auto d = deviceDetector.openDevice (detectedDevices.indexOf (devName)))\r
+ {\r
+ connectedDeviceGroups.add (new ConnectedDeviceGroup (*this, devName, d));\r
+ anyDevicesAdded = true;\r
+ }\r
+ }\r
+ }\r
+\r
+ if (anyDevicesAdded)\r
+ handleTopologyChange();\r
+ }\r
+\r
+ bool hasDeviceFor (const juce::String& devName) const\r
+ {\r
+ for (auto d : connectedDeviceGroups)\r
+ if (d->deviceName == devName)\r
+ return true;\r
+\r
+ return false;\r
+ }\r
+\r
+ juce::OwnedArray<ConnectedDeviceGroup> connectedDeviceGroups;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Detector)\r
+ };\r
+\r
+ //==============================================================================\r
+ struct BlockImplementation : public Block,\r
+ private MIDIDeviceConnection::Listener\r
+ {\r
+ BlockImplementation (const BlocksProtocol::BlockSerialNumber& serial, Detector& detectorToUse, bool master)\r
+ : Block (juce::String ((const char*) serial.serial, sizeof (serial.serial))), modelData (serial),\r
+ remoteHeap (modelData.programAndHeapSize), detector (detectorToUse), isMaster (master)\r
+ {\r
+ sendCommandMessage (BlocksProtocol::beginAPIMode);\r
+\r
+ if (modelData.hasTouchSurface)\r
+ touchSurface.reset (new TouchSurfaceImplementation (*this));\r
+\r
+ int i = 0;\r
+ for (auto b : modelData.buttons)\r
+ controlButtons.add (new ControlButtonImplementation (*this, i++, b));\r
+\r
+ if (modelData.lightGridWidth > 0 && modelData.lightGridHeight > 0)\r
+ ledGrid.reset (new LEDGridImplementation (*this));\r
+\r
+ for (auto s : modelData.statusLEDs)\r
+ statusLights.add (new StatusLightImplementation (*this, s));\r
+\r
+ if (modelData.numLEDRowLEDs > 0)\r
+ ledRow.reset (new LEDRowImplementation (*this));\r
+\r
+ listenerToMidiConnection = dynamic_cast<MIDIDeviceConnection*> (detector.getDeviceConnectionFor (*this));\r
+ if (listenerToMidiConnection != nullptr)\r
+ listenerToMidiConnection->addListener (this);\r
+ }\r
+\r
+ ~BlockImplementation()\r
+ {\r
+ if (listenerToMidiConnection != nullptr)\r
+ listenerToMidiConnection->removeListener (this);\r
+ }\r
+\r
+ void invalidate()\r
+ {\r
+ isStillConnected = false;\r
+ }\r
+\r
+ Type getType() const override { return modelData.apiType; }\r
+ juce::String getDeviceDescription() const override { return modelData.description; }\r
+ int getWidth() const override { return modelData.widthUnits; }\r
+ int getHeight() const override { return modelData.heightUnits; }\r
+ float getMillimetersPerUnit() const override { return 47.0f; }\r
+ bool isHardwareBlock() const override { return true; }\r
+ juce::Array<Block::ConnectionPort> getPorts() const override { return modelData.ports; }\r
+ bool isConnected() const override { return isStillConnected && detector.isConnected (uid); }\r
+ bool isMasterBlock() const override { return isMaster; }\r
+\r
+ TouchSurface* getTouchSurface() const override { return touchSurface.get(); }\r
+ LEDGrid* getLEDGrid() const override { return ledGrid.get(); }\r
+ LEDRow* getLEDRow() const override { return ledRow.get(); }\r
+\r
+ juce::Array<ControlButton*> getButtons() const override\r
+ {\r
+ juce::Array<ControlButton*> result;\r
+ result.addArray (controlButtons);\r
+ return result;\r
+ }\r
+\r
+ juce::Array<StatusLight*> getStatusLights() const override\r
+ {\r
+ juce::Array<StatusLight*> result;\r
+ result.addArray (statusLights);\r
+ return result;\r
+ }\r
+\r
+ float getBatteryLevel() const override\r
+ {\r
+ if (auto status = detector.getLastStatus (uid))\r
+ return status->batteryLevel.toUnipolarFloat();\r
+\r
+ return 0.0f;\r
+ }\r
+\r
+ bool isBatteryCharging() const override\r
+ {\r
+ if (auto status = detector.getLastStatus (uid))\r
+ return status->batteryCharging.get() != 0;\r
+\r
+ return false;\r
+ }\r
+\r
+ bool supportsGraphics() const override\r
+ {\r
+ return false;\r
+ }\r
+\r
+ int getDeviceIndex() const noexcept\r
+ {\r
+ return isConnected() ? detector.getIndexFromDeviceID (uid) : -1;\r
+ }\r
+\r
+ template <typename PacketBuilder>\r
+ bool sendMessageToDevice (const PacketBuilder& builder)\r
+ {\r
+ lastMessageSendTime = juce::Time::getCurrentTime();\r
+ return detector.sendMessageToDevice (uid, builder);\r
+ }\r
+\r
+ bool sendCommandMessage (uint32 commandID)\r
+ {\r
+ int index = getDeviceIndex();\r
+\r
+ if (index < 0)\r
+ return false;\r
+\r
+ BlocksProtocol::HostPacketBuilder<64> p;\r
+ p.writePacketSysexHeaderBytes ((BlocksProtocol::TopologyIndex) index);\r
+ p.deviceControlMessage (commandID);\r
+ p.writePacketSysexFooter();\r
+\r
+ return sendMessageToDevice (p);\r
+ }\r
+\r
+ static BlockImplementation* getFrom (Block& b) noexcept\r
+ {\r
+ if (auto bi = dynamic_cast<BlockImplementation*> (&b))\r
+ return bi;\r
+\r
+ jassertfalse;\r
+ return nullptr;\r
+ }\r
+\r
+ bool isControlBlock() const\r
+ {\r
+ auto type = getType();\r
+\r
+ return type == Block::Type::liveBlock\r
+ || type == Block::Type::loopBlock\r
+ || type == Block::Type::developerControlBlock;\r
+ }\r
+\r
+ //==============================================================================\r
+ void clearProgramAndData()\r
+ {\r
+ programSize = 0;\r
+ remoteHeap.clear();\r
+ }\r
+\r
+ void setProgram (const void* compiledCode, size_t codeSize)\r
+ {\r
+ clearProgramAndData();\r
+ setDataBytes (0, compiledCode, codeSize);\r
+ programSize = (uint32) codeSize;\r
+ }\r
+\r
+ void setDataByte (size_t offset, uint8 value)\r
+ {\r
+ remoteHeap.setByte (programSize + offset, value);\r
+ }\r
+\r
+ void setDataBytes (size_t offset, const void* newData, size_t num)\r
+ {\r
+ remoteHeap.setBytes (programSize + offset, static_cast<const uint8*> (newData), num);\r
+ }\r
+\r
+ void setDataBits (uint32 startBit, uint32 numBits, uint32 value)\r
+ {\r
+ remoteHeap.setBits (programSize * 8 + startBit, numBits, value);\r
+ }\r
+\r
+ uint8 getDataByte (size_t offset)\r
+ {\r
+ return remoteHeap.getByte (programSize + offset);\r
+ }\r
+\r
+ void sendProgramEvent (const LEDGrid::ProgramEventMessage& message)\r
+ {\r
+ static_assert (sizeof (LEDGrid::ProgramEventMessage::values) == 4 * BlocksProtocol::numProgramMessageInts,\r
+ "Need to keep the internal and external messages structures the same");\r
+\r
+ if (remoteHeap.isProgramLoaded())\r
+ {\r
+ auto index = getDeviceIndex();\r
+\r
+ if (index >= 0)\r
+ {\r
+ BlocksProtocol::HostPacketBuilder<128> p;\r
+ p.writePacketSysexHeaderBytes ((BlocksProtocol::TopologyIndex) index);\r
+\r
+ if (p.addProgramEventMessage (message.values))\r
+ {\r
+ p.writePacketSysexFooter();\r
+ sendMessageToDevice (p);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ jassertfalse;\r
+ }\r
+ }\r
+ }\r
+\r
+ void handleSharedDataACK (uint32 packetCounter) noexcept\r
+ {\r
+ pingFromDevice();\r
+ remoteHeap.handleACKFromDevice (*this, packetCounter);\r
+ }\r
+\r
+ void pingFromDevice()\r
+ {\r
+ lastMessageReceiveTime = juce::Time::getCurrentTime();\r
+ }\r
+\r
+ void addDataInputPortListener (DataInputPortListener* listener) override\r
+ {\r
+ Block::addDataInputPortListener (listener);\r
+\r
+ if (auto midiInput = getMidiInput())\r
+ midiInput->start();\r
+ }\r
+\r
+ void sendMessage (const void* message, size_t messageSize) override\r
+ {\r
+ if (auto midiOutput = getMidiOutput())\r
+ midiOutput->sendMessageNow ({ message, (int) messageSize });\r
+ }\r
+\r
+ void handleTimerTick()\r
+ {\r
+ if (++resetMessagesSent < 3)\r
+ {\r
+ if (resetMessagesSent == 1)\r
+ sendCommandMessage (BlocksProtocol::endAPIMode);\r
+\r
+ sendCommandMessage (BlocksProtocol::beginAPIMode);\r
+ return;\r
+ }\r
+\r
+ if (ledGrid != nullptr)\r
+ if (auto renderer = ledGrid->getRenderer())\r
+ renderer->renderLEDGrid (*ledGrid);\r
+\r
+ remoteHeap.sendChanges (*this);\r
+\r
+ if (lastMessageSendTime < juce::Time::getCurrentTime() - juce::RelativeTime::milliseconds (pingIntervalMs))\r
+ sendCommandMessage (BlocksProtocol::ping);\r
+ }\r
+\r
+ //==============================================================================\r
+ std::unique_ptr<TouchSurface> touchSurface;\r
+ juce::OwnedArray<ControlButton> controlButtons;\r
+ std::unique_ptr<LEDGridImplementation> ledGrid;\r
+ std::unique_ptr<LEDRowImplementation> ledRow;\r
+ juce::OwnedArray<StatusLight> statusLights;\r
+\r
+ BlocksProtocol::BlockDataSheet modelData;\r
+\r
+ MIDIDeviceConnection* listenerToMidiConnection = nullptr;\r
+\r
+ static constexpr int pingIntervalMs = 400;\r
+\r
+ static constexpr uint32 maxBlockSize = BlocksProtocol::padBlockProgramAndHeapSize;\r
+ static constexpr uint32 maxPacketCounter = BlocksProtocol::PacketCounter::maxValue;\r
+ static constexpr uint32 maxPacketSize = 200;\r
+\r
+ using PacketBuilder = BlocksProtocol::HostPacketBuilder<maxPacketSize>;\r
+\r
+ using RemoteHeapType = littlefoot::LittleFootRemoteHeap<BlockImplementation>;\r
+ RemoteHeapType remoteHeap;\r
+\r
+ uint32 programSize = 0;\r
+\r
+ Detector& detector;\r
+ juce::Time lastMessageSendTime, lastMessageReceiveTime;\r
+\r
+ private:\r
+ uint32 resetMessagesSent = 0;\r
+ bool isStillConnected = true;\r
+ bool isMaster = false;\r
+\r
+ const juce::MidiInput* getMidiInput() const\r
+ {\r
+ if (auto c = dynamic_cast<MIDIDeviceConnection*> (detector.getDeviceConnectionFor (*this)))\r
+ return c->midiInput.get();\r
+\r
+ jassertfalse;\r
+ return nullptr;\r
+ }\r
+\r
+ juce::MidiInput* getMidiInput()\r
+ {\r
+ return const_cast<juce::MidiInput*> (static_cast<const BlockImplementation&>(*this).getMidiInput());\r
+ }\r
+\r
+ const juce::MidiOutput* getMidiOutput() const\r
+ {\r
+ if (auto c = dynamic_cast<MIDIDeviceConnection*> (detector.getDeviceConnectionFor (*this)))\r
+ return c->midiOutput.get();\r
+\r
+ jassertfalse;\r
+ return nullptr;\r
+ }\r
+\r
+ juce::MidiOutput* getMidiOutput()\r
+ {\r
+ return const_cast<juce::MidiOutput*> (static_cast<const BlockImplementation&>(*this).getMidiOutput());\r
+ }\r
+\r
+ void handleIncomingMidiMessage (const juce::MidiMessage& message) override\r
+ {\r
+ dataInputPortListeners.call (&Block::DataInputPortListener::handleIncomingDataPortMessage,\r
+ *this, message.getRawData(), (size_t) message.getRawDataSize());\r
+ }\r
+\r
+ void connectionBeingDeleted (const MIDIDeviceConnection& c) override\r
+ {\r
+ jassert (listenerToMidiConnection == &c);\r
+ juce::ignoreUnused (c);\r
+ listenerToMidiConnection->removeListener (this);\r
+ listenerToMidiConnection = nullptr;\r
+ }\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BlockImplementation)\r
+ };\r
+\r
+ //==============================================================================\r
+ struct LEDRowImplementation : public LEDRow\r
+ {\r
+ LEDRowImplementation (BlockImplementation& b) : LEDRow (b), blockImpl (b)\r
+ {\r
+ loadProgramOntoBlock();\r
+ }\r
+\r
+ /* Data format:\r
+\r
+ 0: 10 x 5-6-5 bits for button LED RGBs\r
+ 20: 15 x 5-6-5 bits for LED row colours\r
+ 50: 1 x 5-6-5 bits for LED row overlay colour\r
+ */\r
+ static constexpr uint32 totalDataSize = 256;\r
+\r
+ //==============================================================================\r
+ void setButtonColour (uint32 index, LEDColour colour)\r
+ {\r
+ if (index < 10)\r
+ write565Colour (16 * index, colour);\r
+ }\r
+\r
+ int getNumLEDs() const override\r
+ {\r
+ return blockImpl.modelData.numLEDRowLEDs;\r
+ }\r
+\r
+ void setLEDColour (int index, LEDColour colour) override\r
+ {\r
+ if ((uint32) index < 15u)\r
+ write565Colour (20 * 8 + 16 * (uint32) index, colour);\r
+ }\r
+\r
+ void setOverlayColour (LEDColour colour) override\r
+ {\r
+ write565Colour (50 * 8, colour);\r
+ }\r
+\r
+ void resetOverlayColour() override\r
+ {\r
+ write565Colour (50 * 8, {});\r
+ }\r
+\r
+ private:\r
+ void loadProgramOntoBlock()\r
+ {\r
+ littlefoot::Compiler compiler;\r
+ compiler.addNativeFunctions (PhysicalTopologySource::getStandardLittleFootFunctions());\r
+\r
+ auto err = compiler.compile (getLittleFootProgram(), totalDataSize);\r
+\r
+ if (err.failed())\r
+ {\r
+ DBG (err.getErrorMessage());\r
+ jassertfalse;\r
+ return;\r
+ }\r
+\r
+ blockImpl.setProgram (compiler.compiledObjectCode.begin(), (size_t) compiler.compiledObjectCode.size());\r
+ }\r
+\r
+ void write565Colour (uint32 bitIndex, LEDColour colour)\r
+ {\r
+ blockImpl.setDataBits (bitIndex, 5, colour.getRed() >> 3);\r
+ blockImpl.setDataBits (bitIndex + 5, 6, colour.getGreen() >> 2);\r
+ blockImpl.setDataBits (bitIndex + 11, 5, colour.getBlue() >> 3);\r
+ }\r
+\r
+ static const char* getLittleFootProgram() noexcept\r
+ {\r
+ return R"littlefoot(\r
+\r
+ int getColour (int bitIndex)\r
+ {\r
+ return makeARGB (255,\r
+ getHeapBits (bitIndex, 5) << 3,\r
+ getHeapBits (bitIndex + 5, 6) << 2,\r
+ getHeapBits (bitIndex + 11, 5) << 3);\r
+ }\r
+\r
+ int getButtonColour (int index)\r
+ {\r
+ return getColour (16 * index);\r
+ }\r
+\r
+ int getLEDColour (int index)\r
+ {\r
+ if (getHeapInt (50))\r
+ return getColour (50 * 8);\r
+\r
+ return getColour (20 * 8 + 16 * index);\r
+ }\r
+\r
+ void repaint()\r
+ {\r
+ for (int x = 0; x < 15; ++x)\r
+ setLED (x, 0, getLEDColour (x));\r
+\r
+ for (int i = 0; i < 10; ++i)\r
+ setLED (i, 1, getButtonColour (i));\r
+ }\r
+\r
+ void handleMessage (int p1, int p2) {}\r
+\r
+ )littlefoot";\r
+ }\r
+\r
+ BlockImplementation& blockImpl;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LEDRowImplementation)\r
+ };\r
+\r
+ //==============================================================================\r
+ struct TouchSurfaceImplementation : public TouchSurface,\r
+ private juce::Timer\r
+ {\r
+ TouchSurfaceImplementation (BlockImplementation& b) : TouchSurface (b), blockImpl (b)\r
+ {\r
+ if (auto det = Detector::getFrom (block))\r
+ det->activeTouchSurfaces.add (this);\r
+\r
+ startTimer (500);\r
+ }\r
+\r
+ ~TouchSurfaceImplementation()\r
+ {\r
+ if (auto det = Detector::getFrom (block))\r
+ det->activeTouchSurfaces.removeFirstMatchingValue (this);\r
+ }\r
+\r
+ void broadcastTouchChange (const TouchSurface::Touch& touchEvent)\r
+ {\r
+ auto& status = touches.getValue (touchEvent);\r
+\r
+ // Fake a touch end if we receive a duplicate touch-start with no preceding touch-end (ie: comms error)\r
+ if (touchEvent.isTouchStart && status.isActive)\r
+ killTouch (touchEvent, status, juce::Time::getMillisecondCounter());\r
+\r
+ // Fake a touch start if we receive an unexpected event with no matching start event. (ie: comms error)\r
+ if (! touchEvent.isTouchStart && ! status.isActive)\r
+ {\r
+ TouchSurface::Touch t (touchEvent);\r
+ t.isTouchStart = true;\r
+ t.isTouchEnd = false;\r
+\r
+ if (t.zVelocity <= 0) t.zVelocity = status.lastStrikePressure;\r
+ if (t.zVelocity <= 0) t.zVelocity = t.z;\r
+ if (t.zVelocity <= 0) t.zVelocity = 0.9f;\r
+\r
+ listeners.call (&TouchSurface::Listener::touchChanged, *this, t);\r
+ }\r
+\r
+ // Normal handling:\r
+ status.lastEventTime = juce::Time::getMillisecondCounter();\r
+ status.isActive = ! touchEvent.isTouchEnd;\r
+\r
+ if (touchEvent.isTouchStart)\r
+ status.lastStrikePressure = touchEvent.zVelocity;\r
+\r
+ listeners.call (&TouchSurface::Listener::touchChanged, *this, touchEvent);\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ // Find touches that seem to have become stuck, and fake a touch-end for them..\r
+ static const uint32 touchTimeOutMs = 40;\r
+\r
+ for (auto& t : touches)\r
+ {\r
+ auto& status = t.value;\r
+ auto now = juce::Time::getMillisecondCounter();\r
+\r
+ if (status.isActive && now > status.lastEventTime + touchTimeOutMs)\r
+ killTouch (t.touch, status, now);\r
+ }\r
+ }\r
+\r
+ struct TouchStatus\r
+ {\r
+ uint32 lastEventTime = 0;\r
+ float lastStrikePressure = 0;\r
+ bool isActive = false;\r
+ };\r
+\r
+ void killTouch (const TouchSurface::Touch& touch, TouchStatus& status, uint32 timeStamp) noexcept\r
+ {\r
+ jassert (status.isActive);\r
+\r
+ TouchSurface::Touch killTouch (touch);\r
+\r
+ killTouch.z = 0;\r
+ killTouch.xVelocity = 0;\r
+ killTouch.yVelocity = 0;\r
+ killTouch.zVelocity = -1.0f;\r
+ killTouch.eventTimestamp = timeStamp;\r
+ killTouch.isTouchStart = false;\r
+ killTouch.isTouchEnd = true;\r
+\r
+ listeners.call (&TouchSurface::Listener::touchChanged, *this, killTouch);\r
+\r
+ status.isActive = false;\r
+ }\r
+\r
+ void cancelAllActiveTouches() noexcept override\r
+ {\r
+ const auto now = juce::Time::getMillisecondCounter();\r
+\r
+ for (auto& t : touches)\r
+ if (t.value.isActive)\r
+ killTouch (t.touch, t.value, now);\r
+\r
+ touches.clear();\r
+ }\r
+\r
+ BlockImplementation& blockImpl;\r
+ TouchList<TouchStatus> touches;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TouchSurfaceImplementation)\r
+ };\r
+\r
+ //==============================================================================\r
+ struct ControlButtonImplementation : public ControlButton\r
+ {\r
+ ControlButtonImplementation (BlockImplementation& b, int index, BlocksProtocol::BlockDataSheet::ButtonInfo info)\r
+ : ControlButton (b), blockImpl (b), buttonInfo (info), buttonIndex (index)\r
+ {\r
+ if (auto det = Detector::getFrom (block))\r
+ det->activeControlButtons.add (this);\r
+ }\r
+\r
+ ~ControlButtonImplementation()\r
+ {\r
+ if (auto det = Detector::getFrom (block))\r
+ det->activeControlButtons.removeFirstMatchingValue (this);\r
+ }\r
+\r
+ ButtonFunction getType() const override { return buttonInfo.type; }\r
+ juce::String getName() const override { return BlocksProtocol::getButtonNameForFunction (buttonInfo.type); }\r
+ float getPositionX() const override { return buttonInfo.x; }\r
+ float getPositionY() const override { return buttonInfo.y; }\r
+\r
+ bool hasLight() const override { return blockImpl.isControlBlock(); }\r
+\r
+ bool setLightColour (LEDColour colour) override\r
+ {\r
+ if (hasLight())\r
+ {\r
+ if (auto row = blockImpl.ledRow.get())\r
+ {\r
+ row->setButtonColour ((uint32) buttonIndex, colour);\r
+ return true;\r
+ }\r
+ }\r
+\r
+ return false;\r
+ }\r
+\r
+ void broadcastButtonChange (Block::Timestamp timestamp, ControlButton::ButtonFunction button, bool isDown)\r
+ {\r
+ if (button == buttonInfo.type)\r
+ {\r
+ if (wasDown == isDown)\r
+ sendButtonChangeToListeners (timestamp, ! isDown);\r
+\r
+ sendButtonChangeToListeners (timestamp, isDown);\r
+ wasDown = isDown;\r
+ }\r
+ }\r
+\r
+ void sendButtonChangeToListeners (Block::Timestamp timestamp, bool isDown)\r
+ {\r
+ if (isDown)\r
+ listeners.call (&ControlButton::Listener::buttonPressed, *this, timestamp);\r
+ else\r
+ listeners.call (&ControlButton::Listener::buttonReleased, *this, timestamp);\r
+ }\r
+\r
+ BlockImplementation& blockImpl;\r
+ BlocksProtocol::BlockDataSheet::ButtonInfo buttonInfo;\r
+ int buttonIndex;\r
+ bool wasDown = false;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ControlButtonImplementation)\r
+ };\r
+\r
+\r
+ //==============================================================================\r
+ struct StatusLightImplementation : public StatusLight\r
+ {\r
+ StatusLightImplementation (Block& b, BlocksProtocol::BlockDataSheet::StatusLEDInfo i) : StatusLight (b), info (i)\r
+ {\r
+ }\r
+\r
+ juce::String getName() const override { return info.name; }\r
+\r
+ bool setColour (LEDColour newColour) override\r
+ {\r
+ // XXX TODO!\r
+ juce::ignoreUnused (newColour);\r
+ return false;\r
+ }\r
+\r
+ BlocksProtocol::BlockDataSheet::StatusLEDInfo info;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StatusLightImplementation)\r
+ };\r
+\r
+ //==============================================================================\r
+ struct LEDGridImplementation : public LEDGrid\r
+ {\r
+ LEDGridImplementation (BlockImplementation& b) : LEDGrid (b), blockImpl (b)\r
+ {\r
+ }\r
+\r
+ int getNumColumns() const override { return blockImpl.modelData.lightGridWidth; }\r
+ int getNumRows() const override { return blockImpl.modelData.lightGridHeight; }\r
+\r
+ juce::Result setProgram (Program* newProgram) override\r
+ {\r
+ if (program.get() != newProgram)\r
+ {\r
+ program.reset (newProgram);\r
+\r
+ if (program != nullptr)\r
+ {\r
+ littlefoot::Compiler compiler;\r
+ compiler.addNativeFunctions (PhysicalTopologySource::getStandardLittleFootFunctions());\r
+\r
+ auto err = compiler.compile (newProgram->getLittleFootProgram(), newProgram->getHeapSize());\r
+\r
+ if (err.failed())\r
+ return err;\r
+\r
+ DBG ("Compiled littlefoot program, size = " << (int) compiler.compiledObjectCode.size() << " bytes");\r
+\r
+ blockImpl.setProgram (compiler.compiledObjectCode.begin(), (size_t) compiler.compiledObjectCode.size());\r
+ }\r
+ else\r
+ {\r
+ blockImpl.clearProgramAndData();\r
+ }\r
+ }\r
+ else\r
+ {\r
+ jassertfalse;\r
+ }\r
+\r
+ return juce::Result::ok();\r
+ }\r
+\r
+ Program* getProgram() const override { return program.get(); }\r
+\r
+ void sendProgramEvent (const ProgramEventMessage& m) override { blockImpl.sendProgramEvent (m); }\r
+ void setDataByte (size_t offset, uint8 value) override { blockImpl.setDataByte (offset, value); }\r
+ void setDataBytes (size_t offset, const void* data, size_t num) override { blockImpl.setDataBytes (offset, data, num); }\r
+ void setDataBits (uint32 startBit, uint32 numBits, uint32 value) override { blockImpl.setDataBits (startBit, numBits, value); }\r
+ uint8 getDataByte (size_t offset) override { return blockImpl.getDataByte (offset); }\r
+\r
+ BlockImplementation& blockImpl;\r
+ std::unique_ptr<Program> program;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LEDGridImplementation)\r
+ };\r
+\r
+ //==============================================================================\r
+ #if DUMP_TOPOLOGY\r
+ static juce::String idToSerialNum (const BlockTopology& topology, Block::UID uid)\r
+ {\r
+ for (auto* b : topology.blocks)\r
+ if (b->uid == uid)\r
+ return b->serialNumber;\r
+\r
+ return "???";\r
+ }\r
+\r
+ static juce::String portEdgeToString (Block::ConnectionPort port)\r
+ {\r
+ switch (port.edge)\r
+ {\r
+ case Block::ConnectionPort::DeviceEdge::north: return "north";\r
+ case Block::ConnectionPort::DeviceEdge::south: return "south";\r
+ case Block::ConnectionPort::DeviceEdge::east: return "east";\r
+ case Block::ConnectionPort::DeviceEdge::west: return "west";\r
+ }\r
+\r
+ return {};\r
+ }\r
+\r
+ static juce::String portToString (Block::ConnectionPort port)\r
+ {\r
+ return portEdgeToString (port) + "_" + juce::String (port.index);\r
+ }\r
+\r
+ static void dumpTopology (const BlockTopology& topology)\r
+ {\r
+ MemoryOutputStream m;\r
+\r
+ m << "=============================================================================" << newLine\r
+ << "Topology: " << topology.blocks.size() << " device(s)" << newLine\r
+ << newLine;\r
+\r
+ int index = 0;\r
+\r
+ for (auto block : topology.blocks)\r
+ {\r
+ m << "Device " << index++ << (block->isMasterBlock() ? ": (MASTER)" : ":") << newLine;\r
+\r
+ m << " Description: " << block->getDeviceDescription() << newLine\r
+ << " Serial: " << block->serialNumber << newLine;\r
+\r
+ if (auto bi = BlockImplementation::getFrom (*block))\r
+ m << " Short address: " << (int) bi->getDeviceIndex() << newLine;\r
+\r
+ m << " Battery level: " + juce::String (juce::roundToInt (100.0f * block->getBatteryLevel())) + "%" << newLine\r
+ << " Battery charging: " + juce::String (block->isBatteryCharging() ? "y" : "n") << newLine\r
+ << " Width: " << block->getWidth() << newLine\r
+ << " Height: " << block->getHeight() << newLine\r
+ << " Millimeters per unit: " << block->getMillimetersPerUnit() << newLine\r
+ << newLine;\r
+ }\r
+\r
+ for (auto& connection : topology.connections)\r
+ {\r
+ m << idToSerialNum (topology, connection.device1)\r
+ << ":" << portToString (connection.connectionPortOnDevice1)\r
+ << " <-> "\r
+ << idToSerialNum (topology, connection.device2)\r
+ << ":" << portToString (connection.connectionPortOnDevice2) << newLine;\r
+ }\r
+\r
+ m << "=============================================================================" << newLine;\r
+\r
+ Logger::outputDebugString (m.toString());\r
+ }\r
+ #endif\r
+};\r
+\r
+//==============================================================================\r
+struct PhysicalTopologySource::DetectorHolder : private juce::Timer\r
+{\r
+ DetectorHolder (PhysicalTopologySource& pts)\r
+ : topologySource (pts),\r
+ detector (Internal::Detector::getDefaultDetector())\r
+ {\r
+ startTimerHz (30);\r
+ }\r
+\r
+ DetectorHolder (PhysicalTopologySource& pts, DeviceDetector& dd)\r
+ : topologySource (pts),\r
+ detector (new Internal::Detector (dd))\r
+ {\r
+ startTimerHz (30);\r
+ }\r
+\r
+ void timerCallback() override\r
+ {\r
+ if (! topologySource.hasOwnServiceTimer())\r
+ handleTimerTick();\r
+ }\r
+\r
+ void handleTimerTick()\r
+ {\r
+ for (auto& b : detector->currentTopology.blocks)\r
+ if (auto bi = Internal::BlockImplementation::getFrom (*b))\r
+ bi->handleTimerTick();\r
+ }\r
+\r
+ PhysicalTopologySource& topologySource;\r
+ Internal::Detector::Ptr detector;\r
+};\r
+\r
+//==============================================================================\r
+PhysicalTopologySource::PhysicalTopologySource()\r
+ : detector (new DetectorHolder (*this))\r
+{\r
+ detector->detector->activeTopologySources.add (this);\r
+}\r
+\r
+PhysicalTopologySource::PhysicalTopologySource (DeviceDetector& detectorToUse)\r
+ : detector (new DetectorHolder (*this, detectorToUse))\r
+{\r
+ detector->detector->activeTopologySources.add (this);\r
+}\r
+\r
+PhysicalTopologySource::~PhysicalTopologySource()\r
+{\r
+ detector->detector->detach (this);\r
+ detector = nullptr;\r
+}\r
+\r
+BlockTopology PhysicalTopologySource::getCurrentTopology() const\r
+{\r
+ JUCE_ASSERT_MESSAGE_MANAGER_IS_LOCKED // This method must only be called from the message thread!\r
+\r
+ return detector->detector->currentTopology;\r
+}\r
+\r
+void PhysicalTopologySource::cancelAllActiveTouches() noexcept\r
+{\r
+ detector->detector->cancelAllActiveTouches();\r
+}\r
+\r
+bool PhysicalTopologySource::hasOwnServiceTimer() const { return false; }\r
+void PhysicalTopologySource::handleTimerTick() { detector->handleTimerTick(); }\r
+\r
+PhysicalTopologySource::DeviceConnection::DeviceConnection() {}\r
+PhysicalTopologySource::DeviceConnection::~DeviceConnection() {}\r
+\r
+PhysicalTopologySource::DeviceDetector::DeviceDetector() {}\r
+PhysicalTopologySource::DeviceDetector::~DeviceDetector() {}\r
+\r
+const char* const* PhysicalTopologySource::getStandardLittleFootFunctions() noexcept\r
+{\r
+ return BlocksProtocol::ledProgramLittleFootFunctions;\r
+}\r
+\r
+static bool blocksMatch (const Block::Array& list1, const Block::Array& list2) noexcept\r
+{\r
+ if (list1.size() != list2.size())\r
+ return false;\r
+\r
+ for (auto&& b : list1)\r
+ if (! list2.contains (b))\r
+ return false;\r
+\r
+ return true;\r
+}\r
+\r
+bool BlockTopology::operator== (const BlockTopology& other) const noexcept\r
+{\r
+ return connections == other.connections && blocksMatch (blocks, other.blocks);\r
+}\r
+\r
+bool BlockTopology::operator!= (const BlockTopology& other) const noexcept\r
+{\r
+ return ! operator== (other);\r
+}\r
+\r
+bool BlockDeviceConnection::operator== (const BlockDeviceConnection& other) const noexcept\r
+{\r
+ return (device1 == other.device1 && device2 == other.device2\r
+ && connectionPortOnDevice1 == other.connectionPortOnDevice1\r
+ && connectionPortOnDevice2 == other.connectionPortOnDevice2)\r
+ || (device1 == other.device2 && device2 == other.device1\r
+ && connectionPortOnDevice1 == other.connectionPortOnDevice2\r
+ && connectionPortOnDevice2 == other.connectionPortOnDevice1);\r
+}\r
+\r
+bool BlockDeviceConnection::operator!= (const BlockDeviceConnection& other) const noexcept\r
+{\r
+ return ! operator== (other);\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ This topology source manages the topology of the physical Blocks devices\r
+ that are currently connected. It maintains a list of them and tells\r
+ listeners when physical devices are added or removed.\r
+*/\r
+class PhysicalTopologySource : public TopologySource\r
+{\r
+public:\r
+ /** Constructor. */\r
+ PhysicalTopologySource();\r
+\r
+ /** Destructor. */\r
+ ~PhysicalTopologySource();\r
+\r
+ /** Returns the current physical topology. */\r
+ BlockTopology getCurrentTopology() const override;\r
+\r
+ /** Reset all touches */\r
+ void cancelAllActiveTouches() noexcept override;\r
+\r
+\r
+ //==========================================================================\r
+ /** For custom transport systems, this represents a connected device */\r
+ struct DeviceConnection\r
+ {\r
+ DeviceConnection();\r
+ virtual ~DeviceConnection();\r
+\r
+ virtual bool sendMessageToDevice (const void* data, size_t dataSize) = 0;\r
+ std::function<void (const void* data, size_t dataSize)> handleMessageFromDevice;\r
+ };\r
+\r
+ /** For custom transport systems, this represents a connected device */\r
+ struct DeviceDetector\r
+ {\r
+ DeviceDetector();\r
+ virtual ~DeviceDetector();\r
+\r
+ virtual juce::StringArray scanForDevices() = 0;\r
+ virtual DeviceConnection* openDevice (int index) = 0;\r
+ };\r
+\r
+ /** Constructor for custom transport systems. */\r
+ PhysicalTopologySource (DeviceDetector& detectorToUse);\r
+\r
+ static const char* const* getStandardLittleFootFunctions() noexcept;\r
+\r
+protected:\r
+ virtual bool hasOwnServiceTimer() const;\r
+ virtual void handleTimerTick();\r
+\r
+private:\r
+ //==========================================================================\r
+ struct Internal;\r
+ struct DetectorHolder;\r
+ juce::ScopedPointer<DetectorHolder> detector;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PhysicalTopologySource)\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+struct RuleBasedTopologySource::Internal : public TopologySource::Listener,\r
+ private juce::AsyncUpdater\r
+{\r
+ Internal (RuleBasedTopologySource& da, TopologySource& bd) : owner (da), detector (bd)\r
+ {\r
+ detector.addListener (this);\r
+ }\r
+\r
+ ~Internal()\r
+ {\r
+ detector.removeListener (this);\r
+ }\r
+\r
+ void clearRules()\r
+ {\r
+ if (! rules.isEmpty())\r
+ {\r
+ rules.clear();\r
+ triggerAsyncUpdate();\r
+ }\r
+ }\r
+\r
+ void addRule (Rule* r)\r
+ {\r
+ if (r != nullptr)\r
+ {\r
+ rules.add (r);\r
+ triggerAsyncUpdate();\r
+ }\r
+ }\r
+\r
+ void topologyChanged() override\r
+ {\r
+ cancelPendingUpdate();\r
+ regenerateTopology();\r
+ }\r
+\r
+ void handleAsyncUpdate() override\r
+ {\r
+ topologyChanged();\r
+ }\r
+\r
+ void regenerateTopology()\r
+ {\r
+ auto newTopology = detector.getCurrentTopology();\r
+\r
+ for (auto rule : rules)\r
+ rule->transformTopology (newTopology);\r
+\r
+ if (topology != newTopology)\r
+ {\r
+ topology = newTopology;\r
+ owner.listeners.call (&TopologySource::Listener::topologyChanged);\r
+ }\r
+ }\r
+\r
+ RuleBasedTopologySource& owner;\r
+ TopologySource& detector;\r
+\r
+ BlockTopology topology;\r
+ juce::OwnedArray<Rule> rules;\r
+\r
+ JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (Internal)\r
+};\r
+\r
+RuleBasedTopologySource::RuleBasedTopologySource (TopologySource& d)\r
+{\r
+ internal = new Internal (*this, d);\r
+}\r
+\r
+RuleBasedTopologySource::~RuleBasedTopologySource()\r
+{\r
+ internal = nullptr;\r
+}\r
+\r
+BlockTopology RuleBasedTopologySource::getCurrentTopology() const { return internal->topology; }\r
+\r
+void RuleBasedTopologySource::clearRules() { internal->clearRules(); }\r
+void RuleBasedTopologySource::addRule (Rule* r) { internal->addRule (r); }\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/** This topology source holds and applies a set of rules for transforming\r
+ one device topology into another one that may involve virtual and/or\r
+ aggregate devices.\r
+\r
+ Given an input PhysicalTopologySource and a set of Rule objects, this class\r
+ will apply the rules and present the resulting topology to clients.\r
+*/\r
+class RuleBasedTopologySource : public TopologySource\r
+{\r
+public:\r
+ /** Creates a RuleBasedTopologySource which wraps another TopologySource\r
+ passed in here.\r
+ */\r
+ RuleBasedTopologySource (TopologySource&);\r
+\r
+ /** Destructor. */\r
+ ~RuleBasedTopologySource();\r
+\r
+ //==========================================================================\r
+ /** Returns the currently active topology. */\r
+ BlockTopology getCurrentTopology() const;\r
+\r
+ /** A rule that can transform parts of a topology. */\r
+ struct Rule\r
+ {\r
+ virtual ~Rule() {}\r
+\r
+ /** Subclasses should implement this method and use it as their opportunity to\r
+ examine the given topology and modify it. For example they may want to substitute\r
+ one or more blocks for more specialised, aggregated Block objects.\r
+ */\r
+ virtual void transformTopology (BlockTopology&) = 0;\r
+ };\r
+\r
+ /** Clears the list of active rules.\r
+ Calling this method will cause an asynchronous topology update if the new rule-set\r
+ results in a change to the topology.\r
+ */\r
+ void clearRules();\r
+\r
+ /** Adds a rule to the list that will be applied.\r
+ The object passed-in will be owned by this object, so don't keep any references\r
+ to it.\r
+ Calling this method will cause an asynchronous topology update if the new rule-set\r
+ results in a change to the topology.\r
+ */\r
+ void addRule (Rule*);\r
+\r
+private:\r
+ //==========================================================================\r
+ struct Internal;\r
+ juce::ScopedPointer<Internal> internal;\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/** Describes a phyiscal connection between two ports of two block devices. */\r
+struct BlockDeviceConnection\r
+{\r
+ Block::UID device1, device2;\r
+ Block::ConnectionPort connectionPortOnDevice1, connectionPortOnDevice2;\r
+\r
+ bool operator== (const BlockDeviceConnection&) const noexcept;\r
+ bool operator!= (const BlockDeviceConnection&) const noexcept;\r
+};\r
+\r
+\r
+/** Describes a set of blocks and the connections between them. */\r
+struct BlockTopology\r
+{\r
+ Block::Array blocks;\r
+ juce::Array<BlockDeviceConnection> connections;\r
+\r
+ bool operator== (const BlockTopology&) const noexcept;\r
+ bool operator!= (const BlockTopology&) const noexcept;\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/** Base class for an entity that provides access to a blocks topology. */\r
+class TopologySource\r
+{\r
+public:\r
+ //==========================================================================\r
+ /** Destructor. */\r
+ virtual ~TopologySource() {}\r
+\r
+ /** Returns the current topology that this object manages. */\r
+ virtual BlockTopology getCurrentTopology() const = 0;\r
+\r
+ //==========================================================================\r
+ struct Listener\r
+ {\r
+ virtual ~Listener() {}\r
+ virtual void topologyChanged() = 0;\r
+ };\r
+\r
+ void addListener (Listener* l) { listeners.add (l); }\r
+ void removeListener (Listener* l) { listeners.remove (l); }\r
+\r
+ /** Invoke this to force touches-off on all physical devices. */\r
+ virtual void cancelAllActiveTouches() noexcept {}\r
+\r
+protected:\r
+ //==========================================================================\r
+ juce::ListenerList<Listener> listeners;\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+BitmapLEDProgram::BitmapLEDProgram (LEDGrid& lg) : Program (lg) {}\r
+\r
+/*\r
+ The heap format for this program is just an array of 15x15 5:6:5 colours,\r
+ and the program just copies them onto the screen each frame.\r
+*/\r
+\r
+void BitmapLEDProgram::setLED (uint32 x, uint32 y, LEDColour colour)\r
+{\r
+ auto w = (uint32) ledGrid.getNumColumns();\r
+ auto h = (uint32) ledGrid.getNumRows();\r
+\r
+ if (x < w && y < h)\r
+ {\r
+ auto bit = (x + y * w) * 16;\r
+\r
+ ledGrid.setDataBits (bit, 5, colour.getRed() >> 3);\r
+ ledGrid.setDataBits (bit + 5, 6, colour.getGreen() >> 2);\r
+ ledGrid.setDataBits (bit + 11, 5, colour.getBlue() >> 3);\r
+ }\r
+}\r
+\r
+uint32 BitmapLEDProgram::getHeapSize()\r
+{\r
+ return 15 * 15 * 16;\r
+}\r
+\r
+juce::String BitmapLEDProgram::getLittleFootProgram()\r
+{\r
+ auto program = R"littlefoot(\r
+\r
+ void repaint()\r
+ {\r
+ for (int y = 0; y < NUM_ROWS; ++y)\r
+ {\r
+ for (int x = 0; x < NUM_COLUMNS; ++x)\r
+ {\r
+ int bit = (x + y * NUM_COLUMNS) * 16;\r
+\r
+ setLED (x, y, makeARGB (255,\r
+ getHeapBits (bit, 5) << 3,\r
+ getHeapBits (bit + 5, 6) << 2,\r
+ getHeapBits (bit + 11, 5) << 3));\r
+ }\r
+ }\r
+ }\r
+\r
+ )littlefoot";\r
+\r
+ return juce::String (program)\r
+ .replace ("NUM_COLUMNS", juce::String (ledGrid.getNumColumns()))\r
+ .replace ("NUM_ROWS", juce::String (ledGrid.getNumRows()));\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+/**\r
+ A simple Program to set the colours of individual LEDs.\r
+*/\r
+struct BitmapLEDProgram : public LEDGrid::Program\r
+{\r
+ BitmapLEDProgram (LEDGrid&);\r
+\r
+ /** Set the colour of the LED at coordinates {x, y}. */\r
+ void setLED (uint32 x, uint32 y, LEDColour);\r
+\r
+private:\r
+ juce::String getLittleFootProgram() override;\r
+ uint32 getHeapSize() override;\r
+};\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+\r
+DrumPadGridProgram::DrumPadGridProgram (LEDGrid& lg) : Program (lg) {}\r
+\r
+int DrumPadGridProgram::getPadIndex (float posX, float posY) const\r
+{\r
+ posX = juce::jmin (0.99f, posX / ledGrid.block.getWidth());\r
+ posY = juce::jmin (0.99f, posY / ledGrid.block.getHeight());\r
+\r
+ const uint32 offset = ledGrid.getDataByte (visiblePads_byte) ? numColumns1_byte : numColumns0_byte;\r
+ const int numColumns = ledGrid.getDataByte (offset + numColumns0_byte);\r
+ const int numRows = ledGrid.getDataByte (offset + numRows0_byte);\r
+\r
+ return int (posX * numColumns) + int (posY * numRows) * numColumns;\r
+}\r
+\r
+void DrumPadGridProgram::startTouch (float startX, float startY)\r
+{\r
+ const auto padIdx = getPadIndex (startX, startY);\r
+\r
+ for (size_t i = 0; i < 4; ++i)\r
+ {\r
+ if (ledGrid.getDataByte (touchedPads_byte + i) == 0)\r
+ {\r
+ ledGrid.setDataByte (touchedPads_byte + i, static_cast<uint8> (padIdx + 1));\r
+ break;\r
+ }\r
+ }\r
+}\r
+\r
+void DrumPadGridProgram::endTouch (float startX, float startY)\r
+{\r
+ const auto padIdx = getPadIndex (startX, startY);\r
+\r
+ for (size_t i = 0; i < 4; ++i)\r
+ if (ledGrid.getDataByte (touchedPads_byte + i) == (padIdx + 1))\r
+ ledGrid.setDataByte (touchedPads_byte + i, 0);\r
+}\r
+\r
+void DrumPadGridProgram::sendTouch (float x, float y, float z, LEDColour colour)\r
+{\r
+ LEDGrid::ProgramEventMessage e;\r
+\r
+ e.values[0] = 0x20000000\r
+ + (juce::jlimit (0, 255, juce::roundToInt (x * (255.0f / ledGrid.block.getWidth()))) << 16)\r
+ + (juce::jlimit (0, 255, juce::roundToInt (y * (255.0f / ledGrid.block.getHeight()))) << 8)\r
+ + juce::jlimit (0, 255, juce::roundToInt (z * 255.0f));\r
+\r
+ e.values[1] = (int32) colour.getARGB();\r
+\r
+ ledGrid.sendProgramEvent (e);\r
+}\r
+\r
+//==============================================================================\r
+void DrumPadGridProgram::setGridFills (int numColumns, int numRows, const juce::Array<GridFill>& fills)\r
+{\r
+ uint8 visiblePads = ledGrid.getDataByte (visiblePads_byte);\r
+\r
+ setGridFills (numColumns, numRows, fills, visiblePads * numColumns1_byte);\r
+}\r
+\r
+void DrumPadGridProgram::setGridFills (int numColumns, int numRows, const juce::Array<GridFill>& fills, uint32 byteOffset)\r
+{\r
+ jassert (numColumns * numRows == fills.size());\r
+\r
+ ledGrid.setDataByte (byteOffset + numColumns0_byte, (uint8) numColumns);\r
+ ledGrid.setDataByte (byteOffset + numRows0_byte, (uint8) numRows);\r
+\r
+ uint32 i = 0;\r
+\r
+ for (auto fill : fills)\r
+ {\r
+ if (i >= maxNumPads)\r
+ {\r
+ jassertfalse;\r
+ break;\r
+ }\r
+\r
+ const uint32 colourOffsetBytes = byteOffset + colours0_byte + i * colourSizeBytes;\r
+ const uint32 colourOffsetBits = colourOffsetBytes * 8;\r
+\r
+ ledGrid.setDataBits (colourOffsetBits, 5, fill.colour.getRed() >> 3);\r
+ ledGrid.setDataBits (colourOffsetBits + 5, 6, fill.colour.getGreen() >> 2);\r
+ ledGrid.setDataBits (colourOffsetBits + 11, 5, fill.colour.getBlue() >> 3);\r
+\r
+ ledGrid.setDataByte (byteOffset + fillTypes0_byte + i, static_cast<uint8> (fill.fillType));\r
+\r
+ ++i;\r
+ }\r
+}\r
+\r
+void DrumPadGridProgram::triggerSlideTransition (int newNumColumns, int newNumRows,\r
+ const juce::Array<GridFill>& newFills, SlideDirection direction)\r
+{\r
+ uint8 newVisible = ledGrid.getDataByte (visiblePads_byte) ? 0 : 1;\r
+\r
+ setGridFills (newNumColumns, newNumRows, newFills, newVisible * numColumns1_byte);\r
+\r
+ ledGrid.setDataByte (visiblePads_byte, newVisible);\r
+ ledGrid.setDataByte (slideDirection_byte, (uint8) direction);\r
+}\r
+\r
+//==============================================================================\r
+void DrumPadGridProgram::setPadAnimationState (uint32 padIdx, double loopTimeSecs, double currentProgress)\r
+{\r
+ // Only 16 animated pads are supported.\r
+ jassert (padIdx < 16);\r
+\r
+ // Compensate for bluetooth latency & led resolution, tweaked by eye for POS app.\r
+ currentProgress = std::fmod (currentProgress + 0.1, 1.0);\r
+\r
+ uint16 aniValue = uint16 (juce::roundToInt ((255 << 8) * currentProgress));\r
+ uint16 aniIncrement = loopTimeSecs > 0.0 ? uint16 (juce::roundToInt (((255 << 8) / 25.0) / loopTimeSecs)) : 0;\r
+\r
+ uint32 offset = 8 * animationTimers_byte + 32 * padIdx;\r
+\r
+ ledGrid.setDataBits (offset, 16, aniValue);\r
+ ledGrid.setDataBits (offset + 16, 16, aniIncrement);\r
+}\r
+\r
+void DrumPadGridProgram::suspendAnimations()\r
+{\r
+ for (uint32 i = 0; i < 16; ++i)\r
+ {\r
+ uint32 offset = 8 * animationTimers_byte + 32 * i;\r
+ ledGrid.setDataBits (offset + 16, 16, 0);\r
+ }\r
+\r
+ // Hijack touch dimming\r
+ ledGrid.setDataByte (touchedPads_byte, 255);\r
+}\r
+\r
+void DrumPadGridProgram::resumeAnimations()\r
+{\r
+ // Unhijack touch dimming\r
+ ledGrid.setDataByte (touchedPads_byte, 0);\r
+}\r
+\r
+//==============================================================================\r
+uint32 DrumPadGridProgram::getHeapSize()\r
+{\r
+ return totalDataSize;\r
+}\r
+\r
+juce::String DrumPadGridProgram::getLittleFootProgram()\r
+{\r
+ return R"littlefoot(\r
+\r
+ int dimFactor;\r
+ int dimDelay;\r
+ int slideAnimationProgress;\r
+ int lastVisiblePads;\r
+\r
+ int getGridColour (int index, int colourMapOffset)\r
+ {\r
+ int bit = (2 + colourMapOffset) * 8 + index * 16;\r
+\r
+ return makeARGB (255,\r
+ getHeapBits (bit, 5) << 3,\r
+ getHeapBits (bit + 5, 6) << 2,\r
+ getHeapBits (bit + 11, 5) << 3);\r
+ }\r
+\r
+ // Returns the current progress and also increments it for next frame\r
+ int getAnimationProgress (int index)\r
+ {\r
+ // Only 16 animated pads supported\r
+ if (index > 15)\r
+ return 0;\r
+\r
+ int offsetBits = 162 * 8 + index * 32;\r
+\r
+ int currentProgress = getHeapBits (offsetBits, 16);\r
+ int increment = getHeapBits (offsetBits + 16, 16);\r
+ int nextFrame = currentProgress + increment;\r
+\r
+ // Set incremented 16 bit number.\r
+ setHeapByte (162 + index * 4, nextFrame & 0xff);\r
+ setHeapByte (163 + index * 4, nextFrame >> 8);\r
+\r
+ return currentProgress;\r
+ }\r
+\r
+ void outlineRect (int colour, int x, int y, int w)\r
+ {\r
+ fillRect (colour, x, y, w, 1);\r
+ fillRect (colour, x, y + w - 1, w, 1);\r
+ fillRect (colour, x, y + 1, 1, w - 1);\r
+ fillRect (colour, x + w - 1, y + 1, 1, w - 1);\r
+ }\r
+\r
+ void drawPlus (int colour, int x, int y, int w)\r
+ {\r
+ fillRect (colour, x, y + (w / 2), w, 1);\r
+ fillRect (colour, x + (w / 2), y, 1, w);\r
+ }\r
+\r
+ void fillGradientRect (int colour, int x, int y, int w)\r
+ {\r
+ if (colour != 0xff000000)\r
+ {\r
+ int divisor = w + w - 1;\r
+\r
+ for (int yy = 0; yy < w; ++yy)\r
+ {\r
+ for (int xx = yy; xx < w; ++xx)\r
+ {\r
+ int gradColour = blendARGB (colour, makeARGB (((xx + yy) * 250) / divisor, 0, 0, 0));\r
+\r
+ setLED (x + xx, y + yy, gradColour);\r
+ setLED (x + yy, y + xx, gradColour);\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ // TODO: Tom M: This is massaged to work with 3x3 pads and for dots to sync\r
+ // with Apple POS loop length. Rework to be more robust & flexible.\r
+ void drawPizzaLED (int colour, int x, int y, int w, int progress)\r
+ {\r
+ --w;\r
+ x += 1;\r
+\r
+ int numToDo = ((8 * progress) / 255) + 1;\r
+ int totalLen = w * 4;\r
+\r
+ for (int i = 1; i <= numToDo; ++i)\r
+ {\r
+ setLED (x, y, colour);\r
+\r
+ if (i < w)\r
+ ++x;\r
+ else if (i < (w * 2))\r
+ ++y;\r
+ else if (i < (w * 3))\r
+ --x;\r
+ else if (i < totalLen)\r
+ --y;\r
+ }\r
+ }\r
+\r
+ void drawPad (int padX, int padY, int padW,\r
+ int colour, int fill, int animateProgress)\r
+ {\r
+ animateProgress >>= 8; // 16 bit to 8 bit\r
+ int halfW = padW / 2;\r
+\r
+ if (fill == 0) // Gradient fill\r
+ {\r
+ fillGradientRect (colour, padX, padY, padW);\r
+ }\r
+\r
+ else if (fill == 1) // Filled\r
+ {\r
+ fillRect (colour, padX, padY, padW, padW);\r
+ }\r
+\r
+ else if (fill == 2) // Hollow\r
+ {\r
+ outlineRect (colour, padX, padY, padW);\r
+ }\r
+\r
+ else if (fill == 3) // Hollow with plus\r
+ {\r
+ outlineRect (colour, padX, padY, padW);\r
+ drawPlus (0xffffffff, padX, padY, padW);\r
+ }\r
+\r
+ else if (fill == 4) // Pulsing dot\r
+ {\r
+ int pulseCol = blendARGB (colour, makeARGB (animateProgress, 0, 0, 0));\r
+\r
+ setLED (padX + halfW, padY + halfW, pulseCol);\r
+ }\r
+\r
+ else if (fill == 5) // Blinking dot\r
+ {\r
+ int blinkCol = animateProgress > 64 ? makeARGB (255, 0, 0, 0) : colour;\r
+\r
+ setLED (padX + halfW, padY + halfW, blinkCol);\r
+ }\r
+\r
+ else if (fill == 6) // Pizza filled\r
+ {\r
+ outlineRect (blendARGB (colour, makeARGB (220, 0, 0, 0)), padX, padY, padW); // Dim outline\r
+ setLED (padX + halfW, padY + halfW, colour); // Bright centre\r
+\r
+ drawPizzaLED (colour, padX, padY, padW, animateProgress);\r
+ }\r
+\r
+ else if (fill == 7) // Pizza hollow\r
+ {\r
+ outlineRect (blendARGB (colour, makeARGB (220, 0, 0, 0)), padX, padY, padW); // Dim outline\r
+\r
+ drawPizzaLED (colour, padX, padY, padW, animateProgress);\r
+ return;\r
+ }\r
+ }\r
+\r
+ void fadeHeatMap()\r
+ {\r
+ for (int i = 0; i < 225; ++i)\r
+ {\r
+ int colourOffset = 226 + i * 4;\r
+ int colour = getHeapInt (colourOffset);\r
+ int alpha = (colour >> 24) & 0xff;\r
+\r
+ if (alpha > 0)\r
+ {\r
+ alpha -= getHeapByte (1126 + i);\r
+ setHeapInt (colourOffset, alpha < 0 ? 0 : ((alpha << 24) | (colour & 0xffffff)));\r
+ }\r
+ }\r
+ }\r
+\r
+ void addToHeatMap (int x, int y, int colour)\r
+ {\r
+ if (x >= 0 && y >= 0 && x < 15 && y < 15)\r
+ {\r
+ int offset = 226 + 4 * (x + y * 15);\r
+ colour = blendARGB (getHeapInt (offset), colour);\r
+ setHeapInt (offset, colour);\r
+\r
+ int decay = ((colour >> 24) & 0xff) / 14; // change divisor to change trail times\r
+ offset = 1126 + (x + y * 15);\r
+ setHeapByte (offset, decay > 0 ? decay : 1);\r
+ }\r
+ }\r
+\r
+ int getHeatmapColour (int x, int y)\r
+ {\r
+ return getHeapInt (226 + 4 * (x + y * 15));\r
+ }\r
+\r
+ int isPadActive (int index)\r
+ {\r
+ if (getHeapInt (158) == 0) // None active\r
+ return 0;\r
+\r
+ ++index;\r
+\r
+ return index == getHeapByte (158) ||\r
+ index == getHeapByte (159) ||\r
+ index == getHeapByte (160) ||\r
+ index == getHeapByte (161);\r
+ }\r
+\r
+ void updateDimFactor()\r
+ {\r
+ if (getHeapInt (158) == 0)\r
+ {\r
+ if (--dimDelay <= 0)\r
+ {\r
+ dimFactor -= 12;\r
+\r
+ if (dimFactor < 0)\r
+ dimFactor = 0;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ dimFactor = 180;\r
+ dimDelay = 12;\r
+ }\r
+ }\r
+\r
+ void drawPads (int offsetX, int offsetY, int colourMapOffset)\r
+ {\r
+ int padsPerSide = getHeapByte (0 + colourMapOffset);\r
+\r
+ if (padsPerSide < 2)\r
+ return;\r
+\r
+ int blockW = 15 / padsPerSide;\r
+ int blockPlusGapW = blockW + (15 - padsPerSide * blockW) / (padsPerSide - 1);\r
+\r
+ for (int padY = 0; padY < padsPerSide; ++padY)\r
+ {\r
+ for (int padX = 0; padX < padsPerSide; ++padX)\r
+ {\r
+ int ledX = offsetX + padX * blockPlusGapW;\r
+ int ledY = offsetY + padY * blockPlusGapW;\r
+\r
+ if (ledX < 15 &&\r
+ ledY < 15 &&\r
+ (ledX + blockW) >= 0 &&\r
+ (ledY + blockW) >= 0)\r
+ {\r
+ int padIdx = padX + padY * padsPerSide;\r
+ bool padActive = isPadActive (padIdx);\r
+\r
+ int blendCol = padActive ? 255 : 0;\r
+ int blendAmt = padActive ? dimFactor >> 1 : dimFactor;\r
+\r
+ int colour = blendARGB (getGridColour (padIdx, colourMapOffset),\r
+ makeARGB (blendAmt, blendCol, blendCol, blendCol));\r
+ int fillType = getHeapByte (colourMapOffset + 52 + padIdx);\r
+ int animate = getAnimationProgress (padIdx);\r
+\r
+ drawPad (ledX, ledY, blockW, colour, fillType, animate);\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ void slideAnimatePads()\r
+ {\r
+ int nowVisible = getHeapByte (155);\r
+\r
+ if (lastVisiblePads != nowVisible)\r
+ {\r
+ lastVisiblePads = nowVisible;\r
+\r
+ if (slideAnimationProgress <= 0)\r
+ slideAnimationProgress = 15;\r
+ }\r
+\r
+ // If animation is complete, draw normally.\r
+ if (slideAnimationProgress <= 0)\r
+ {\r
+ drawPads (0, 0, 78 * nowVisible);\r
+ slideAnimationProgress = 0;\r
+ }\r
+ else\r
+ {\r
+ int direction = getHeapByte (156);\r
+ slideAnimationProgress -= 1;\r
+\r
+ int inPos = nowVisible == 0 ? 0 : 78;\r
+ int outPos = nowVisible == 0 ? 78 : 0;\r
+\r
+ if (direction == 0) // Up\r
+ {\r
+ drawPads (0, slideAnimationProgress - 16, outPos);\r
+ drawPads (0, slideAnimationProgress, inPos);\r
+ }\r
+ else if (direction == 1) // Down\r
+ {\r
+ drawPads (0, 16 - slideAnimationProgress, outPos);\r
+ drawPads (0, 0 - slideAnimationProgress, inPos);\r
+ }\r
+ else if (direction == 2) // Left\r
+ {\r
+ drawPads (16 - slideAnimationProgress, 0, outPos);\r
+ drawPads (slideAnimationProgress, 0, inPos);\r
+ }\r
+ else if (direction == 3) // Right\r
+ {\r
+ drawPads (16 - slideAnimationProgress, 0, outPos);\r
+ drawPads (0 - slideAnimationProgress, 0, inPos);\r
+ }\r
+ else // None\r
+ {\r
+ drawPads (0, 0, 78 * nowVisible);\r
+ slideAnimationProgress = 0;\r
+ }\r
+ }\r
+ }\r
+\r
+ void repaint()\r
+ {\r
+ // showErrorOnFail, showRepaintTime, showMovingDot\r
+ //enableDebug (true, true, false);\r
+\r
+ // Clear LEDs to black, update dim animation\r
+ fillRect (0xff000000, 0, 0, 15, 15);\r
+ updateDimFactor();\r
+\r
+ // Does the main painting of pads\r
+ slideAnimatePads();\r
+\r
+ // Overlay heatmap\r
+ for (int y = 0; y < 15; ++y)\r
+ for (int x = 0; x < 15; ++x)\r
+ blendLED (x, y, getHeatmapColour (x, y));\r
+\r
+ fadeHeatMap();\r
+ }\r
+\r
+ // DrumPadGridProgram::sendTouch results in this callback, giving\r
+ // us more touch updates per frame and therefore smoother trails.\r
+ void handleMessage (int pos, int colour)\r
+ {\r
+ if ((pos >> 24) != 0x20)\r
+ return;\r
+\r
+ int tx = ((pos >> 16) & 0xff) - 13;\r
+ int ty = ((pos >> 8) & 0xff) - 13;\r
+\r
+ int tz = pos & 0xff;\r
+ tz = tz > 30 ? tz : 30;\r
+\r
+ int ledCentreX = tx >> 4;\r
+ int ledCentreY = ty >> 4;\r
+ int adjustX = (tx - (ledCentreX << 4)) >> 2;\r
+ int adjustY = (ty - (ledCentreY << 4)) >> 2;\r
+\r
+ for (int dy = -2; dy <= 2; ++dy)\r
+ {\r
+ for (int dx = -2; dx <= 2; ++dx)\r
+ {\r
+ int distance = dx * dx + dy * dy;\r
+ int level = distance == 0 ? 255 : (distance == 1 ? 132 : (distance < 5 ? 9 : (distance == 5 ? 2 : 0)));\r
+\r
+ level += (dx * adjustX);\r
+ level += (dy * adjustY);\r
+\r
+ level = (tz * level) >> 8;\r
+\r
+ if (level > 0)\r
+ addToHeatMap (ledCentreX + dx, ledCentreY + dy,\r
+ makeARGB (level, colour >> 16, colour >> 8, colour));\r
+ }\r
+ }\r
+ }\r
+\r
+ )littlefoot";\r
+}\r
--- /dev/null
+/*\r
+ ==============================================================================\r
+\r
+ This file is part of the JUCE library.\r
+ Copyright (c) 2016 - ROLI Ltd.\r
+\r
+ Permission is granted to use this software under the terms of either:\r
+ a) the GPL v2 (or any later version)\r
+ b) the Affero GPL v3\r
+\r
+ Details of these licenses can be found at: www.gnu.org/licenses\r
+\r
+ JUCE is distributed in the hope that it will be useful, but WITHOUT ANY\r
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\r
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r
+\r
+ ------------------------------------------------------------------------------\r
+\r
+ To release a closed-source product which uses JUCE, commercial licenses are\r
+ available: visit www.juce.com for more information.\r
+\r
+ ==============================================================================\r
+*/\r
+\r
+/**\r
+*/\r
+struct DrumPadGridProgram : public LEDGrid::Program\r
+{\r
+ DrumPadGridProgram (LEDGrid&);\r
+\r
+ //==============================================================================\r
+ /** These let the program dim pads which aren't having gestures performed on them. */\r
+\r
+ void startTouch (float startX, float startY);\r
+ void endTouch (float startX, float startY);\r
+\r
+ /** Creates trail effects similar to the onscreen pad trails. */\r
+ void sendTouch (float x, float y, float z, LEDColour);\r
+\r
+ //==============================================================================\r
+ /** Call this to match animations to the project tempo.\r
+\r
+ @param padIdx The pad to update. 16 animated pads are supported, so 0 - 15.\r
+ @param loopTimeSecs The length of time for the pad's animation to loop in seconds. 0 will stop the animation.\r
+ @param currentProgress The starting progress of the animation. 0.0 - 1.0.\r
+ */\r
+ void setPadAnimationState (uint32 padIdx, double loopTimeSecs, double currentProgress);\r
+\r
+ /** If the app needs to close down or suspend, use these to pause & dim animations. */\r
+ void suspendAnimations();\r
+ void resumeAnimations();\r
+\r
+ //==============================================================================\r
+ /** Set how each pad in the grid looks. */\r
+ struct GridFill\r
+ {\r
+ enum FillType : uint8\r
+ {\r
+ gradient = 0,\r
+ filled = 1,\r
+ hollow = 2,\r
+ hollowPlus = 3,\r
+\r
+ // Animated pads\r
+ dotPulsing = 4,\r
+ dotBlinking = 5,\r
+ pizzaFilled = 6,\r
+ pizzaHollow = 7,\r
+ };\r
+\r
+ LEDColour colour;\r
+ FillType fillType;\r
+ };\r
+\r
+ void setGridFills (int numColumns, int numRows,\r
+ const juce::Array<GridFill>&);\r
+\r
+ /** Set up a new pad layout, with a slide animation from the old to the new. */\r
+ enum SlideDirection : uint8\r
+ {\r
+ up = 0,\r
+ down = 1,\r
+ left = 2,\r
+ right = 3,\r
+\r
+ none = 255\r
+ };\r
+\r
+ void triggerSlideTransition (int newNumColumns, int newNumRows,\r
+ const juce::Array<GridFill>& newFills, SlideDirection);\r
+\r
+private:\r
+ //==============================================================================\r
+ /** Shared data heap is laid out as below. There is room for two sets of\r
+ pad layouts, colours and fill types to allow animation between two states. */\r
+\r
+ static constexpr uint32 numColumns0_byte = 0; // 1 byte\r
+ static constexpr uint32 numRows0_byte = 1; // 1 byte (ignored for the moment: always square pads to save cycles)\r
+ static constexpr uint32 colours0_byte = 2; // 2 byte x 25 (5:6:5 bits for rgb)\r
+ static constexpr uint32 fillTypes0_byte = 52; // 1 byte x 25\r
+\r
+ static constexpr uint32 numColumns1_byte = 78; // 1 byte\r
+ static constexpr uint32 numRows1_byte = 79; // 1 byte\r
+ static constexpr uint32 colours1_byte = 80; // 2 byte x 25 (5:6:5 bits for rgb)\r
+ static constexpr uint32 fillTypes1_byte = 130; // 1 byte x 25\r
+\r
+ static constexpr uint32 visiblePads_byte = 155; // 1 byte (i.e. which set of colours/fills to use, 0 or 1)\r
+ static constexpr uint32 slideDirection_byte = 156; // 1 byte\r
+ static constexpr uint32 touchedPads_byte = 158; // 1 byte x 4 (Zero means empty slot, so stores padIdx + 1)\r
+ static constexpr uint32 animationTimers_byte = 162; // 4 byte x 16 (16:16 bits counter:increment)\r
+ static constexpr uint32 heatMap_byte = 226; // 4 byte x 225\r
+ static constexpr uint32 heatDecayMap_byte = 1126; // 1 byte x 225\r
+\r
+ static constexpr uint32 maxNumPads = 25;\r
+ static constexpr uint32 colourSizeBytes = 2;\r
+ static constexpr uint32 heatMapSize = 15 * 15 * 4;\r
+ static constexpr uint32 heatMapDecaySize = 15 * 15;\r
+ static constexpr uint32 totalDataSize = heatDecayMap_byte + heatMapDecaySize;\r
+\r
+ int getPadIndex (float posX, float posY) const;\r
+ void setGridFills (int numColumns, int numRows, const juce::Array<GridFill>& fills, uint32 byteOffset);\r
+\r
+ juce::String getLittleFootProgram() override;\r
+ uint32 getHeapSize() override;\r
+};\r
\r
ID: juce_box2d\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE wrapper for the Box2D physics engine\r
description: The Box2D physics engine and some utility classes.\r
website: http://www.juce.com/juce\r
\r
jassert (data.elements != nullptr);\r
const int indexToRemove = int (elementToRemove - data.elements);\r
- jassert (isPositiveAndBelow (indexToRemove, numUsed));\r
+\r
+ if (! isPositiveAndBelow (indexToRemove, numUsed))\r
+ {\r
+ jassertfalse;\r
+ return;\r
+ }\r
\r
removeInternal (indexToRemove);\r
}\r
*/\r
ElementType remove (const int indexToRemove) noexcept\r
{\r
- return data.remove (indexToRemove);\r
+ return data.removeAndReturn (indexToRemove);\r
}\r
\r
/** Removes an item from the set.\r
use File::deleteFile() before opening the stream, or use setPosition(0)\r
after it's opened (although this won't truncate the file).\r
\r
+ Destroying a FileOutputStream object does not force the operating system\r
+ to write the buffered data to disk immediately. If this is required you\r
+ should call flush() before triggering the destructor.\r
+\r
@see TemporaryFile\r
*/\r
FileOutputStream (const File& fileToWriteTo,\r
\r
ID: juce_core\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE core classes\r
description: The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.\r
website: http://www.juce.com/juce\r
if (this != &other)\r
{\r
highestBit = other.getHighestBit();\r
- allocatedSize = (size_t) jmax ((size_t) numPreallocatedInts, sizeNeededToHold (highestBit));\r
+ const size_t newAllocatedSize = (size_t) jmax ((size_t) numPreallocatedInts, sizeNeededToHold (highestBit));\r
\r
- if (allocatedSize <= numPreallocatedInts)\r
+ if (newAllocatedSize <= numPreallocatedInts)\r
heapAllocation.free();\r
- else\r
- heapAllocation.malloc (allocatedSize);\r
+ else if (newAllocatedSize != allocatedSize)\r
+ heapAllocation.malloc (newAllocatedSize);\r
+\r
+ allocatedSize = newAllocatedSize;\r
\r
memcpy (getValues(), other.getValues(), sizeof (uint32) * allocatedSize);\r
negative = other.negative;\r
int64 nextInt64() noexcept;\r
\r
/** Returns the next random floating-point number.\r
- @returns a random value in the range 0 to 1.0\r
+ @returns a random value in the range 0 (inclusive) to 1.0 (exclusive)\r
*/\r
float nextFloat() noexcept;\r
\r
/** Returns the next random floating-point number.\r
- @returns a random value in the range 0 to 1.0\r
+ @returns a random value in the range 0 (inclusive) to 1.0 (exclusive)\r
*/\r
double nextDouble() noexcept;\r
\r
&& curl_easy_setopt (curl, CURLOPT_WRITEFUNCTION, StaticCurlWrite) == CURLE_OK\r
&& curl_easy_setopt (curl, CURLOPT_MAXREDIRS, static_cast<long> (maxRedirects)) == CURLE_OK\r
&& curl_easy_setopt (curl, CURLOPT_USERAGENT, userAgent.toRawUTF8()) == CURLE_OK\r
- && curl_easy_setopt (curl, CURLOPT_FOLLOWLOCATION, (maxRedirects > 0 ? 1 : 0)) == CURLE_OK)\r
+ && curl_easy_setopt (curl, CURLOPT_FOLLOWLOCATION, (maxRedirects > 0 ? 1 : 0)) == CURLE_OK\r
+ && curl_easy_setopt (curl, CURLOPT_COOKIEFILE, "") == CURLE_OK)\r
{\r
if (isPost)\r
{\r
has3DNow = (b & (1u << 31)) != 0;\r
hasSSE3 = (c & (1u << 0)) != 0;\r
hasSSSE3 = (c & (1u << 9)) != 0;\r
- hasSSE41 = (c & (1u << 20)) != 0;\r
- hasSSE42 = (c & (1u << 19)) != 0;\r
+ hasSSE41 = (c & (1u << 19)) != 0;\r
+ hasSSE42 = (c & (1u << 20)) != 0;\r
hasAVX = (c & (1u << 28)) != 0;\r
\r
SystemStatsHelpers::doCPUID (a, b, c, d, 7);\r
shouldStop = true;\r
\r
while (thread != 0 && thread != pthread_self())\r
+ {\r
+ // if the timer callback itself calls startTimer then we need\r
+ // to override this\r
+ shouldStop = true;\r
Thread::yield();\r
+ }\r
}\r
}\r
\r
while (! shouldStop)\r
{\r
clock.wait();\r
+\r
+ if (shouldStop)\r
+ break;\r
+\r
owner.hiResTimerCallback();\r
\r
if (lastPeriod != periodMs)\r
{\r
public:\r
Pimpl (const File& directory, const String& wildCard)\r
- : directoryWithWildCard (File::addTrailingSeparator (directory.getFullPathName()) + wildCard),\r
+ : directoryWithWildCard (directory.getFullPathName().isNotEmpty() ? File::addTrailingSeparator (directory.getFullPathName()) + wildCard : String()),\r
handle (INVALID_HANDLE_VALUE)\r
{\r
}\r
return String::fromUTF8 (utf8.getRawDataPointer(), utf8.size());\r
}\r
\r
-String URL::addEscapeChars (const String& s, const bool isParameter)\r
+String URL::addEscapeChars (const String& s, const bool isParameter, bool roundBracketsAreLegal)\r
{\r
- const CharPointer_UTF8 legalChars (isParameter ? "_-.*!'()"\r
- : ",$_-.*!'()");\r
+ String legalChars (isParameter ? "_-.*!'"\r
+ : ",$_-.*!'");\r
+\r
+ if (roundBracketsAreLegal)\r
+ legalChars += "()";\r
\r
Array<char> utf8 (s.toRawUTF8(), (int) s.getNumBytesAsUTF8());\r
\r
const char c = utf8.getUnchecked(i);\r
\r
if (! (CharacterFunctions::isLetterOrDigit (c)\r
- || legalChars.indexOf ((juce_wchar) c) >= 0))\r
+ || legalChars.containsChar ((juce_wchar) c)))\r
{\r
utf8.set (i, '%');\r
utf8.insert (++i, "0123456789ABCDEF" [((uint8) c) >> 4]);\r
\r
This is the opposite of removeEscapeChars().\r
\r
- If isParameter is true, it means that the string is going to be used\r
- as a parameter, so it also encodes '$' and ',' (which would otherwise\r
- be legal in a URL.\r
+ @param stringToAddEscapeCharsTo The string to escape.\r
+ @param isParameter If true then the string is going to be\r
+ used as a parameter, so it also encodes\r
+ '$' and ',' (which would otherwise be\r
+ legal in a URL.\r
+ @param roundBracketsAreLegal Technically round brackets are ok in URLs,\r
+ however, some servers (like AWS) also want\r
+ round brackets to be escaped.\r
\r
@see removeEscapeChars\r
*/\r
static String addEscapeChars (const String& stringToAddEscapeCharsTo,\r
- bool isParameter);\r
+ bool isParameter,\r
+ bool roundBracketsAreLegal = true);\r
\r
/** Replaces any escape character sequences in a string with their original\r
character codes.\r
See also SystemStats::getJUCEVersion() for a string version.\r
*/\r
#define JUCE_MAJOR_VERSION 4\r
-#define JUCE_MINOR_VERSION 2\r
-#define JUCE_BUILDNUMBER 4\r
+#define JUCE_MINOR_VERSION 3\r
+#define JUCE_BUILDNUMBER 0\r
\r
/** Current Juce version number.\r
\r
\r
bool SystemStats::isRunningInAppExtensionSandbox() noexcept\r
{\r
- #if JUCE_MAC || JUCE_IOS\r
- File bundle = File::getSpecialLocation (File::invokedExecutableFile).getParentDirectory();\r
+ #if JUCE_MAC || JUCE_IOS\r
+ static bool firstQuery = true;\r
+ static bool isRunningInAppSandbox = false;\r
\r
- #if JUCE_MAC\r
- bundle = bundle.getParentDirectory().getParentDirectory();\r
- #endif\r
+ if (firstQuery)\r
+ {\r
+ firstQuery = false;\r
\r
- if (bundle.isDirectory())\r
- return (bundle.getFileExtension() == ".appex");\r
- #endif\r
+ File bundle = File::getSpecialLocation (File::invokedExecutableFile).getParentDirectory();\r
\r
+ #if JUCE_MAC\r
+ bundle = bundle.getParentDirectory().getParentDirectory();\r
+ #endif\r
+\r
+ if (bundle.isDirectory())\r
+ isRunningInAppSandbox = (bundle.getFileExtension() == ".appex");\r
+ }\r
+\r
+ return isRunningInAppSandbox;\r
+ #else\r
return false;\r
+ #endif\r
}\r
MacOSX_10_9 = MacOSX | 9,\r
MacOSX_10_10 = MacOSX | 10,\r
MacOSX_10_11 = MacOSX | 11,\r
+ MacOSX_10_12 = MacOSX | 12,\r
\r
Win2000 = Windows | 1,\r
WinXP = Windows | 2,\r
/** Compares the identifier with a string. */\r
inline bool operator!= (StringRef other) const noexcept { return name != other; }\r
\r
+ /** Compares the identifier with a string. */\r
+ inline bool operator< (StringRef other) const noexcept { return name < other; }\r
+\r
+ /** Compares the identifier with a string. */\r
+ inline bool operator<= (StringRef other) const noexcept { return name <= other; }\r
+\r
+ /** Compares the identifier with a string. */\r
+ inline bool operator> (StringRef other) const noexcept { return name > other; }\r
+\r
+ /** Compares the identifier with a string. */\r
+ inline bool operator>= (StringRef other) const noexcept { return name >= other; }\r
+\r
/** Returns this identifier as a string. */\r
const String& toString() const noexcept { return name; }\r
\r
class ThreadPool::ThreadPoolThread : public Thread\r
{\r
public:\r
- ThreadPoolThread (ThreadPool& p)\r
- : Thread ("Pool"), currentJob (nullptr), pool (p)\r
+ ThreadPoolThread (ThreadPool& p, size_t stackSize = 0)\r
+ : Thread ("Pool", stackSize), currentJob (nullptr), pool (p)\r
{\r
}\r
\r
}\r
\r
//==============================================================================\r
-ThreadPool::ThreadPool (const int numThreads)\r
+ThreadPool::ThreadPool (const int numThreads, size_t threadStackSize)\r
{\r
jassert (numThreads > 0); // not much point having a pool without any threads!\r
\r
- createThreads (numThreads);\r
+ createThreads (numThreads, threadStackSize);\r
}\r
\r
ThreadPool::ThreadPool()\r
stopThreads();\r
}\r
\r
-void ThreadPool::createThreads (int numThreads)\r
+void ThreadPool::createThreads (int numThreads, size_t threadStackSize)\r
{\r
for (int i = jmax (1, numThreads); --i >= 0;)\r
- threads.add (new ThreadPoolThread (*this));\r
+ threads.add (new ThreadPoolThread (*this, threadStackSize));\r
\r
for (int i = threads.size(); --i >= 0;)\r
threads.getUnchecked(i)->startThread();\r
return jobs.size();\r
}\r
\r
+int ThreadPool::getNumThreads() const\r
+{\r
+ return threads.size();\r
+}\r
+\r
ThreadPoolJob* ThreadPool::getJob (const int index) const\r
{\r
const ScopedLock sl (lock);\r
//==============================================================================\r
/** Creates a thread pool.\r
Once you've created a pool, you can give it some jobs by calling addJob().\r
+\r
@param numberOfThreads the number of threads to run. These will be started\r
immediately, and will run until the pool is deleted.\r
+ @param threadStackSize the size of the stack of each thread. If this value\r
+ is zero then the default stack size of the OS will\r
+ be used.\r
*/\r
- ThreadPool (int numberOfThreads);\r
+ ThreadPool (int numberOfThreads, size_t threadStackSize = 0);\r
\r
/** Creates a thread pool with one thread per CPU core.\r
Once you've created a pool, you can give it some jobs by calling addJob().\r
int timeOutMilliseconds,\r
JobSelector* selectedJobsToRemove = nullptr);\r
\r
- /** Returns the number of jobs currently running or queued.\r
- */\r
+ /** Returns the number of jobs currently running or queued. */\r
int getNumJobs() const;\r
\r
+ /** Returns the number of threads assigned to this thread pool. */\r
+ int getNumThreads() const;\r
+\r
/** Returns one of the jobs in the queue.\r
\r
Note that this can be a very volatile list as jobs might be continuously getting shifted\r
bool runNextJob (ThreadPoolThread&);\r
ThreadPoolJob* pickNextJobToRun();\r
void addToDeleteList (OwnedArray<ThreadPoolJob>&, ThreadPoolJob*) const;\r
- void createThreads (int numThreads);\r
+ void createThreads (int numThreads, size_t threadStackSize = 0);\r
void stopThreads();\r
\r
// Note that this method has changed, and no longer has a parameter to indicate\r
data1 = r ^ p[0];\r
data2 = l ^ p[1];\r
}\r
+\r
+void BlowFish::encrypt (MemoryBlock& data) const\r
+{\r
+ const size_t size = data.getSize();\r
+ data.setSize (size + (8u - (size % 8u)));\r
+\r
+ int success = encrypt (data.getData(), size, data.getSize());\r
+\r
+ ignoreUnused (success);\r
+ jassert (success >= 0);\r
+}\r
+\r
+void BlowFish::decrypt (MemoryBlock& data) const\r
+{\r
+ const int newSize = decrypt (data.getData(), data.getSize());\r
+\r
+ if (newSize >= 0)\r
+ data.setSize (static_cast<size_t> (newSize));\r
+ else\r
+ jassertfalse;\r
+}\r
+\r
+int BlowFish::encrypt (void* data, size_t size, size_t bufferSize) const noexcept\r
+{\r
+ const int encryptedSize = pad (data, size, bufferSize);\r
+\r
+ if (encryptedSize >= 0 && apply (data, static_cast<size_t> (encryptedSize), &BlowFish::encrypt))\r
+ return encryptedSize;\r
+\r
+ return -1;\r
+}\r
+\r
+int BlowFish::decrypt (void* data, size_t size) const noexcept\r
+{\r
+ if (apply (data, size, &BlowFish::decrypt))\r
+ return unpad (data, size);\r
+\r
+ return -1;\r
+}\r
+\r
+bool BlowFish::apply (void* data, size_t size, void (BlowFish::*op) (uint32&, uint32&) const noexcept) const\r
+{\r
+ union AlignedAccessHelper\r
+ {\r
+ int8 byte[sizeof(uint32) * 2];\r
+ uint32 data[2];\r
+ };\r
+\r
+ if ((size % 8u) != 0u)\r
+ return false;\r
+\r
+ const size_t n = size / 8u;\r
+\r
+ AlignedAccessHelper* ptr = reinterpret_cast<AlignedAccessHelper*> (data);\r
+\r
+ for (size_t i = 0; i < n; ++i)\r
+ (this->*op) (ptr[i].data[0], ptr[i].data[1]);\r
+\r
+ return true;\r
+}\r
+\r
+int BlowFish::pad (void* data, size_t size, size_t bufferSize) noexcept\r
+{\r
+ // add padding according to https://tools.ietf.org/html/rfc2898#section-6.1.1\r
+ const uint8 paddingSize = 8u - (size % 8u);\r
+ const size_t n = size + paddingSize;\r
+\r
+ if (n > bufferSize)\r
+ return -1;\r
+\r
+ uint8* dst = reinterpret_cast<uint8*> (data);\r
+ for (size_t i = size; i < n; ++i)\r
+ dst[i] = paddingSize;\r
+\r
+ return static_cast<int> (n);\r
+}\r
+\r
+int BlowFish::unpad (const void* data, size_t size) noexcept\r
+{\r
+ if (size == 0)\r
+ return -1;\r
+\r
+ // remove padding according to https://tools.ietf.org/html/rfc2898#section-6.1.1\r
+ uint8 paddingSize = reinterpret_cast<const uint8*>(data)[size - 1u];\r
+\r
+ if (paddingSize == 0 || paddingSize > 8 || paddingSize > size)\r
+ return -1;\r
+\r
+ return static_cast<int> (size - static_cast<size_t>(paddingSize));\r
+}\r
+\r
+//==============================================================================\r
+#if JUCE_UNIT_TESTS\r
+\r
+class BlowFishTests : public UnitTest\r
+{\r
+public:\r
+ BlowFishTests() : UnitTest ("BlowFish") {}\r
+\r
+ static void fillMemoryBlockWithRandomData (MemoryBlock& block, Random& random)\r
+ {\r
+ const size_t n = block.getSize() / sizeof (int32);\r
+\r
+ uint8* dst = reinterpret_cast<uint8*> (block.getData());\r
+ for (size_t i = 0; i < n; ++i)\r
+ dst[i] = static_cast<uint8> (random.nextInt(255));\r
+ }\r
+\r
+ void expectEqualData (const void* dataA, const void* dataB, size_t size, const String& failureMessage)\r
+ {\r
+ const uint8* a = reinterpret_cast<const uint8*> (dataA);\r
+ const uint8* b = reinterpret_cast<const uint8*> (dataB);\r
+\r
+ for (size_t i = 0; i < size; ++i)\r
+ expectEquals ((int) a[i], (int) b[i], failureMessage);\r
+ }\r
+\r
+ void expectEqualMemoryBlocks (const MemoryBlock& a, const MemoryBlock& b, const String& failureMessage)\r
+ {\r
+ expectEquals ((int) a.getSize(), (int) b.getSize(), failureMessage);\r
+ expectEqualData (a.getData(), b.getData(), a.getSize(), failureMessage);\r
+ }\r
+\r
+ void encryptDecryptTest (const BlowFish& blowFish, void* data, size_t size, size_t bufferSize)\r
+ {\r
+ MemoryBlock copy (data, size);\r
+\r
+ int encryptedSize = blowFish.encrypt (data, size, bufferSize);\r
+ expectGreaterThan (encryptedSize, (int) size);\r
+ expectLessOrEqual (encryptedSize, (int) bufferSize);\r
+\r
+ int decryptedSize = blowFish.decrypt (data, static_cast<size_t> (encryptedSize));\r
+ expectEquals ((int) size, decryptedSize);\r
+\r
+ expectEqualData (data, copy.getData(), size, "Length/Content changed during encryption");\r
+ }\r
+\r
+ void encryptDecryptTest (const BlowFish& blowFish, MemoryBlock& data)\r
+ {\r
+ MemoryBlock copy (data);\r
+\r
+ blowFish.encrypt (data);\r
+ blowFish.decrypt (data);\r
+\r
+ expectEqualMemoryBlocks (data, copy, "Length/Content changed during encryption");\r
+ }\r
+\r
+ void encryptDecryptTest (const BlowFish& blowFish, const String& data)\r
+ {\r
+ MemoryBlock block (data.toRawUTF8(), static_cast<size_t> (data.length()));\r
+ encryptDecryptTest (blowFish, block);\r
+ }\r
+\r
+ void runTest() override\r
+ {\r
+ beginTest ("BlowFish");\r
+ Random random = getRandom();\r
+\r
+ for (int i = 0; i < 100; ++i)\r
+ {\r
+ const int keySize = (random.nextInt(17) + 1) * static_cast<int> (sizeof (uint32));\r
+ MemoryBlock key (static_cast<size_t> (keySize));\r
+ fillMemoryBlockWithRandomData (key, random);\r
+\r
+ BlowFish bf (key.getData(), keySize);\r
+\r
+ encryptDecryptTest (bf, "");\r
+ encryptDecryptTest (bf, "a");\r
+ encryptDecryptTest (bf, "Hello World!");\r
+\r
+ const int minSize = 8 + sizeof (void*);\r
+ const int dataSize = random.nextInt (2048 - minSize) + minSize;\r
+ MemoryBlock data (static_cast<size_t> (dataSize));\r
+ fillMemoryBlockWithRandomData (data, random);\r
+\r
+ encryptDecryptTest (bf, data);\r
+ encryptDecryptTest (bf, data.getData(), data.getSize() - 8, data.getSize());\r
+ encryptDecryptTest (bf, data.getData(), 0, 8);\r
+\r
+\r
+ // test unaligned data encryption/decryption\r
+ const uintptr_t nudge = static_cast<uintptr_t> (random.nextInt (sizeof(void*) - 1));\r
+ void* unalignedData = (void*) (reinterpret_cast<uintptr_t> (data.getData()) + nudge);\r
+ size_t newSize = data.getSize() - nudge;\r
+\r
+ encryptDecryptTest (bf, unalignedData, newSize - 8, newSize);\r
+ }\r
+ }\r
+};\r
+\r
+static BlowFishTests blowFishUnitTests;\r
+\r
+#endif\r
/** Decrypts a pair of 32-bit integers. */\r
void decrypt (uint32& data1, uint32& data2) const noexcept;\r
\r
+ //==============================================================================\r
+ /** Encrypts a memory block */\r
+ void encrypt (MemoryBlock& data) const;\r
+\r
+ /** Decrypts a memory block */\r
+ void decrypt (MemoryBlock& data) const;\r
+\r
+ //==============================================================================\r
+ /** Encrypts data in-place\r
+\r
+ @param buffer The message that should be encrypted. See bufferSize on size\r
+ requirements!\r
+ @param sizeOfMsg The size of the message that should be encrypted in bytes\r
+ @param bufferSize The size of the buffer in bytes. To accomadate the encypted\r
+ data, the buffer must be larger than the message: the size of\r
+ the buffer needs to be equal or greater than the size of the\r
+ message in bytes rounded to the next integer which is divisable\r
+ by eight. If the message size in bytes is already divisable by eight\r
+ then you need to add eight bytes to the buffer size. If in doubt\r
+ simply use bufferSize = sizeOfMsg + 8.\r
+\r
+ @returns The size of the decrypted data in bytes or -1 if the decryption failed.\r
+ */\r
+ int encrypt (void* buffer, size_t sizeOfMsg, size_t bufferSize) const noexcept;\r
+\r
+ /** Decrypts data in-place\r
+\r
+ @param buffer The encrypted data that should be decrypted\r
+ @param bytes The size of the encrypted data in bytes\r
+\r
+ @returns The size of the decrypted data in bytes or -1 if the decryption failed.\r
+ */\r
+ int decrypt (void* buffer, size_t bytes) const noexcept;\r
\r
private:\r
+ //==============================================================================\r
+ static int pad (void*, size_t, size_t) noexcept;\r
+ static int unpad (const void*, size_t) noexcept;\r
+\r
+ bool apply (void*, size_t, void (BlowFish::*op) (uint32&, uint32&) const noexcept) const;\r
+\r
//==============================================================================\r
uint32 p[18];\r
HeapBlock<uint32> s[4];\r
\r
ID: juce_cryptography\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE cryptography classes\r
description: Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.\r
website: http://www.juce.com/juce\r
\r
ID: juce_data_structures\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE data model helper classes\r
description: Classes for undo/redo management, and smart data structures.\r
website: http://www.juce.com/juce\r
template <typename Type>\r
inline void CachedValue<Type>::setValue (const Type& newValue, UndoManager* undoManagerToUse)\r
{\r
- if (cachedValue != newValue)\r
+ if (cachedValue != newValue || isUsingDefault())\r
{\r
cachedValue = newValue;\r
targetTree.setProperty (targetProperty, VariantConverter<Type>::toVar (newValue), undoManagerToUse);\r
\r
ID: juce_events\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE message and event handling classes\r
description: Classes for running an application's main event loop and sending/receiving messages, timers, etc.\r
website: http://www.juce.com/juce\r
{\r
lowResamplingQuality = 0, /**< Just uses a nearest-neighbour algorithm for resampling. */\r
mediumResamplingQuality = 1, /**< Uses bilinear interpolation for upsampling and area-averaging for downsampling. */\r
- highResamplingQuality = 2 /**< Uses bicubic interpolation for upsampling and area-averaging for downsampling. */\r
+ highResamplingQuality = 2, /**< Uses bicubic interpolation for upsampling and area-averaging for downsampling. */\r
};\r
\r
/** Changes the quality that will be used when resampling images.\r
/** Draws an image to fit within a designated rectangle.\r
\r
@param imageToDraw the source image to draw\r
- @param destArea the target rectangle to fit it into\r
+ @param targetArea the target rectangle to fit it into\r
@param placementWithinTarget this specifies how the image should be positioned\r
within the target rectangle - see the RectanglePlacement\r
class for more details about this.\r
const bool isSolid = ((dashNum & 1) == 0);\r
const float dashLen = dashLengths [dashNum++ % numDashLengths];\r
\r
- jassert (dashLen > 0); // must be a positive increment!\r
+ jassert (dashLen >= 0); // must be a positive increment!\r
if (dashLen <= 0)\r
- break;\r
+ continue;\r
\r
pos += dashLen;\r
\r
\r
ID: juce_graphics\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE graphics classes\r
description: Classes for 2D vector graphics, image loading/saving, font handling, etc.\r
website: http://www.juce.com/juce\r
uint32 c = 256 * 128;\r
c += src[0] * ((256 - subPixelX) * (256 - subPixelY));\r
src += this->srcData.pixelStride;\r
- c += src[1] * (subPixelX * (256 - subPixelY));\r
+ c += src[0] * (subPixelX * (256 - subPixelY));\r
src += this->srcData.lineStride;\r
- c += src[1] * (subPixelX * subPixelY);\r
+ c += src[0] * (subPixelX * subPixelY);\r
src -= this->srcData.pixelStride;\r
\r
c += src[0] * ((256 - subPixelX) * subPixelY);\r
\r
void CoreGraphicsContext::setInterpolationQuality (Graphics::ResamplingQuality quality)\r
{\r
- CGContextSetInterpolationQuality (context, quality == Graphics::lowResamplingQuality\r
- ? kCGInterpolationLow\r
- : kCGInterpolationHigh);\r
+ switch (quality)\r
+ {\r
+ case Graphics::lowResamplingQuality: CGContextSetInterpolationQuality (context, kCGInterpolationNone); return;\r
+ case Graphics::mediumResamplingQuality: CGContextSetInterpolationQuality (context, kCGInterpolationMedium); return;\r
+ case Graphics::highResamplingQuality: CGContextSetInterpolationQuality (context, kCGInterpolationHigh); return;\r
+ default: return;\r
+ }\r
}\r
\r
//==============================================================================\r
ascent (0.0f),\r
unitsToHeightScaleFactor (0.0f)\r
{\r
- CFDataRef cfData = CFDataCreate (kCFAllocatorDefault, (const UInt8*) data, (CFIndex) dataSize);\r
+ CFDataRef cfData = CFDataCreateWithBytesNoCopy (kCFAllocatorDefault, (const UInt8*) data, (CFIndex) dataSize, kCFAllocatorNull);\r
CGDataProviderRef provider = CGDataProviderCreateWithCFData (cfData);\r
CFRelease (cfData);\r
\r
\r
if (child.isVisible() && ! child.isTransformed())\r
{\r
- const Rectangle<int> newClip (clipRect.getIntersection (child.bounds));\r
+ const Rectangle<int> newClip (clipRect.getIntersection (child.boundsRelativeToParent));\r
\r
if (! newClip.isEmpty())\r
{\r
\r
Desktop::getInstance().addDesktopComponent (this);\r
\r
- bounds.setPosition (topLeft);\r
+ boundsRelativeToParent.setPosition (topLeft);\r
peer->updateBounds();\r
\r
if (oldRenderingEngine >= 0)\r
}\r
\r
//==============================================================================\r
-int Component::proportionOfWidth (const float proportion) const noexcept { return roundToInt (proportion * bounds.getWidth()); }\r
-int Component::proportionOfHeight (const float proportion) const noexcept { return roundToInt (proportion * bounds.getHeight()); }\r
+int Component::proportionOfWidth (const float proportion) const noexcept { return roundToInt (proportion * boundsRelativeToParent.getWidth()); }\r
+int Component::proportionOfHeight (const float proportion) const noexcept { return roundToInt (proportion * boundsRelativeToParent.getHeight()); }\r
\r
int Component::getParentWidth() const noexcept\r
{\r
repaintParent();\r
}\r
\r
- bounds.setBounds (x, y, w, h);\r
+ boundsRelativeToParent.setBounds (x, y, w, h);\r
\r
if (showing)\r
{\r
//==============================================================================\r
Rectangle<int> Component::getLocalBounds() const noexcept\r
{\r
- return bounds.withZeroOrigin();\r
+ return boundsRelativeToParent.withZeroOrigin();\r
}\r
\r
Rectangle<int> Component::getBoundsInParent() const noexcept\r
{\r
- return affineTransform == nullptr ? bounds\r
- : bounds.transformedBy (*affineTransform);\r
+ return affineTransform == nullptr ? boundsRelativeToParent\r
+ : boundsRelativeToParent.transformedBy (*affineTransform);\r
}\r
\r
//==============================================================================\r
bounds will no longer be a direct reflection of the position at which it appears within\r
its parent, as the transform will be applied to its bounding box.\r
*/\r
- int getX() const noexcept { return bounds.getX(); }\r
+ int getX() const noexcept { return boundsRelativeToParent.getX(); }\r
\r
/** Returns the y coordinate of the top of this component.\r
This is a distance in pixels from the top edge of the component's parent.\r
bounds will no longer be a direct reflection of the position at which it appears within\r
its parent, as the transform will be applied to its bounding box.\r
*/\r
- int getY() const noexcept { return bounds.getY(); }\r
+ int getY() const noexcept { return boundsRelativeToParent.getY(); }\r
\r
/** Returns the component's width in pixels. */\r
- int getWidth() const noexcept { return bounds.getWidth(); }\r
+ int getWidth() const noexcept { return boundsRelativeToParent.getWidth(); }\r
\r
/** Returns the component's height in pixels. */\r
- int getHeight() const noexcept { return bounds.getHeight(); }\r
+ int getHeight() const noexcept { return boundsRelativeToParent.getHeight(); }\r
\r
/** Returns the x coordinate of the component's right-hand edge.\r
This is a distance in pixels from the left edge of the component's parent.\r
bounds will no longer be a direct reflection of the position at which it appears within\r
its parent, as the transform will be applied to its bounding box.\r
*/\r
- int getRight() const noexcept { return bounds.getRight(); }\r
+ int getRight() const noexcept { return boundsRelativeToParent.getRight(); }\r
\r
/** Returns the component's top-left position as a Point. */\r
- Point<int> getPosition() const noexcept { return bounds.getPosition(); }\r
+ Point<int> getPosition() const noexcept { return boundsRelativeToParent.getPosition(); }\r
\r
/** Returns the y coordinate of the bottom edge of this component.\r
This is a distance in pixels from the top edge of the component's parent.\r
bounds will no longer be a direct reflection of the position at which it appears within\r
its parent, as the transform will be applied to its bounding box.\r
*/\r
- int getBottom() const noexcept { return bounds.getBottom(); }\r
+ int getBottom() const noexcept { return boundsRelativeToParent.getBottom(); }\r
\r
/** Returns this component's bounding box.\r
The rectangle returned is relative to the top-left of the component's parent.\r
bounds will no longer be a direct reflection of the position at which it appears within\r
its parent, as the transform will be applied to its bounding box.\r
*/\r
- const Rectangle<int>& getBounds() const noexcept { return bounds; }\r
+ const Rectangle<int>& getBounds() const noexcept { return boundsRelativeToParent; }\r
\r
/** Returns the component's bounds, relative to its own origin.\r
This is like getBounds(), but returns the rectangle in local coordinates, In practice, it'll\r
//==============================================================================\r
String componentName, componentID;\r
Component* parentComponent;\r
- Rectangle<int> bounds;\r
+ Rectangle<int> boundsRelativeToParent;\r
ScopedPointer<Positioner> positioner;\r
ScopedPointer<AffineTransform> affineTransform;\r
Array<Component*> childComponentList;\r
\r
ID: juce_gui_basics\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE GUI core classes\r
description: Basic user-interface components and related classes.\r
website: http://www.juce.com/juce\r
{\r
auto currentLength = containerLineLength;\r
int column = 0, row = 0;\r
+ bool firstRow = true;\r
\r
for (auto& item : itemStates)\r
{\r
\r
if (flexitemLength > currentLength)\r
{\r
- if (++row >= numItems)\r
+ if (! firstRow)\r
+ row++;\r
+\r
+ if (row >= numItems)\r
break;\r
\r
column = 0;\r
lineItems[row * numItems + column] = &item;\r
++column;\r
lineInfo[row].numItems = jmax (lineInfo[row].numItems, column);\r
+ firstRow = false;\r
}\r
}\r
}\r
TreeView::backgroundColourId, 0x00000000,\r
TreeView::dragAndDropIndicatorColourId, 0x80ff0000,\r
TreeView::selectedItemBackgroundColourId, 0x00000000,\r
+ TreeView::oddItemsColourId, 0x00000000,\r
+ TreeView::evenItemsColourId, 0x00000000,\r
\r
PopupMenu::backgroundColourId, 0xffffffff,\r
PopupMenu::textColourId, 0xff000000,\r
return Desktop::upright;\r
}\r
\r
+ static UIInterfaceOrientation convertFromJuce (Desktop::DisplayOrientation orientation)\r
+ {\r
+ switch (orientation)\r
+ {\r
+ case Desktop::upright: return UIInterfaceOrientationPortrait;\r
+ case Desktop::upsideDown: return UIInterfaceOrientationPortraitUpsideDown;\r
+ case Desktop::rotatedClockwise: return UIInterfaceOrientationLandscapeLeft;\r
+ case Desktop::rotatedAntiClockwise: return UIInterfaceOrientationLandscapeRight;\r
+ default: jassertfalse; // unknown orientation!\r
+ }\r
+\r
+ return UIInterfaceOrientationPortrait;\r
+ }\r
+\r
static CGAffineTransform getCGTransformFor (const Desktop::DisplayOrientation orientation) noexcept\r
{\r
if (isUsingOldRotationMethod())\r
}\r
}\r
\r
-void Desktop::allowedOrientationsChanged() {}\r
+void Desktop::allowedOrientationsChanged()\r
+{\r
+ // if the current orientation isn't allowed anymore then switch orientations\r
+ if (! isOrientationEnabled (getCurrentOrientation()))\r
+ {\r
+ DisplayOrientation orientations[] = { upright, upsideDown, rotatedClockwise, rotatedAntiClockwise };\r
+\r
+ const int n = sizeof (orientations) / sizeof (DisplayOrientation);\r
+ int i;\r
+\r
+ for (i = 0; i < n; ++i)\r
+ if (isOrientationEnabled (orientations[i]))\r
+ break;\r
+\r
+\r
+ // you need to support at least one orientation\r
+ jassert (i < n);\r
+ i = jmin (n - 1, i);\r
+\r
+ NSNumber *value = [NSNumber numberWithInt:Orientations::convertFromJuce (orientations[i])];\r
+ [[UIDevice currentDevice] setValue:value forKey:@"orientation"];\r
+ [value release];\r
+ }\r
+}\r
\r
//==============================================================================\r
void UIViewComponentPeer::repaint (const Rectangle<int>& area)\r
\r
void Process::setDockIconVisible (bool isVisible)\r
{\r
- #if defined (MAC_OS_X_VERSION_10_6) && (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6)\r
- [NSApp setActivationPolicy: isVisible ? NSApplicationActivationPolicyRegular\r
- : NSApplicationActivationPolicyProhibited];\r
- #else\r
- ignoreUnused (isVisible);\r
- jassertfalse; // sorry, not available in 10.5!\r
- #endif\r
+ ProcessSerialNumber psn { 0, kCurrentProcess };\r
+ ProcessApplicationTransformState state = isVisible\r
+ ? kProcessTransformToForegroundApplication\r
+ : kProcessTransformToUIElementApplication;\r
+\r
+ OSStatus err = TransformProcessType (&psn, state);\r
+\r
+ jassert (err == 0);\r
+ ignoreUnused (err);\r
}\r
\r
bool Desktop::isOSXDarkModeActive()\r
if (isKeyDown (VK_SHIFT)) keyMods |= ModifierKeys::shiftModifier;\r
if (isKeyDown (VK_CONTROL)) keyMods |= ModifierKeys::ctrlModifier;\r
if (isKeyDown (VK_MENU)) keyMods |= ModifierKeys::altModifier;\r
- if (isKeyDown (VK_RMENU)) keyMods &= ~(ModifierKeys::ctrlModifier | ModifierKeys::altModifier);\r
+\r
+ // workaround: Windows maps AltGr to left-Ctrl + right-Alt.\r
+ if (isKeyDown (VK_RMENU) && !isKeyDown (VK_RCONTROL))\r
+ {\r
+ keyMods = (keyMods & ~ModifierKeys::ctrlModifier) | ModifierKeys::altModifier;\r
+ }\r
\r
currentModifiers = currentModifiers.withOnlyMouseButtons().withFlags (keyMods);\r
}\r
\r
void TextEditor::lookAndFeelChanged()\r
{\r
+ colourChanged();\r
+\r
caret = nullptr;\r
recreateCaret();\r
repaint();\r
}\r
\r
+void TextEditor::parentHierarchyChanged()\r
+{\r
+ lookAndFeelChanged();\r
+}\r
+\r
void TextEditor::enablementChanged()\r
{\r
recreateCaret();\r
/** @internal */\r
void lookAndFeelChanged() override;\r
/** @internal */\r
+ void parentHierarchyChanged() override;\r
+ /** @internal */\r
bool isTextInputActive() const override;\r
/** @internal */\r
void setTemporaryUnderlining (const Array<Range<int> >&) override;\r
{\r
if (isSelected())\r
g.fillAll (ownerView->findColour (TreeView::selectedItemBackgroundColourId));\r
+ else\r
+ g.fillAll ((getRowNumberInTree() % 2 == 0) ? ownerView->findColour (TreeView::oddItemsColourId)\r
+ : ownerView->findColour (TreeView::evenItemsColourId));\r
\r
paintItem (g, itemWidth < 0 ? width - indent : itemWidth, itemHeight);\r
}\r
backgroundColourId = 0x1000500, /**< A background colour to fill the component with. */\r
linesColourId = 0x1000501, /**< The colour to draw the lines with.*/\r
dragAndDropIndicatorColourId = 0x1000502, /**< The colour to use for the drag-and-drop target position indicator. */\r
- selectedItemBackgroundColourId = 0x1000503 /**< The colour to use to fill the background of any selected items. */\r
+ selectedItemBackgroundColourId = 0x1000503, /**< The colour to use to fill the background of any selected items. */\r
+ oddItemsColourId = 0x1000504, /**< The colour to use to fill the backround of the odd numbered items. */\r
+ evenItemsColourId = 0x1000505 /**< The colour to use to fill the backround of the even numbered items. */\r
};\r
\r
//==============================================================================\r
\r
if (wasMoved || wasResized)\r
{\r
- component.bounds = newBounds;\r
+ component.boundsRelativeToParent = newBounds;\r
\r
if (wasResized)\r
component.repaint();\r
\r
ID: juce_gui_extra\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE extended GUI classes\r
description: Miscellaneous GUI classes for specialised tasks.\r
website: http://www.juce.com/juce\r
valueEditor.setText (v.getStringValue (wasHex), dontSendNotification);\r
valueEditor.addListener (this);\r
sourceEditor.setReadOnly (true);\r
+ sourceEditor.setFont (sourceEditor.getFont().withHeight (13.0f));\r
resetButton.addListener (this);\r
}\r
\r
\r
NSView* const view;\r
\r
+ typedef ReferenceCountedObjectPtr<NSViewAttachment> Ptr;\r
private:\r
Component& owner;\r
ComponentPeer* currentPeer;\r
{\r
if (view != getView())\r
{\r
+ NSViewAttachment::Ptr old = attachment;\r
+\r
attachment = nullptr;\r
\r
if (view != nullptr)\r
attachment = attachViewToComponent (*this, view);\r
+\r
+ old = nullptr;\r
}\r
}\r
\r
\r
ID: juce_opengl\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE OpenGL classes\r
description: Classes for rendering OpenGL in a JUCE window.\r
website: http://www.juce.com/juce\r
\r
ID: juce_osc\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE OSC classes\r
description: Open Sound Control implementation.\r
website: http://www.juce.com/juce\r
license: GPL/Commercial\r
\r
- dependencies: juce_core\r
+ dependencies: juce_core, juce_events\r
\r
END_JUCE_MODULE_DECLARATION\r
\r
\r
ID: juce_tracktion_marketplace\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE Tracktion marketplace support\r
description: Classes for online product authentication via the Tracktion marketplace.\r
website: http://www.juce.com/juce\r
\r
ID: juce_video\r
vendor: juce\r
- version: 4.2.4\r
+ version: 4.3.0\r
name: JUCE video playback and capture classes\r
description: Classes for playing video and capturing camera input.\r
website: http://www.juce.com/juce\r